Merge remote-tracking branch 'origin/2.x' into 'origin/3.0'

Signed-off-by: Maxim Nesen <maxim.nesen@oracle.com>
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 1aaf848..7763e3e 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -42,7 +42,7 @@
         secLoc=`find $JAVA_HOME -name java.security`
         sed -i 's/jdk.tls.disabledAlgorithms/# jdk.tls.disabledAlgorithms/g' -i $secLoc
     - name: Build
-      run: mvn -V -U -B ${{matrix.verify_profiles}} org.eclipse.dash:license-tool-plugin:license-check -DexcludeArtifactIds=bsh,jmh-core,jmh-generator-annprocess,swing-layout
+      run: mvn -V -U -B ${{matrix.verify_profiles}} org.eclipse.dash:license-tool-plugin:license-check -DexcludeArtifactIds=bsh,jmh-core,jmh-generator-annprocess,swing-layout -pl '!:version-agnostic'
     - name: Upload license-check info
       uses: actions/upload-artifact@v4
       with:
diff --git a/NOTICE.md b/NOTICE.md
index e94c5ea..1f66e07 100644
--- a/NOTICE.md
+++ b/NOTICE.md
@@ -41,13 +41,13 @@
 * Project: http://aopalliance.sourceforge.net

 * Copyright: Material in the public domain is not protected by copyright

 

-Bean Validation API 2.0.2

+Bean Validation API 3.0.2

 * License: Apache License, 2.0

 * Project: http://beanvalidation.org/1.1/

 * Copyright: 2009, Red Hat, Inc. and/or its affiliates, and individual contributors

 * by the @authors tag.

 

-Hibernate Validator CDI, 6.2.5.Final 

+Hibernate Validator CDI, 7.0.5.Final

 * License: Apache License, 2.0

 * Project: https://beanvalidation.org/

 * Repackaged in org.glassfish.jersey.server.validation.internal.hibernate

@@ -61,7 +61,7 @@
 * License: Apache License, 2.0

 * Copyright (C) 2009 The Guava Authors

 

-javax.inject Version: 1

+jakarta.inject Version: 1

 * License: Apache License, 2.0

 * Copyright (C) 2009 The JSR-330 Expert Group

 

diff --git a/archetypes/jersey-example-java8-webapp/pom.xml b/archetypes/jersey-example-java8-webapp/pom.xml
index 3cb45b7..6d0233b 100644
--- a/archetypes/jersey-example-java8-webapp/pom.xml
+++ b/archetypes/jersey-example-java8-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.archetypes</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-example-java8-webapp</artifactId>
diff --git a/archetypes/jersey-example-java8-webapp/src/main/resources/archetype-resources/src/main/java/MyApplication.java b/archetypes/jersey-example-java8-webapp/src/main/resources/archetype-resources/src/main/java/MyApplication.java
index a4e0655..465c3a5 100644
--- a/archetypes/jersey-example-java8-webapp/src/main/resources/archetype-resources/src/main/java/MyApplication.java
+++ b/archetypes/jersey-example-java8-webapp/src/main/resources/archetype-resources/src/main/java/MyApplication.java
@@ -2,7 +2,7 @@
 #set( $symbol_dollar = '$' )
 #set( $symbol_escape = '\' )
 /*
- * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 
 package ${package};
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.filter.LoggingFilter;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/archetypes/jersey-heroku-webapp/pom.xml b/archetypes/jersey-heroku-webapp/pom.xml
index 172830e..176eefd 100644
--- a/archetypes/jersey-heroku-webapp/pom.xml
+++ b/archetypes/jersey-heroku-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.archetypes</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <packaging>maven-archetype</packaging>
 
diff --git a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/pom.xml b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/pom.xml
index 6bcec71..2bd8946 100644
--- a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/pom.xml
@@ -67,13 +67,14 @@
                 <version>3.8.1</version>
                 <inherited>true</inherited>
                 <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
+                    <source>11</source>
+                    <target>11</target>
                 </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
+                <version>2.8</version>
                 <executions>
                     <execution>
                         <id>copy-dependencies</id>
@@ -116,9 +117,9 @@
 
     <properties>
         <jersey.version>${project.version}</jersey.version>
-        <jetty.version>9.4.54.v20240208</jetty.version>
+        <jetty.version>11.0.20</jetty.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <surefire.mvn.plugin.version>3.1.2</surefire.mvn.plugin.version>
+        <surefire.mvn.plugin.version>3.2.1</surefire.mvn.plugin.version>
         <war.mvn.plugin.version>3.4.0</war.mvn.plugin.version>
     </properties>
 </project>
diff --git a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/main/java/MyResource.java b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/main/java/MyResource.java
index 9da0396..67051f9 100644
--- a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/main/java/MyResource.java
+++ b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/main/java/MyResource.java
@@ -1,9 +1,9 @@
 package ${package};
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Root resource (exposed at "myresource" path)
diff --git a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
index 8826a46..9ec8e9f 100644
--- a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
+++ b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-        version="3.0">
+<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+        version="5.0">
 
     <servlet>
         <servlet-name>Jersey Web Application</servlet-name>
diff --git a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/test/java/MyResourceTest.java b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/test/java/MyResourceTest.java
index 1212f6f..3ed409e 100644
--- a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/test/java/MyResourceTest.java
+++ b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/src/test/java/MyResourceTest.java
@@ -1,6 +1,6 @@
 package ${package};
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/system.properties b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/system.properties
index 916c446..180a273 100644
--- a/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/system.properties
+++ b/archetypes/jersey-heroku-webapp/src/main/resources/archetype-resources/system.properties
@@ -1 +1 @@
-java.runtime.version=1.8
\ No newline at end of file
+java.runtime.version=11
\ No newline at end of file
diff --git a/archetypes/jersey-quickstart-grizzly2/pom.xml b/archetypes/jersey-quickstart-grizzly2/pom.xml
index f19d1af..c777ef4 100644
--- a/archetypes/jersey-quickstart-grizzly2/pom.xml
+++ b/archetypes/jersey-quickstart-grizzly2/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.glassfish.jersey.archetypes</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <artifactId>jersey-quickstart-grizzly2</artifactId>
     <packaging>maven-archetype</packaging>
diff --git a/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/pom.xml b/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/pom.xml
index 5bd5c9b..54e18cd 100644
--- a/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/pom.xml
@@ -85,6 +85,6 @@
         <jersey.version>${project.version}</jersey.version>
         <junit-jupiter.version>5.10.2</junit-jupiter.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <surefire.mvn.plugin.version>3.1.2</surefire.mvn.plugin.version>
+        <surefire.mvn.plugin.version>3.2.1</surefire.mvn.plugin.version>
     </properties>
 </project>
diff --git a/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/src/main/java/MyResource.java b/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/src/main/java/MyResource.java
index 53beee1..5783101 100644
--- a/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/src/main/java/MyResource.java
+++ b/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/src/main/java/MyResource.java
@@ -1,9 +1,9 @@
 package $package;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Root resource (exposed at "myresource" path)
diff --git a/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/src/test/java/MyResourceTest.java b/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/src/test/java/MyResourceTest.java
index 901bc19..0b5f5c7 100644
--- a/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/src/test/java/MyResourceTest.java
+++ b/archetypes/jersey-quickstart-grizzly2/src/main/resources/archetype-resources/src/test/java/MyResourceTest.java
@@ -1,8 +1,8 @@
 package $package;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.grizzly.http.server.HttpServer;
 
diff --git a/archetypes/jersey-quickstart-webapp/pom.xml b/archetypes/jersey-quickstart-webapp/pom.xml
index cf32ff9..33b1eca 100644
--- a/archetypes/jersey-quickstart-webapp/pom.xml
+++ b/archetypes/jersey-quickstart-webapp/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.glassfish.jersey.archetypes</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>maven-archetype</packaging>
diff --git a/archetypes/jersey-quickstart-webapp/src/main/resources/archetype-resources/src/main/java/MyResource.java b/archetypes/jersey-quickstart-webapp/src/main/resources/archetype-resources/src/main/java/MyResource.java
index 53beee1..5783101 100644
--- a/archetypes/jersey-quickstart-webapp/src/main/resources/archetype-resources/src/main/java/MyResource.java
+++ b/archetypes/jersey-quickstart-webapp/src/main/resources/archetype-resources/src/main/java/MyResource.java
@@ -1,9 +1,9 @@
 package $package;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Root resource (exposed at "myresource" path)
diff --git a/archetypes/pom.xml b/archetypes/pom.xml
index 047eb87..e41beee 100644
--- a/archetypes/pom.xml
+++ b/archetypes/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.archetypes</groupId>
diff --git a/bom/pom.xml b/bom/pom.xml
index 4cbf98f..b2bcd33 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -30,7 +30,7 @@
 
     <groupId>org.glassfish.jersey</groupId>
     <artifactId>jersey-bom</artifactId>
-    <version>2.43-SNAPSHOT</version>
+    <version>3.0.99-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>jersey-bom</name>
 
@@ -210,12 +210,7 @@
             </dependency>
             <dependency>
                 <groupId>org.glassfish.jersey.ext</groupId>
-                <artifactId>jersey-servlet-portability</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.glassfish.jersey.ext</groupId>
-                <artifactId>jersey-spring5</artifactId>
+                <artifactId>jersey-spring6</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
@@ -293,14 +288,6 @@
                 <artifactId>jersey-media-json-jackson</artifactId>
                 <version>${project.version}</version>
             </dependency>
-<!--
-            Legacy Jackson1 is removed from bom pom, as obsolete.
-            <dependency>
-                <groupId>org.glassfish.jersey.media</groupId>
-                <artifactId>jersey-media-json-jackson1</artifactId>
-                <version>${project.version}</version>
-            </dependency>
--->
             <dependency>
                 <groupId>org.glassfish.jersey.media</groupId>
                 <artifactId>jersey-media-json-jettison</artifactId>
diff --git a/bundles/apidocs/pom.xml b/bundles/apidocs/pom.xml
index 6fa4b5e..7b7d82f 100644
--- a/bundles/apidocs/pom.xml
+++ b/bundles/apidocs/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.bundles</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>apidocs</artifactId>
@@ -63,12 +63,6 @@
             <groupId>org.glassfish.jersey.connectors</groupId>
             <artifactId>jersey-apache-connector</artifactId>
             <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-codec</groupId>
-                    <artifactId>commons-codec</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.connectors</groupId>
@@ -125,6 +119,10 @@
         <!-- need to explicitly include the servlet dependency here
               as it is scoped as provided in the jersey-servet modules -->
         <dependency>
+            <groupId>jakarta.persistence</groupId>
+            <artifactId>jakarta.persistence-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish</groupId>
             <artifactId>javax.servlet</artifactId>
             <version>3.1</version>
@@ -253,6 +251,27 @@
     </dependencies>
     <profiles>
         <profile>
+        <id>JettyExclude</id>
+        <activation>
+            <jdk>1.8</jdk>
+        </activation>
+        <properties>
+            <jetty.version>${jetty9.version}</jetty.version>
+        </properties>
+        <dependencies>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-client</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-util</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+        </dependencies>
+        </profile>
+        <profile>
             <id>jetty2x</id>
             <activation>
                 <activeByDefault>false</activeByDefault>
@@ -293,6 +312,7 @@
                             <includeDependencySources>true</includeDependencySources>
                             <sourceFileExcludes>
                                 <fileExclude>META-INF/versions/12/org/glassfish/jersey/wadl/doclet/*.java</fileExclude>
+                                <fileExclude>META-INF/versions/17/org/glassfish/jersey/helidon/connector/*.java</fileExclude>
                                 <fileExclude>org/glassfish/jersey/helidon/connector/*.java</fileExclude>
                             </sourceFileExcludes>
                             <dependencySourceIncludes>
diff --git a/bundles/examples/pom.xml b/bundles/examples/pom.xml
index 0bcaa20..e39812c 100644
--- a/bundles/examples/pom.xml
+++ b/bundles/examples/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey.bundles</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-examples</artifactId>
@@ -48,7 +48,7 @@
             <type>zip</type>
         </dependency>
 -->
-        <dependency>
+        <!--<dependency>   TODO - jakartification
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>bookmark</artifactId>
             <version>${project.version}</version>
@@ -75,7 +75,7 @@
             <version>${project.version}</version>
             <classifier>gf-project-src</classifier>
             <type>zip</type>
-        </dependency>
+        </dependency>-->
         <dependency>
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>bookstore-webapp</artifactId>
@@ -168,7 +168,7 @@
             <classifier>project-src</classifier>
             <type>zip</type>
         </dependency>
-        <dependency>
+        <!--<dependency>  //TODO jakartification
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>extended-wadl-webapp</artifactId>
             <version>${project.version}</version>
@@ -181,7 +181,7 @@
             <version>${project.version}</version>
             <classifier>gf-project-src</classifier>
             <type>zip</type>
-        </dependency>
+        </dependency>-->
         <dependency>
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>freemarker-webapp</artifactId>
@@ -231,7 +231,7 @@
             <classifier>project-src</classifier>
             <type>zip</type>
         </dependency>
-        <dependency>
+        <!--<dependency> //TODO Jakartification
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>helloworld-spring-annotations</artifactId>
             <version>${project.version}</version>
@@ -244,7 +244,7 @@
             <version>${project.version}</version>
             <classifier>project-src</classifier>
             <type>zip</type>
-        </dependency>
+        </dependency>-->
         <!-- There is problem to run Spring example on GF - https://java.net/jira/browse/JERSEY-2032
         <dependency>
             <groupId>org.glassfish.jersey.examples</groupId>
@@ -347,13 +347,6 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.examples</groupId>
-            <artifactId>json-jackson1</artifactId>
-            <version>${project.version}</version>
-            <classifier>project-src</classifier>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>json-jettison</artifactId>
             <version>${project.version}</version>
             <classifier>project-src</classifier>
@@ -459,13 +452,13 @@
             <classifier>gf-project-src</classifier>
             <type>zip</type>
         </dependency>
-        <dependency>
+        <!--<dependency> // TODO Jakartification
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>oauth-client-twitter</artifactId>
             <version>${project.version}</version>
             <classifier>project-src</classifier>
             <type>zip</type>
-        </dependency>
+        </dependency>-->
 <!--
         <dependency>
            <groupId>org.glassfish.jersey.examples</groupId>
@@ -475,7 +468,7 @@
             <type>zip</type>
         </dependency>
 -->
-        <dependency>
+        <!--<dependency>  //TODO Jakartification
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>osgi-helloworld-webapp</artifactId>
             <version>${project.version}</version>
@@ -495,7 +488,7 @@
             <version>${project.version}</version>
             <classifier>project-src</classifier>
             <type>zip</type>
-        </dependency>
+        </dependency>-->
         <dependency>
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>rx-client-webapp</artifactId>
diff --git a/bundles/jaxrs-ri/pom.xml b/bundles/jaxrs-ri/pom.xml
index ceb4c95..66e4cc0 100644
--- a/bundles/jaxrs-ri/pom.xml
+++ b/bundles/jaxrs-ri/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.bundles</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jaxrs-ri</artifactId>
@@ -182,7 +182,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -272,26 +272,26 @@
                         </Implementation-Version>
                         <Extension-Name>${project.artifactId}</Extension-Name>
                         <Export-Package>
-                            javax.ws.rs.*;version=${jaxrs.api.impl.version},
+                            jakarta.ws.rs.*;version=${jaxrs.api.impl.version},
                             org.glassfish.jersey.*;version=${project.version},
                             com.sun.research.ws.wadl.*;version=${project.version},
                             jersey.repackaged.org.objectweb.asm.*;version=${project.version}
                         </Export-Package>
                         <Import-Package><![CDATA[
-                            javax.servlet.annotation.*;resolution:=optional;version="[2.4,5.0)",
-                            javax.servlet.descriptor.*;resolution:=optional;version="[2.4,5.0)",
-                            javax.servlet.*;version="[2.4,5.0)",
-                            ${javax.annotation.osgi.version},
-                            javax.persistence.*;resolution:=optional,
-                            javax.validation.*;resolution:=optional;version="${range;[==,3);${javax.validation.api.version}}",
+                            jakarta.servlet.annotation.*;resolution:=optional;version="[5.0,6.0)",
+                            jakarta.servlet.descriptor.*;resolution:=optional;version="[5.0,6.0)",
+                            jakarta.servlet.*;version="[5.0,6.0)",
+                            ${jakarta.annotation.osgi.version},
+                            jakarta.persistence.*;resolution:=optional,
+                            jakarta.validation.*;resolution:=optional;version="[3,4)",
                             sun.misc.*;resolution:=optional,
-                            javax.activation.*;version="!";resolution:=optional,
+                            jakarta.activation.*;version="!";resolution:=optional,
                             javax.imageio;resolution:=optional,
                             javax.imageio.spi;resolution:=optional,
                             javax.imageio.stream;resolution:=optional,
-                            javax.xml.bind;version="!";resolution:=optional,
-                            javax.xml.bind.annotation;version="!";resolution:=optional,
-                            javax.xml.bind.annotation.adapters;version="!";resolution:=optional,
+                            jakarta.xml.bind;version="!";resolution:=optional,
+                            jakarta.xml.bind.annotation;version="!";resolution:=optional,
+                            jakarta.xml.bind.annotation.adapters;version="!";resolution:=optional,
                             javax.xml.namespace;resolution:=optional,
                             javax.xml.parsers;resolution:=optional,
                             javax.xml.transform;resolution:=optional,
@@ -315,7 +315,6 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
-                <version>3.1.0</version>
                 <executions>
                     <execution>
                         <phase>package</phase>
@@ -336,11 +335,11 @@
                                     <excludes>
                                         <exclude>META-INF/DEPENDENCIES.txt</exclude>
                                         <exclude>META-INF/LICENSE.md</exclude>
-                                        <exclude>javax/annotation/**</exclude>
-                                        <exclude>javax/decorator/**</exclude>
-                                        <exclude>javax/el/**</exclude>
-                                        <exclude>javax/enterprise/**</exclude>
-                                        <exclude>javax/interceptor/**</exclude>
+                                        <exclude>jakarta/annotation/**</exclude>
+                                        <exclude>jakarta/decorator/**</exclude>
+                                        <exclude>jakarta/el/**</exclude>
+                                        <exclude>jakarta/enterprise/**</exclude>
+                                        <exclude>jakarta/interceptor/**</exclude>
                                     </excludes>
                                 </filter>
                             </filters>
diff --git a/bundles/jaxrs-ri/src/main/assembly/common-dependencies.xml b/bundles/jaxrs-ri/src/main/assembly/common-dependencies.xml
index 2c92564..8baea9c 100644
--- a/bundles/jaxrs-ri/src/main/assembly/common-dependencies.xml
+++ b/bundles/jaxrs-ri/src/main/assembly/common-dependencies.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,10 +30,10 @@
                 <exclude>jakarta.ws.rs:*</exclude>
                 <exclude>org.glassfish.jersey.*:*</exclude>
                 <!-- CDI API dependencies come from yasson, cdi is optional there -->
-                <exclude>javax.enterprise:cdi-api:jar:*</exclude>
-                <exclude>javax.el:el-api:jar:*</exclude>
+                <exclude>jakarta.enterprise:cdi-api:jar:*</exclude>
+                <exclude>jakarta.el:el-api:jar:*</exclude>
                 <exclude>org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:jar:*</exclude>
-                <exclude>javax.annotation:jsr250-api:jar:*</exclude>
+                <exclude>jakarta.annotation:jsr250-api:jar:*</exclude>
             </excludes>
         </dependencySet>
         <!-- JAX-RS RI provided dependencies -->
diff --git a/bundles/pom.xml b/bundles/pom.xml
index 7e44fda..052dfb7 100644
--- a/bundles/pom.xml
+++ b/bundles/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.bundles</groupId>
diff --git a/connectors/apache-connector/pom.xml b/connectors/apache-connector/pom.xml
index 2dc0ffb..f0ad9c6 100644
--- a/connectors/apache-connector/pom.xml
+++ b/connectors/apache-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.connectors</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-apache-connector</artifactId>
@@ -40,6 +40,12 @@
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-codec</groupId>
+                    <artifactId>commons-codec</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -55,6 +61,12 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>${commons.codec.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnector.java b/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnector.java
index 93f8aba..0e36dee 100644
--- a/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnector.java
+++ b/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnector.java
@@ -40,16 +40,16 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.net.ssl.SSLSocket;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocket;
 import javax.net.ssl.SSLSocketFactory;
 
 import org.glassfish.jersey.client.ClientProperties;
@@ -153,7 +153,7 @@
  * </p>
  * <p>
  * Registration of {@link ApacheHttpClientBuilderConfigurator} instance on the
- * {@link javax.ws.rs.client.Client#register(Object) Client} is supported. A configuration provided by
+ * {@link jakarta.ws.rs.client.Client#register(Object) Client} is supported. A configuration provided by
  * {@link ApacheHttpClientBuilderConfigurator} will override the {@link org.apache.http.impl.client.HttpClientBuilder}
  * configuration set by using the properties.
  * </p>
diff --git a/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnectorProvider.java b/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnectorProvider.java
index d97204f..8aa3877 100644
--- a/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnectorProvider.java
+++ b/connectors/apache-connector/src/main/java/org/glassfish/jersey/apache/connector/ApacheConnectorProvider.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.apache.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.client.Initializable;
 import org.glassfish.jersey.client.spi.Connector;
@@ -77,7 +77,7 @@
  * </p>
  * <p>
  * Registration of {@link ApacheHttpClientBuilderConfigurator} instance on the
- * {@link javax.ws.rs.client.Client#register(Object) Client} is supported. A configuration provided by
+ * {@link jakarta.ws.rs.client.Client#register(Object) Client} is supported. A configuration provided by
  * {@link ApacheHttpClientBuilderConfigurator} will override the {@link org.apache.http.impl.client.HttpClientBuilder}
  * configuration set by using the properties.
  * </p>
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/AsyncTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/AsyncTest.java
index 4c6702b..952fe83 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/AsyncTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/AsyncTest.java
@@ -24,15 +24,15 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/AuthTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/AuthTest.java
index 9bced7a..507749d 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/AuthTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/AuthTest.java
@@ -16,22 +16,22 @@
 
 package org.glassfish.jersey.apache.connector;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/CookieTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/CookieTest.java
index 5e2c66b..d94c8b3 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/CookieTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/CookieTest.java
@@ -16,17 +16,17 @@
 
 package org.glassfish.jersey.apache.connector;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.JerseyClient;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/CustomLoggingFilter.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/CustomLoggingFilter.java
index a26aea8..77ff3e0 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/CustomLoggingFilter.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/CustomLoggingFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/DisableContentEncodingTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/DisableContentEncodingTest.java
index dfd5b17..b77564e 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/DisableContentEncodingTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/DisableContentEncodingTest.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.apache.connector;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.message.GZipEncoder;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/FollowRedirectsTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/FollowRedirectsTest.java
index c789a1a..830b358 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/FollowRedirectsTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/FollowRedirectsTest.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/GZIPContentEncodingTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/GZIPContentEncodingTest.java
index bfa8698..ea04a8f 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/GZIPContentEncodingTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/GZIPContentEncodingTest.java
@@ -18,15 +18,15 @@
 
 import java.util.Arrays;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HelloWorldTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HelloWorldTest.java
index dab72b3..2c4a5b6 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HelloWorldTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HelloWorldTest.java
@@ -27,17 +27,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import javax.net.ssl.SSLSession;
 
@@ -367,7 +367,7 @@
                          * is released by AHC runtime. In our test, this is expected to happen
                          * as soon as the exception is created for an error response
                          * (as the error response entity gets buffered in
-                         * {@link org.glassfish.jersey.client.JerseyInvocation#convertToException(javax.ws.rs.core.Response)}).
+                         * {@link org.glassfish.jersey.client.JerseyInvocation#convertToException(jakarta.ws.rs.core.Response)}).
                          */
                         return new ClientConnectionRequest() {
                             @Override
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpEntityTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpEntityTest.java
index 19d9784..9c33ade 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpEntityTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpEntityTest.java
@@ -25,12 +25,12 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.io.ByteArrayInputStream;
 import java.util.logging.Logger;
 
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpHeadersTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpHeadersTest.java
index c4d5ed7..41da2b3 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpHeadersTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpHeadersTest.java
@@ -22,19 +22,19 @@
 import java.lang.reflect.Type;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java
index b21940d..c0743ef 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java
@@ -21,19 +21,19 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithClientFilterTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithClientFilterTest.java
index b71fb1d..9330689 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithClientFilterTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithClientFilterTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.apache.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/LargeDataTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/LargeDataTest.java
index 059a3c0..7d6c764 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/LargeDataTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/LargeDataTest.java
@@ -21,16 +21,16 @@
 import java.io.OutputStream;
 import java.util.logging.Logger;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ServerErrorException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ServerErrorException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.StreamingOutput;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/ManagedClientTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/ManagedClientTest.java
index d3c5644..6304991 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/ManagedClientTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/ManagedClientTest.java
@@ -24,20 +24,20 @@
 import java.lang.annotation.Target;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/NoEntityTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/NoEntityTest.java
index 27ba0ca..5be48c8 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/NoEntityTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/NoEntityTest.java
@@ -18,13 +18,13 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/RetryHandlerTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/RetryHandlerTest.java
index 7a135af..48d0d29 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/RetryHandlerTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/RetryHandlerTest.java
@@ -18,16 +18,16 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/SpecialHeaderTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/SpecialHeaderTest.java
index 0d17af5..b572519 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/SpecialHeaderTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/SpecialHeaderTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.apache.connector;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/StreamingTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/StreamingTest.java
index 10dcbcf..a8521d7 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/StreamingTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/StreamingTest.java
@@ -20,15 +20,15 @@
 import java.io.InputStream;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.inject.Singleton;
 
 import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
 
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/TimeoutTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/TimeoutTest.java
index 6947b66..7e05fd0 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/TimeoutTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/TimeoutTest.java
@@ -19,11 +19,11 @@
 import java.net.SocketTimeoutException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/TraceSupportTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/TraceSupportTest.java
index e6c593b..651cb16 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/TraceSupportTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/TraceSupportTest.java
@@ -24,18 +24,18 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/UnderlyingCookieStoreAccessTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/UnderlyingCookieStoreAccessTest.java
index 808fef9..ad7771f 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/UnderlyingCookieStoreAccessTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/UnderlyingCookieStoreAccessTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.apache.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.client.ClientConfig;
 
diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/UnderlyingHttpClientAccessTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/UnderlyingHttpClientAccessTest.java
index 18b3eee..5d9704f 100644
--- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/UnderlyingHttpClientAccessTest.java
+++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/UnderlyingHttpClientAccessTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.apache.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.client.ClientConfig;
 
diff --git a/connectors/apache5-connector/pom.xml b/connectors/apache5-connector/pom.xml
index fae4972..88723e6 100644
--- a/connectors/apache5-connector/pom.xml
+++ b/connectors/apache5-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.connectors</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-apache5-connector</artifactId>
@@ -40,9 +40,21 @@
         <dependency>
             <groupId>org.apache.httpcomponents.client5</groupId>
             <artifactId>httpclient5</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-grizzly2-http</artifactId>
             <version>${project.version}</version>
diff --git a/connectors/apache5-connector/src/main/java/org/glassfish/jersey/apache5/connector/Apache5Connector.java b/connectors/apache5-connector/src/main/java/org/glassfish/jersey/apache5/connector/Apache5Connector.java
index 92fb44b..8d93b91 100644
--- a/connectors/apache5-connector/src/main/java/org/glassfish/jersey/apache5/connector/Apache5Connector.java
+++ b/connectors/apache5-connector/src/main/java/org/glassfish/jersey/apache5/connector/Apache5Connector.java
@@ -40,16 +40,16 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.net.ssl.SSLSocket;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocket;
 import javax.net.ssl.SSLSocketFactory;
 
 import org.apache.hc.client5.http.AuthenticationStrategy;
@@ -151,7 +151,7 @@
  * </p>
  * <p>
  * Registration of {@link Apache5HttpClientBuilderConfigurator} instance on the
- * {@link javax.ws.rs.client.Client#register(Object) Client} is supported. A configuration provided by
+ * {@link jakarta.ws.rs.client.Client#register(Object) Client} is supported. A configuration provided by
  * {@link Apache5HttpClientBuilderConfigurator} will override the {@link org.apache.hc.client5.http.impl.classic.HttpClientBuilder}
  * configuration set by using the properties.
  * </p>
diff --git a/connectors/apache5-connector/src/main/java/org/glassfish/jersey/apache5/connector/Apache5ConnectorProvider.java b/connectors/apache5-connector/src/main/java/org/glassfish/jersey/apache5/connector/Apache5ConnectorProvider.java
index 7f5d882..a5a5ffd 100644
--- a/connectors/apache5-connector/src/main/java/org/glassfish/jersey/apache5/connector/Apache5ConnectorProvider.java
+++ b/connectors/apache5-connector/src/main/java/org/glassfish/jersey/apache5/connector/Apache5ConnectorProvider.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.apache5.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Configuration;
 
 import org.apache.hc.client5.http.classic.HttpClient;
 import org.apache.hc.client5.http.cookie.CookieStore;
@@ -75,7 +75,7 @@
  * </p>
  * <p>
  * Registration of {@link Apache5HttpClientBuilderConfigurator} instance on the
- * {@link javax.ws.rs.client.Client#register(Object) Client} is supported. A configuration provided by
+ * {@link jakarta.ws.rs.client.Client#register(Object) Client} is supported. A configuration provided by
  * {@link Apache5HttpClientBuilderConfigurator} will override the {@link org.apache.hc.client5.http.impl.classic.HttpClientBuilder}
  * configuration set by using the properties.
  * </p>
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/AsyncTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/AsyncTest.java
index 6ac74e5..249ad82 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/AsyncTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/AsyncTest.java
@@ -24,15 +24,15 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/AuthTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/AuthTest.java
index c16e485..130a2b3 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/AuthTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/AuthTest.java
@@ -16,22 +16,22 @@
 
 package org.glassfish.jersey.apache5.connector;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.CredentialsStore;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/CookieTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/CookieTest.java
index 1ff2300..a92271e 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/CookieTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/CookieTest.java
@@ -16,17 +16,17 @@
 
 package org.glassfish.jersey.apache5.connector;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.JerseyClient;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/CustomLoggingFilter.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/CustomLoggingFilter.java
index 60e4cc8..8b23445 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/CustomLoggingFilter.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/CustomLoggingFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/DisableContentEncodingTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/DisableContentEncodingTest.java
index 9bd1572..85b2408 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/DisableContentEncodingTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/DisableContentEncodingTest.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.apache5.connector;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.apache.hc.client5.http.config.RequestConfig;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/FollowRedirectsTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/FollowRedirectsTest.java
index 27a54c9..cb8932a 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/FollowRedirectsTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/FollowRedirectsTest.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/GZIPContentEncodingTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/GZIPContentEncodingTest.java
index 298ca42..d1e43fd 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/GZIPContentEncodingTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/GZIPContentEncodingTest.java
@@ -18,15 +18,15 @@
 
 import java.util.Arrays;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HelloWorldTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HelloWorldTest.java
index 2dc697c..96114cb 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HelloWorldTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HelloWorldTest.java
@@ -25,17 +25,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.hc.client5.http.HttpRoute;
 import org.apache.hc.client5.http.impl.io.BasicHttpClientConnectionManager;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpEntityTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpEntityTest.java
index 5581fc9..9e08aa8 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpEntityTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpEntityTest.java
@@ -26,12 +26,12 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.io.ByteArrayInputStream;
 import java.util.logging.Logger;
 
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpHeadersTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpHeadersTest.java
index cea6db2..16e135a 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpHeadersTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpHeadersTest.java
@@ -22,19 +22,19 @@
 import java.lang.reflect.Type;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpMethodTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpMethodTest.java
index 1f48303..107faad 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpMethodTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpMethodTest.java
@@ -21,19 +21,19 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpMethodWithClientFilterTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpMethodWithClientFilterTest.java
index 35b38c3..03d182d 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpMethodWithClientFilterTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/HttpMethodWithClientFilterTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.apache5.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/LargeDataTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/LargeDataTest.java
index fc67712..1173941 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/LargeDataTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/LargeDataTest.java
@@ -21,16 +21,16 @@
 import java.io.OutputStream;
 import java.util.logging.Logger;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ServerErrorException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ServerErrorException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.StreamingOutput;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/ManagedClientTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/ManagedClientTest.java
index cd34682..3ab8a2a 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/ManagedClientTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/ManagedClientTest.java
@@ -24,20 +24,20 @@
 import java.lang.annotation.Target;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/NoEntityTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/NoEntityTest.java
index e00ded9..cff230d 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/NoEntityTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/NoEntityTest.java
@@ -18,13 +18,13 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/RetryStrategyTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/RetryStrategyTest.java
index cdfc30f..234c10d 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/RetryStrategyTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/RetryStrategyTest.java
@@ -18,16 +18,16 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.apache.hc.client5.http.HttpRequestRetryStrategy;
 import org.apache.hc.core5.http.HttpRequest;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/SpecialHeaderTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/SpecialHeaderTest.java
index 8803ac4..0007ead 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/SpecialHeaderTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/SpecialHeaderTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.apache5.connector;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/StreamingTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/StreamingTest.java
index 7a05f61..4a38280 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/StreamingTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/StreamingTest.java
@@ -20,15 +20,15 @@
 import java.io.InputStream;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.inject.Singleton;
 
 import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/TimeoutTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/TimeoutTest.java
index 0d69457..3dda5ec 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/TimeoutTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/TimeoutTest.java
@@ -19,11 +19,11 @@
 import java.net.SocketTimeoutException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/TraceSupportTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/TraceSupportTest.java
index c4c2d3a..a1fcb93 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/TraceSupportTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/TraceSupportTest.java
@@ -24,18 +24,18 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/UnderlyingCookieStoreAccessTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/UnderlyingCookieStoreAccessTest.java
index 1250637..02a21e1 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/UnderlyingCookieStoreAccessTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/UnderlyingCookieStoreAccessTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.apache5.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/UnderlyingHttpClientAccessTest.java b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/UnderlyingHttpClientAccessTest.java
index d8aec2c..b487a82 100644
--- a/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/UnderlyingHttpClientAccessTest.java
+++ b/connectors/apache5-connector/src/test/java/org/glassfish/jersey/apache5/connector/UnderlyingHttpClientAccessTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.apache5.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.apache.hc.client5.http.classic.HttpClient;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/connectors/grizzly-connector/pom.xml b/connectors/grizzly-connector/pom.xml
index 1490e25..2b25a35 100644
--- a/connectors/grizzly-connector/pom.xml
+++ b/connectors/grizzly-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.connectors</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-grizzly-connector</artifactId>
@@ -49,9 +49,18 @@
                     <groupId>org.glassfish.grizzly</groupId>
                     <artifactId>connection-pool</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.grizzly</groupId>
             <artifactId>grizzly-websockets</artifactId>
         </dependency>
diff --git a/connectors/grizzly-connector/src/main/java/org/glassfish/jersey/grizzly/connector/GrizzlyConnector.java b/connectors/grizzly-connector/src/main/java/org/glassfish/jersey/grizzly/connector/GrizzlyConnector.java
index 14a3e30..f39e216 100644
--- a/connectors/grizzly-connector/src/main/java/org/glassfish/jersey/grizzly/connector/GrizzlyConnector.java
+++ b/connectors/grizzly-connector/src/main/java/org/glassfish/jersey/grizzly/connector/GrizzlyConnector.java
@@ -31,10 +31,10 @@
 import java.util.concurrent.Future;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.ClientRequest;
@@ -154,7 +154,7 @@
     }
 
     /**
-     * Sends the {@link javax.ws.rs.core.Request} via Grizzly transport and returns the {@link javax.ws.rs.core.Response}.
+     * Sends the {@link jakarta.ws.rs.core.Request} via Grizzly transport and returns the {@link jakarta.ws.rs.core.Response}.
      *
      * @param request Jersey client request to be sent.
      * @return received response.
diff --git a/connectors/grizzly-connector/src/main/java/org/glassfish/jersey/grizzly/connector/GrizzlyConnectorProvider.java b/connectors/grizzly-connector/src/main/java/org/glassfish/jersey/grizzly/connector/GrizzlyConnectorProvider.java
index 7aff9eb..8cfab38 100644
--- a/connectors/grizzly-connector/src/main/java/org/glassfish/jersey/grizzly/connector/GrizzlyConnectorProvider.java
+++ b/connectors/grizzly-connector/src/main/java/org/glassfish/jersey/grizzly/connector/GrizzlyConnectorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.grizzly.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/AsyncTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/AsyncTest.java
index bc970c7..0818c7e 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/AsyncTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/AsyncTest.java
@@ -20,15 +20,15 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/CustomizersTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/CustomizersTest.java
index 23a8288..b987fc0 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/CustomizersTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/CustomizersTest.java
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.grizzly.connector;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Response;
 
-import static javax.ws.rs.client.Entity.text;
+import static jakarta.ws.rs.client.Entity.text;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/FollowRedirectsTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/FollowRedirectsTest.java
index 2d86199..e313b10 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/FollowRedirectsTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/FollowRedirectsTest.java
@@ -18,15 +18,15 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpHeadersTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpHeadersTest.java
index 8157609..2b8cdf2 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpHeadersTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpHeadersTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.grizzly.connector;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java
index 6752870..650eea5 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java
@@ -21,14 +21,14 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/NoEntityTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/NoEntityTest.java
index 8e7cfe5..4e15b4e 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/NoEntityTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/NoEntityTest.java
@@ -18,13 +18,13 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/ParallelTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/ParallelTest.java
index 2016b58..1987d91 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/ParallelTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/ParallelTest.java
@@ -27,11 +27,11 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/TimeoutTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/TimeoutTest.java
index 0d771af..5066426 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/TimeoutTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/TimeoutTest.java
@@ -18,11 +18,11 @@
 
 import java.util.concurrent.TimeoutException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/TraceSupportTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/TraceSupportTest.java
index d11646b..2a3fb44 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/TraceSupportTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/TraceSupportTest.java
@@ -24,18 +24,18 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/UnderlyingHttpClientAccessTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/UnderlyingHttpClientAccessTest.java
index 2edae61..031baaa 100644
--- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/UnderlyingHttpClientAccessTest.java
+++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/UnderlyingHttpClientAccessTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.grizzly.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.client.ClientConfig;
 
diff --git a/connectors/helidon-connector/pom.xml b/connectors/helidon-connector/pom.xml
index 0bdc887..515e3b3 100644
--- a/connectors/helidon-connector/pom.xml
+++ b/connectors/helidon-connector/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.connectors</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -30,11 +30,19 @@
     <packaging>jar</packaging>
     <name>jersey-connectors-helidon</name>
 
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <java8.build.outputDirectory>${project.basedir}/target</java8.build.outputDirectory>
+        <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
+        <java17.build.outputDirectory>${project.basedir}/target17</java17.build.outputDirectory>
+        <java17.sourceDirectory>${project.basedir}/src/main/java17</java17.sourceDirectory>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>io.helidon.jersey</groupId>
             <artifactId>helidon-jersey-connector</artifactId>
-            <version>2.2.1</version>
+            <version>${helidon.jersey.connector.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -67,19 +75,152 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <inherited>false</inherited>
-                <configuration>
-                    <source>11</source>
-                    <target>11</target>
-                </configuration>
             </plugin>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                     <source>8</source>
-                   <detectJavaApiLink>false</detectJavaApiLink>
                </configuration>
             </plugin>
         </plugins>
     </build>
+
+    <profiles>
+        <profile>
+            <id>HelidonExclude</id>
+            <activation>
+                <jdk>[1.8,17)</jdk>
+            </activation>
+            <build>
+                <directory>${java8.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java8.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/helidon/connector/sse/*.java</testExclude>
+                                <testExclude>org/glassfish/jersey/helidon/connector/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>HelidonInclude</id>
+            <activation>
+                <jdk>[17,)</jdk>
+            </activation>
+            <build>
+                <directory>${java17.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java17.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK17FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java17.build.outputDirectory} does not work here -->
+                    <exists>target17/classes/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.class</exists>
+                </file>
+                <jdk>[1.8,17)</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk17-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java8.build.outputDirectory}/classes/META-INF/versions/17</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java17.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk17-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java8.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java17.sourceDirectory}" prefix="META-INF/versions/17"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>
diff --git a/connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java b/connectors/helidon-connector/src/main/java17/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
similarity index 82%
rename from connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
rename to connectors/helidon-connector/src/main/java17/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
index 7e7c10d..93baa42 100644
--- a/connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
+++ b/connectors/helidon-connector/src/main/java17/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,13 +15,14 @@
  */
 package org.glassfish.jersey.helidon.connector;
 
+import io.helidon.jersey.connector.HelidonProperties;
 import org.glassfish.jersey.internal.util.PropertiesClass;
 
 import io.helidon.config.Config;
 import io.helidon.webclient.WebClient;
 
 /**
- * Configuration options specific to the Client API that utilizes {@link HelidonConnectorProvider}
+ * Configuration options specific to the Client API that utilizes {@code HelidonConnectorProvider}.
  * @since 2.31
  */
 @PropertiesClass
@@ -30,5 +31,5 @@
     /**
      * A Helidon {@link Config} instance that is passed to {@link WebClient.Builder#config(Config)} if available
      */
-    public static final String CONFIG = io.helidon.jersey.connector.HelidonProperties.CONFIG;
+    public static final String CONFIG = HelidonProperties.CONFIG;
 }
diff --git a/connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java b/connectors/helidon-connector/src/main/java17/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java
similarity index 85%
rename from connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java
rename to connectors/helidon-connector/src/main/java17/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java
index 9ec4983..aa1540a 100644
--- a/connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java
+++ b/connectors/helidon-connector/src/main/java17/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,15 +20,15 @@
 import org.glassfish.jersey.client.spi.Connector;
 import org.glassfish.jersey.internal.util.JdkVersion;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 import java.io.OutputStream;
 
 /**
  * Provider for Helidon WebClient {@link Connector} that utilizes the Helidon HTTP Client to send and receive
  * HTTP request and responses. JDK 8 is not supported by the Helidon Connector.
- * <p/>
+ * <p>
  * The following properties are only supported at construction of this class:
  * <ul>
  * <li>{@link org.glassfish.jersey.client.ClientProperties#CONNECT_TIMEOUT}</li>
@@ -56,8 +56,8 @@
  * </p>
  * <p>
  * This connector uses {@link org.glassfish.jersey.client.ClientProperties#OUTBOUND_CONTENT_LENGTH_BUFFER} to buffer the entity
- * written for instance by {@link javax.ws.rs.core.StreamingOutput}. Should the buffer be small and
- * {@link javax.ws.rs.core.StreamingOutput#write(OutputStream)} be called many times, the performance can drop. The Content-Length
+ * written for instance by {@link jakarta.ws.rs.core.StreamingOutput}. Should the buffer be small and
+ * {@link jakarta.ws.rs.core.StreamingOutput#write(OutputStream)} be called many times, the performance can drop. The Content-Length
  * or the Content_Encoding header is set by the underlaying Helidon WebClient regardless of the
  * {@link org.glassfish.jersey.client.ClientProperties#OUTBOUND_CONTENT_LENGTH_BUFFER} size, however.
  * </p>
@@ -68,7 +68,7 @@
 public class HelidonConnectorProvider extends io.helidon.jersey.connector.HelidonConnectorProvider {
     @Override
     public Connector getConnector(Client client, Configuration runtimeConfig) {
-        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+        if (JdkVersion.getJdkVersion().getMajor() < 17) {
             throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
         }
         return super.getConnector(client, runtimeConfig);
diff --git a/connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java b/connectors/helidon-connector/src/main/java8/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
similarity index 70%
copy from connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
copy to connectors/helidon-connector/src/main/java8/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
index 7e7c10d..d1e8ee1 100644
--- a/connectors/helidon-connector/src/main/java/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
+++ b/connectors/helidon-connector/src/main/java8/org/glassfish/jersey/helidon/connector/HelidonClientProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,18 +17,15 @@
 
 import org.glassfish.jersey.internal.util.PropertiesClass;
 
-import io.helidon.config.Config;
-import io.helidon.webclient.WebClient;
-
 /**
- * Configuration options specific to the Client API that utilizes {@link HelidonConnectorProvider}
+ * Configuration options specific to the Client API that utilizes {@code HelidonConnectorProvider}
  * @since 2.31
  */
 @PropertiesClass
 public final class HelidonClientProperties {
 
     /**
-     * A Helidon {@link Config} instance that is passed to {@link WebClient.Builder#config(Config)} if available
+     * A Helidon {@code Config} instance that is passed to {@code WebClient.Builder#config(Config)} if available.
      */
-    public static final String CONFIG = io.helidon.jersey.connector.HelidonProperties.CONFIG;
+    public static final String CONFIG = "jersey.connector.helidon.config";
 }
diff --git a/connectors/helidon-connector/src/main/java8/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java b/connectors/helidon-connector/src/main/java8/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java
new file mode 100644
index 0000000..932155a
--- /dev/null
+++ b/connectors/helidon-connector/src/main/java8/org/glassfish/jersey/helidon/connector/HelidonConnectorProvider.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.helidon.connector;
+
+import org.glassfish.jersey.client.spi.Connector;
+import org.glassfish.jersey.client.spi.ConnectorProvider;
+import org.glassfish.jersey.internal.util.JdkVersion;
+
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+import java.io.OutputStream;
+
+/**
+ * Helidon Connector stub which only throws exception when running on JDK prior to 17.
+ * New Helidon 3 does not support JDKs prior to 17.
+ *
+ * @since 3.0.5
+ */
+public class HelidonConnectorProvider implements ConnectorProvider {
+    @Override
+    public Connector getConnector(Client client, Configuration runtimeConfig) {
+        if (JdkVersion.getJdkVersion().getMajor() < 17) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+        return null;
+    }
+}
diff --git a/connectors/helidon-connector/src/main/resources/org/glassfish/jersey/helidon/connector/localization.properties b/connectors/helidon-connector/src/main/resources/org/glassfish/jersey/helidon/connector/localization.properties
index 7b06288..fb56d5c 100644
--- a/connectors/helidon-connector/src/main/resources/org/glassfish/jersey/helidon/connector/localization.properties
+++ b/connectors/helidon-connector/src/main/resources/org/glassfish/jersey/helidon/connector/localization.properties
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,4 +14,4 @@
 # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 #
 
-not.supported=Helidon connector is not supported on JDK version less than 11.
\ No newline at end of file
+not.supported=Helidon connector is not supported on JDK version less than 17.
\ No newline at end of file
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/AsyncTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/AsyncTest.java
index 4d6c9b3..4370213 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/AsyncTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/AsyncTest.java
@@ -23,15 +23,15 @@
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java
index 48d7db5..6634678 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java
@@ -27,23 +27,23 @@
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestFactory;
 
-import javax.ws.rs.Consumes;
-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.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+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.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/FollowRedirectsTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/FollowRedirectsTest.java
index 60a2826..09ac4e1 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/FollowRedirectsTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/FollowRedirectsTest.java
@@ -24,15 +24,15 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 import java.io.IOException;
 import java.util.logging.Logger;
 
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/HelidonPropertiesTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/HelidonPropertiesTest.java
new file mode 100644
index 0000000..0011ca6
--- /dev/null
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/HelidonPropertiesTest.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.helidon.connector;
+
+import io.helidon.jersey.connector.HelidonProperties;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class HelidonPropertiesTest {
+
+    @Test
+    public void testHelidonStrings() {
+        String jerseyValue = HelidonClientProperties.CONFIG;
+        String helidonConfig = HelidonProperties.CONFIG;
+        assertEquals(jerseyValue, helidonConfig);
+    }
+}
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/LargeDataTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/LargeDataTest.java
index 8b6792e..86f1c69 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/LargeDataTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/LargeDataTest.java
@@ -23,16 +23,16 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ServerErrorException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ServerErrorException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.StreamingOutput;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/MetaInfOverrideTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/MetaInfOverrideTest.java
index 2b60e14..0483bdd 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/MetaInfOverrideTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/MetaInfOverrideTest.java
@@ -24,15 +24,15 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 // The Helidon jar has META-INF set
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/ParallelTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/ParallelTest.java
index 6ef37cd..67d8682 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/ParallelTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/ParallelTest.java
@@ -22,11 +22,11 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.util.concurrent.BrokenBarrierException;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.CyclicBarrier;
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/TimeoutTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/TimeoutTest.java
index 3ae1470..ff3235a 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/TimeoutTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/TimeoutTest.java
@@ -23,11 +23,11 @@
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.fail;
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/sse/EventOutputTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/sse/EventOutputTest.java
index cd98a6d..1ad2e15 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/sse/EventOutputTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/sse/EventOutputTest.java
@@ -31,14 +31,14 @@
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.util.Queue;
 import java.util.concurrent.ArrayBlockingQueue;
diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/sse/SseTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/sse/SseTest.java
index a102d9b..ca1a5c6 100644
--- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/sse/SseTest.java
+++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/sse/SseTest.java
@@ -23,23 +23,23 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Singleton;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.annotation.PostConstruct;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseEventSource;
 import java.io.Closeable;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
diff --git a/connectors/jdk-connector/pom.xml b/connectors/jdk-connector/pom.xml
index 7c2be32..c3b8301 100644
--- a/connectors/jdk-connector/pom.xml
+++ b/connectors/jdk-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.connectors</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-jdk-connector</artifactId>
@@ -50,6 +50,12 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
@@ -73,18 +79,11 @@
                 <artifactId>maven-bundle-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <reuseForks>false</reuseForks>
-                </configuration>
-            </plugin>
         </plugins>
     </build>
 
     <profiles>
-        <profile>
+        <profile> <!-- we still require JDK 1.8 TLS 1.3 limitations -->
             <id>jdk8</id>
             <activation>
                 <jdk>(,9)</jdk>
@@ -106,6 +105,16 @@
             </build>
         </profile>
         <profile>
+            <id>jdk11+</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <properties>
+                <!-- https://bugs.openjdk.java.net/browse/JDK-8211426 -->
+                <surefire.security.argline>-Djdk.tls.server.protocols=TLSv1.2</surefire.security.argline>
+            </properties>
+        </profile>
+        <profile>
             <id>disable_tls1and11</id>
             <!-- TLS 1 and TLS 1.1 are disabled for JDK 16 -->
             <activation>
diff --git a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/JdkConnectorProvider.java b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/JdkConnectorProvider.java
index 9d70ed2..2ab1084 100644
--- a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/JdkConnectorProvider.java
+++ b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/JdkConnectorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.jdk.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.client.spi.Connector;
 import org.glassfish.jersey.client.spi.ConnectorProvider;
diff --git a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/ConnectorConfiguration.java b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/ConnectorConfiguration.java
index afb0c6c..422d919 100644
--- a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/ConnectorConfiguration.java
+++ b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/ConnectorConfiguration.java
@@ -23,8 +23,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
diff --git a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpFilter.java b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpFilter.java
index f0e9b16..a0472e5 100644
--- a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpFilter.java
+++ b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.net.URI;
 import java.nio.ByteBuffer;
 
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.HttpHeaders;
 
 /**
  * @author Petr Janouch
diff --git a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpParser.java b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpParser.java
index 3f0a310..15725e7 100644
--- a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpParser.java
+++ b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpParser.java
@@ -21,7 +21,7 @@
 import java.nio.Buffer;
 import java.util.List;
 
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.HttpHeaders;
 
 /**
  * @author Alexey Stashok
diff --git a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/JdkConnector.java b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/JdkConnector.java
index c5dab95..47f71dd 100644
--- a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/JdkConnector.java
+++ b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/JdkConnector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,10 +26,10 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.ClientRequest;
@@ -112,7 +112,7 @@
         if (httpRequest.getBodyMode() == HttpRequest.BodyMode.CHUNKED) {
 
             /* We wait with sending the request header until the body stream has been touched.
-             This is because of javax.ws.rs.ext.MessageBodyWriter, which says:
+             This is because of jakarta.ws.rs.ext.MessageBodyWriter, which says:
 
              "The message header map is mutable but any changes must be made before writing to the output stream since
               the headers will be flushed prior to writing the message body"
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java
index 0f68e20..109fa90 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java
@@ -21,14 +21,14 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ConnectionPoolTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ConnectionPoolTest.java
index 2c5be92..fa7b4d1 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ConnectionPoolTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ConnectionPoolTest.java
@@ -29,12 +29,12 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
 import javax.net.ServerSocketFactory;
 
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/CookieTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/CookieTest.java
index 33ccc85..f981f31 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/CookieTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/CookieTest.java
@@ -19,15 +19,15 @@
 import java.net.CookiePolicy;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jdk.connector.JdkConnectorProperties;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/EntityWriteTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/EntityWriteTest.java
index 0024fb8..869ca51 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/EntityWriteTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/EntityWriteTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.jdk.connector.internal;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/HttpConnectionTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/HttpConnectionTest.java
index 44b5dcf..fde3192 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/HttpConnectionTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/HttpConnectionTest.java
@@ -30,9 +30,9 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jdk.connector.JdkConnectorProperties;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ModifyHeaderInBodyWriterTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ModifyHeaderInBodyWriterTest.java
index 6032eef..4b1ba7a 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ModifyHeaderInBodyWriterTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ModifyHeaderInBodyWriterTest.java
@@ -21,18 +21,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/MultiValueHeaderTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/MultiValueHeaderTest.java
index b606a90..c9fd9f5 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/MultiValueHeaderTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/MultiValueHeaderTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.jdk.connector.internal;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jdk.connector.JdkConnectorProvider;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ProxyTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ProxyTest.java
index 73d0f33..d020c09 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ProxyTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ProxyTest.java
@@ -23,12 +23,12 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
@@ -78,7 +78,7 @@
         Proxy proxy = new Proxy(authentication);
         try {
             proxy.start();
-            javax.ws.rs.core.Response response = target("resource").request().get();
+            jakarta.ws.rs.core.Response response = target("resource").request().get();
             assertEquals(200, response.getStatus());
             assertEquals("OK", response.readEntity(String.class));
             assertTrue(proxy.getProxyHit());
@@ -296,7 +296,7 @@
                 destinationRequest.header(headerName, request.getHeader(headerName));
             }
 
-            javax.ws.rs.core.Response destinationResponse = destinationRequest
+            jakarta.ws.rs.core.Response destinationResponse = destinationRequest
                     .method(request.getMethod().getMethodString());
 
             // translate the received response into the proxy response
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/PublicSitesTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/PublicSitesTest.java
index 03cb5dc..80adc9c 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/PublicSitesTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/PublicSitesTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.jdk.connector.internal;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jdk.connector.JdkConnectorProvider;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ReadChunkedEntity.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ReadChunkedEntity.java
index 6853c06..1e708c0 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ReadChunkedEntity.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/ReadChunkedEntity.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/RedirectTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/RedirectTest.java
index 966e1fc..701790b 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/RedirectTest.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/RedirectTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.jdk.connector.internal;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HEAD;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HEAD;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/SslFilterTLS13Test.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/SslFilterTLS13Test.java
index 757b834..57f3528 100644
--- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/SslFilterTLS13Test.java
+++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/internal/SslFilterTLS13Test.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,30 @@
 
 package org.glassfish.jersey.jdk.connector.internal;
 
+import java.util.Arrays;
+
+import javax.net.ssl.SSLContext;
+
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+
 public class SslFilterTLS13Test extends SslFilterTest {
 
-    public SslFilterTLS13Test() {
-        System.setProperty("jdk.tls.server.protocols", "TLSv1.3");
-        System.setProperty("jdk.tls.client.protocols", "TLSv1.3");
+    @BeforeAll
+    public static void setup() throws Exception {
+        final SSLContext context = SSLContext.getInstance("TLS");
+        context.init(null, null, null);
+        final String[] supportedProtocols = context.getDefaultSSLParameters().getProtocols();
+        if (Arrays.toString(supportedProtocols).contains("TLSv1.3")) {
+           System.setProperty("jdk.tls.server.protocols", "TLSv1.3");
+           System.setProperty("jdk.tls.client.protocols", "TLSv1.3");
+        }
+    }
+
+    @AfterAll
+    public static void tearDown() {
+        System.clearProperty("jdk.tls.server.protocols");
+        System.clearProperty("jdk.tls.client.protocols");
     }
 
 }
diff --git a/connectors/jetty-connector/pom.xml b/connectors/jetty-connector/pom.xml
index 9c15f0c..86876ec 100644
--- a/connectors/jetty-connector/pom.xml
+++ b/connectors/jetty-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.connectors</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-jetty-connector</artifactId>
@@ -34,32 +34,52 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <java8.build.outputDirectory>${project.basedir}/target</java8.build.outputDirectory>
+        <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
+        <java11.build.outputDirectory>${project.basedir}/target11</java11.build.outputDirectory>
+        <java11.sourceDirectory>${project.basedir}/src/main/java11</java11.sourceDirectory>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-client</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-util</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-jaxb</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-
         <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-jetty-http</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.glassfish.jersey.media</groupId>-->
+<!--            <artifactId>jersey-media-json-jackson</artifactId>-->
+<!--            <version>${project.version}</version>-->
+<!--            <scope>test</scope>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-jetty</artifactId>
@@ -85,6 +105,21 @@
                 <artifactId>maven-compiler-plugin</artifactId>
             </plugin>
             <plugin>
+                <!-- TODO remove after jakartification -->
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <executions>
+            <execution>
+                <id>default-test</id> <!-- jakartification-excluded-tests -->
+                <configuration>
+                    <excludes>
+                        <exclude>org/glassfish/jersey/jetty/connector/EntityTest.java</exclude>
+                    </excludes>
+                </configuration>
+            </execution>
+            </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <inherited>true</inherited>
@@ -102,17 +137,165 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <properties>
+                <jetty.version>${jetty9.version}</jetty.version>
+            </properties>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-client</artifactId>
+                    <version>${jetty.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-util</artifactId>
+                    <version>${jetty.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+            </dependencies>
+            <build>
+                <directory>${java8.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java8.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/jetty/connector/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
             <activation>
                 <jdk>[11,)</jdk>
             </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
+            <build>
+                <directory>${java11.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java11.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK11FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java11.build.outputDirectory} does not work here -->
+                    <exists>target11/classes/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.class</exists>
+                </file>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java8.build.outputDirectory}/classes/META-INF/versions/11</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java11.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java8.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java11.sourceDirectory}" prefix="META-INF/versions/11"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
     </profiles>
 
diff --git a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyConnector.java b/connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyConnector.java
similarity index 94%
rename from connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyConnector.java
rename to connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyConnector.java
index ffd1ffd..d85ec4d 100644
--- a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyConnector.java
+++ b/connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyConnector.java
@@ -16,6 +16,46 @@
 
 package org.glassfish.jersey.jetty.connector;
 
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MultivaluedMap;
+import org.eclipse.jetty.client.HttpClient;
+import org.eclipse.jetty.client.HttpClientTransport;
+import org.eclipse.jetty.client.HttpProxy;
+import org.eclipse.jetty.client.ProxyConfiguration;
+import org.eclipse.jetty.client.api.AuthenticationStore;
+import org.eclipse.jetty.client.api.ContentProvider;
+import org.eclipse.jetty.client.api.ContentResponse;
+import org.eclipse.jetty.client.api.Request;
+import org.eclipse.jetty.client.api.Response;
+import org.eclipse.jetty.client.api.Result;
+import org.eclipse.jetty.client.http.HttpClientTransportOverHTTP;
+import org.eclipse.jetty.client.util.BasicAuthentication;
+import org.eclipse.jetty.client.util.BytesContentProvider;
+import org.eclipse.jetty.client.util.FutureResponseListener;
+import org.eclipse.jetty.client.util.OutputStreamContentProvider;
+import org.eclipse.jetty.http.HttpField;
+import org.eclipse.jetty.http.HttpFields;
+import org.eclipse.jetty.http.HttpHeader;
+import org.eclipse.jetty.io.ClientConnector;
+import org.eclipse.jetty.util.HttpCookieStore;
+import org.eclipse.jetty.util.Jetty;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.eclipse.jetty.util.thread.QueuedThreadPool;
+import org.glassfish.jersey.client.ClientProperties;
+import org.glassfish.jersey.client.ClientRequest;
+import org.glassfish.jersey.client.ClientResponse;
+import org.glassfish.jersey.client.innate.ClientProxy;
+import org.glassfish.jersey.client.spi.AsyncConnectorCallback;
+import org.glassfish.jersey.client.spi.Connector;
+import org.glassfish.jersey.internal.util.collection.ByteBufferInputStream;
+import org.glassfish.jersey.internal.util.collection.NonBlockingInputStream;
+import org.glassfish.jersey.message.internal.HeaderUtils;
+import org.glassfish.jersey.message.internal.OutboundMessageContext;
+import org.glassfish.jersey.message.internal.Statuses;
+
+import javax.net.ssl.SSLContext;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.FilterInputStream;
@@ -32,56 +72,14 @@
 import java.util.Optional;
 import java.util.concurrent.CancellationException;
 import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Consumer;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MultivaluedMap;
-
-import javax.net.ssl.SSLContext;
-
-import org.eclipse.jetty.client.HttpClientTransport;
-import org.eclipse.jetty.client.http.HttpClientTransportOverHTTP;
-import org.eclipse.jetty.client.util.BasicAuthentication;
-import org.eclipse.jetty.client.util.BytesContentProvider;
-import org.eclipse.jetty.client.util.FutureResponseListener;
-import org.eclipse.jetty.client.util.OutputStreamContentProvider;
-import org.glassfish.jersey.client.ClientProperties;
-import org.glassfish.jersey.client.ClientRequest;
-import org.glassfish.jersey.client.ClientResponse;
-import org.glassfish.jersey.client.innate.ClientProxy;
-import org.glassfish.jersey.client.spi.AsyncConnectorCallback;
-import org.glassfish.jersey.client.spi.Connector;
-import org.glassfish.jersey.internal.util.collection.ByteBufferInputStream;
-import org.glassfish.jersey.internal.util.collection.NonBlockingInputStream;
-import org.glassfish.jersey.message.internal.HeaderUtils;
-import org.glassfish.jersey.message.internal.OutboundMessageContext;
-import org.glassfish.jersey.message.internal.Statuses;
-
-import org.eclipse.jetty.client.HttpClient;
-import org.eclipse.jetty.client.HttpProxy;
-import org.eclipse.jetty.client.ProxyConfiguration;
-import org.eclipse.jetty.client.api.AuthenticationStore;
-import org.eclipse.jetty.client.api.ContentProvider;
-import org.eclipse.jetty.client.api.ContentResponse;
-import org.eclipse.jetty.client.api.Request;
-import org.eclipse.jetty.client.api.Response;
-import org.eclipse.jetty.client.api.Result;
-import org.eclipse.jetty.http.HttpField;
-import org.eclipse.jetty.http.HttpFields;
-import org.eclipse.jetty.http.HttpHeader;
-import org.eclipse.jetty.util.HttpCookieStore;
-import org.eclipse.jetty.util.Jetty;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-import org.eclipse.jetty.util.thread.QueuedThreadPool;
-
 /**
  * A {@link Connector} that utilizes the Jetty HTTP Client to send and receive
  * HTTP request and responses.
@@ -154,7 +152,10 @@
             final SSLContext sslContext = jaxrsClient.getSslContext();
             final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(false);
             sslContextFactory.setSslContext(sslContext);
-            httpClient = new HttpClient(initClientTransport(), sslContextFactory);
+            final ClientConnector connector = new ClientConnector();
+            connector.setSslContextFactory(sslContextFactory);
+            final HttpClientTransport transport = initClientTransport(connector);
+            httpClient = new HttpClient(transport);
         }
         this.client = httpClient;
 
@@ -192,7 +193,7 @@
         proxy.ifPresent(clientProxy -> {
             final ProxyConfiguration proxyConfig = client.getProxyConfiguration();
             final URI u = clientProxy.uri();
-            proxyConfig.getProxies().add(new HttpProxy(u.getHost(), u.getPort()));
+            proxyConfig.addProxy(new HttpProxy(u.getHost(), u.getPort()));
 
             if (clientProxy.userName() != null) {
                 auth.addAuthentication(new BasicAuthentication(u, "<<ANY_REALM>>",
@@ -230,8 +231,8 @@
      * @return instance of {@link HttpClientTransport}
      * @since 2.41
      */
-    protected HttpClientTransport initClientTransport() {
-        return new HttpClientTransportOverHTTP();
+    protected HttpClientTransport initClientTransport(ClientConnector clientConnector) {
+        return new HttpClientTransportOverHTTP(clientConnector);
     }
 
     /**
@@ -299,7 +300,7 @@
             HeaderUtils.checkHeaderChanges(clientHeadersSnapshot, jerseyRequest.getHeaders(),
                                            JettyConnector.this.getClass().getName(), jerseyRequest.getConfiguration());
 
-            final javax.ws.rs.core.Response.StatusType status = jettyResponse.getReason() == null
+            final jakarta.ws.rs.core.Response.StatusType status = jettyResponse.getReason() == null
                     ? Statuses.from(jettyResponse.getStatus())
                     : Statuses.from(jettyResponse.getStatus(), jettyResponse.getReason());
 
@@ -363,12 +364,15 @@
 
     private Map<String, String> writeOutBoundHeaders(final MultivaluedMap<String, Object> headers, final Request request) {
         final Map<String, String> stringHeaders = HeaderUtils.asStringHeadersSingleValue(headers, configuration);
+        final Consumer<HttpFields.Mutable> mutableConsumer = httpFields -> {
+            // remove User-agent header set by Jetty; Jersey already sets this in its request (incl. Jetty version)
+            httpFields.remove(HttpHeader.USER_AGENT);
+            for (final Map.Entry<String, String> e : stringHeaders.entrySet()) {
+                httpFields.put(e.getKey(), e.getValue());
+            }
+        };
+        request.headers(mutableConsumer);
 
-        // remove User-agent header set by Jetty; Jersey already sets this in its request (incl. Jetty version)
-        request.getHeaders().remove(HttpHeader.USER_AGENT);
-        for (final Map.Entry<String, String> e : stringHeaders.entrySet()) {
-            request.getHeaders().put(e.getKey(), e.getValue());
-        }
         return stringHeaders;
     }
 
diff --git a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java b/connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java
similarity index 93%
rename from connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java
rename to connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java
index 0d1e084..dfd3b79 100644
--- a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java
+++ b/connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java
@@ -16,15 +16,17 @@
 
 package org.glassfish.jersey.jetty.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.client.Initializable;
 import org.glassfish.jersey.client.spi.Connector;
 import org.glassfish.jersey.client.spi.ConnectorProvider;
 
 import org.eclipse.jetty.client.HttpClient;
+import org.glassfish.jersey.internal.util.JdkVersion;
 
 /**
  * A {@link ConnectorProvider} for Jersey {@link Connector connector}
@@ -84,6 +86,9 @@
 
     @Override
     public Connector getConnector(Client client, Configuration runtimeConfig) {
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
         return new JettyConnector(client, runtimeConfig);
     }
 
diff --git a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java b/connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
similarity index 94%
rename from connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
rename to connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
index 7547cd9..b061ef5 100644
--- a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
+++ b/connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java b/connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
similarity index 96%
rename from connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
rename to connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
index 681165d..dc43fb3 100644
--- a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
+++ b/connectors/jetty-connector/src/main/java11/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java b/connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java
new file mode 100644
index 0000000..8723025
--- /dev/null
+++ b/connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyConnectorProvider.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jetty.connector;
+
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+
+import org.glassfish.jersey.client.spi.Connector;
+import org.glassfish.jersey.client.spi.ConnectorProvider;
+
+import org.glassfish.jersey.internal.util.JdkVersion;
+
+/**
+ * JDK 1.8 Jetty Connector stub which only throws exception when running on JDK 1.8
+ * New Jetty (11+) does not support JDKs prior to 11
+ *
+ * @since 3.0.0
+ */
+public class JettyConnectorProvider implements ConnectorProvider {
+
+    @Override
+    public Connector getConnector(Client client, Configuration runtimeConfig) {
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+        return null; // does not work at JDK 1.8
+    }
+
+}
diff --git a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java b/connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
similarity index 94%
copy from connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
copy to connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
index 7547cd9..b061ef5 100644
--- a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
+++ b/connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyHttpClientContract.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java b/connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
similarity index 84%
copy from connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
copy to connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
index 681165d..59c8fd3 100644
--- a/connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
+++ b/connectors/jetty-connector/src/main/java8/org/glassfish/jersey/jetty/connector/JettyHttpClientSupplier.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,7 +15,9 @@
  */
 package org.glassfish.jersey.jetty.connector;
 
+import jakarta.ws.rs.ProcessingException;
 import org.eclipse.jetty.client.HttpClient;
+import org.glassfish.jersey.internal.util.JdkVersion;
 
 /**
  * Jetty HttpClient supplier to be registered into Jersey configuration to be used by {@link JettyConnector}.
@@ -51,6 +53,9 @@
 
     @Override
     public HttpClient getHttpClient() {
-        return httpClient;
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+        return null; // does not work at JDK 1.8
     }
 }
diff --git a/connectors/jetty-connector/src/main/resources/org/glassfish/jersey/jetty/connector/localization.properties b/connectors/jetty-connector/src/main/resources/org/glassfish/jersey/jetty/connector/localization.properties
index 88cbe10..128d40b 100644
--- a/connectors/jetty-connector/src/main/resources/org/glassfish/jersey/jetty/connector/localization.properties
+++ b/connectors/jetty-connector/src/main/resources/org/glassfish/jersey/jetty/connector/localization.properties
@@ -18,3 +18,4 @@
 method.not.supported=Method {0} not supported.
 invalid.configurable.component.type=The supplied component "{0}" is not assignable from JerseyClient or JerseyWebTarget.
 expected.connector.provider.not.used=The supplied component is not configured to use a JettyConnectorProvider.
+not.supported=Jetty connector is not supported on JDK version less than 11.
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AsyncTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AsyncTest.java
index 6934a60..0cb1ad0 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AsyncTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AsyncTest.java
@@ -20,15 +20,15 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AuthFilterTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AuthFilterTest.java
index e6b8636..3fb1b5f 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AuthFilterTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AuthFilterTest.java
@@ -18,9 +18,9 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AuthTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AuthTest.java
index f74656b..f0bfb60 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AuthTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/AuthTest.java
@@ -18,20 +18,20 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/CookieTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/CookieTest.java
index 31b9898..2a49c00 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/CookieTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/CookieTest.java
@@ -18,17 +18,17 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.JerseyClient;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/CustomLoggingFilter.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/CustomLoggingFilter.java
index c2ffba7..3f46241 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/CustomLoggingFilter.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/CustomLoggingFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/EntityTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/EntityTest.java
index 7a8b3d2..c706a60 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/EntityTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/EntityTest.java
@@ -20,19 +20,19 @@
 import java.util.concurrent.TimeoutException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
 
@@ -103,15 +103,15 @@
 
     @Override
     protected Application configure() {
-        ResourceConfig config = new ResourceConfig(EntityResource.class, JacksonFeature.class);
+        ResourceConfig config = new ResourceConfig(EntityResource.class/*, JacksonFeature.class*/);
         config.register(new LoggingFeature(LOGGER, LoggingFeature.Verbosity.PAYLOAD_ANY));
         return config;
     }
 
     @Override
     protected void configureClient(ClientConfig config) {
-        config.connectorProvider(new JettyConnectorProvider())
-                .register(JacksonFeature.class);
+        config.connectorProvider(new JettyConnectorProvider());
+                //.register(/*JacksonFeature.class*/);
     }
 
     @Test
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/ErrorTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/ErrorTest.java
index 128807a..5b90710 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/ErrorTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/ErrorTest.java
@@ -18,13 +18,13 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/FollowRedirectsTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/FollowRedirectsTest.java
index 448494c..ae1d07b 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/FollowRedirectsTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/FollowRedirectsTest.java
@@ -20,17 +20,17 @@
 import java.net.URI;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/GZIPContentEncodingTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/GZIPContentEncodingTest.java
index 5769766..1f8a7dd 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/GZIPContentEncodingTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/GZIPContentEncodingTest.java
@@ -19,15 +19,15 @@
 import java.util.Arrays;
 import java.util.logging.Logger;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/HelloWorldTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/HelloWorldTest.java
index e2e36ac..21008db 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/HelloWorldTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/HelloWorldTest.java
@@ -20,16 +20,16 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/HttpHeadersTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/HttpHeadersTest.java
index 73a327f..fd16bcd 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/HttpHeadersTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/HttpHeadersTest.java
@@ -19,14 +19,14 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/ManagedClientTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/ManagedClientTest.java
index 9cb3984..a48e555 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/ManagedClientTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/ManagedClientTest.java
@@ -24,20 +24,20 @@
 import java.lang.annotation.Target;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java
index 2e25101..2c0c92c 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java
@@ -19,16 +19,16 @@
 import java.util.concurrent.ExecutionException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PATCH;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PATCH;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/NoEntityTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/NoEntityTest.java
index 8b64d10..6fcb14c 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/NoEntityTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/NoEntityTest.java
@@ -18,13 +18,13 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/SyncResponseSizeTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/SyncResponseSizeTest.java
index 21816cf..ad08a64 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/SyncResponseSizeTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/SyncResponseSizeTest.java
@@ -23,14 +23,14 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.net.URI;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeoutException;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/TimeoutTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/TimeoutTest.java
index ec79442..040b194 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/TimeoutTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/TimeoutTest.java
@@ -22,17 +22,17 @@
 import java.util.concurrent.TimeoutException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.StreamingOutput;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/TraceSupportTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/TraceSupportTest.java
index 022667a..ee4a2d4 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/TraceSupportTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/TraceSupportTest.java
@@ -24,18 +24,18 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/UnderlyingHttpClientAccessTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/UnderlyingHttpClientAccessTest.java
index e5d9ec6..058bd57 100644
--- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/UnderlyingHttpClientAccessTest.java
+++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/UnderlyingHttpClientAccessTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.jetty.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.client.ClientConfig;
 
diff --git a/connectors/jetty-http2-connector/pom.xml b/connectors/jetty-http2-connector/pom.xml
index cfa7ea6..3e21e77 100644
--- a/connectors/jetty-http2-connector/pom.xml
+++ b/connectors/jetty-http2-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.connectors</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-jetty-http2-connector</artifactId>
@@ -34,6 +34,10 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <java8.build.outputDirectory>${project.basedir}/target</java8.build.outputDirectory>
+        <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
+        <java11.build.outputDirectory>${project.basedir}/target11</java11.build.outputDirectory>
+        <java11.sourceDirectory>${project.basedir}/src/main/java11</java11.sourceDirectory>
     </properties>
 
     <dependencies>
@@ -133,6 +137,166 @@
                 </dependency>
             </dependencies>
         </profile>
+        <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <properties>
+                <jetty.version>${jetty9.version}</jetty.version>
+            </properties>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-client</artifactId>
+                    <version>${jetty.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-util</artifactId>
+                    <version>${jetty.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+            </dependencies>
+            <build>
+                <directory>${java8.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java8.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/jetty/http2/connector/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <build>
+                <directory>${java11.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java11.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK11FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java11.build.outputDirectory} does not work here -->
+                    <exists>target11/classes/org/glassfish/jersey/jetty/connector/JettyHttp2ConnectorProvider.class</exists>
+                </file>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java8.build.outputDirectory}/classes/META-INF/versions/11</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java11.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java8.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java11.sourceDirectory}" prefix="META-INF/versions/11"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
     </profiles>
-
-</project>
+</project>
\ No newline at end of file
diff --git a/connectors/jetty-http2-connector/src/main/java/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ClientSupplier.java b/connectors/jetty-http2-connector/src/main/java11/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ClientSupplier.java
similarity index 100%
rename from connectors/jetty-http2-connector/src/main/java/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ClientSupplier.java
rename to connectors/jetty-http2-connector/src/main/java11/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ClientSupplier.java
diff --git a/connectors/jetty-http2-connector/src/main/java/org/glassfish/jersey/jetty/http2/connector/JettyHttp2Connector.java b/connectors/jetty-http2-connector/src/main/java11/org/glassfish/jersey/jetty/http2/connector/JettyHttp2Connector.java
similarity index 91%
rename from connectors/jetty-http2-connector/src/main/java/org/glassfish/jersey/jetty/http2/connector/JettyHttp2Connector.java
rename to connectors/jetty-http2-connector/src/main/java11/org/glassfish/jersey/jetty/http2/connector/JettyHttp2Connector.java
index 729114a..7f1e45d 100644
--- a/connectors/jetty-http2-connector/src/main/java/org/glassfish/jersey/jetty/http2/connector/JettyHttp2Connector.java
+++ b/connectors/jetty-http2-connector/src/main/java11/org/glassfish/jersey/jetty/http2/connector/JettyHttp2Connector.java
@@ -16,13 +16,14 @@
 
 package org.glassfish.jersey.jetty.http2.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 import org.eclipse.jetty.client.HttpClient;
 import org.eclipse.jetty.client.HttpClientTransport;
 import org.eclipse.jetty.http2.client.HTTP2Client;
 import org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2;
+import org.eclipse.jetty.io.ClientConnector;
 import org.glassfish.jersey.jetty.connector.JettyConnector;
 
 import java.util.Optional;
@@ -54,8 +55,8 @@
      * @since 2.41
      */
     @Override
-    protected HttpClientTransport initClientTransport() {
-        return new HttpClientTransportOverHTTP2(new HTTP2Client());
+    protected HttpClientTransport initClientTransport(ClientConnector clientConnector) {
+        return new HttpClientTransportOverHTTP2(new HTTP2Client(clientConnector));
     }
 
     /**
diff --git a/connectors/jetty-http2-connector/src/main/java/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java b/connectors/jetty-http2-connector/src/main/java11/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java
similarity index 94%
rename from connectors/jetty-http2-connector/src/main/java/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java
rename to connectors/jetty-http2-connector/src/main/java11/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java
index bf20d71..02eaf5a 100644
--- a/connectors/jetty-http2-connector/src/main/java/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java
+++ b/connectors/jetty-http2-connector/src/main/java11/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.jetty.http2.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Configuration;
 import org.eclipse.jetty.client.HttpClient;
 import org.glassfish.jersey.client.Initializable;
 import org.glassfish.jersey.client.spi.Connector;
diff --git a/connectors/jetty-http2-connector/src/main/java8/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ClientSupplier.java b/connectors/jetty-http2-connector/src/main/java8/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ClientSupplier.java
new file mode 100644
index 0000000..6275727
--- /dev/null
+++ b/connectors/jetty-http2-connector/src/main/java8/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ClientSupplier.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jetty.http2.connector;
+
+import jakarta.ws.rs.ProcessingException;
+import org.eclipse.jetty.client.HttpClient;
+import org.glassfish.jersey.internal.util.JdkVersion;
+import org.glassfish.jersey.jetty.connector.JettyHttpClientContract;
+import org.glassfish.jersey.jetty.connector.JettyHttpClientSupplier;
+import org.glassfish.jersey.jetty.connector.LocalizationMessages;
+
+/**
+ * HTTP/2 enabled version of the {@link JettyHttpClientSupplier}
+ *
+ * @since 2.41
+ */
+public class JettyHttp2ClientSupplier implements JettyHttpClientContract {
+    private final HttpClient http2Client;
+
+    /**
+     * default Http2Client created for the supplier.
+     */
+    public JettyHttp2ClientSupplier() {
+        this(createHttp2Client());
+    }
+    /**
+     * supplier for the {@code HttpClient} with {@code HttpClientTransportOverHTTP2} to be optionally registered
+     * to a {@link org.glassfish.jersey.client.ClientConfig}
+     * @param http2Client seed doc for JDK 11+.
+     */
+    public JettyHttp2ClientSupplier(HttpClient http2Client) {
+        this.http2Client = http2Client;
+    }
+
+    private static final HttpClient createHttp2Client() {
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+        return null; // does not work at JDK 1.8
+    }
+
+    @Override
+    public HttpClient getHttpClient() {
+        return http2Client;
+    }
+}
\ No newline at end of file
diff --git a/connectors/jetty-http2-connector/src/main/java8/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java b/connectors/jetty-http2-connector/src/main/java8/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java
new file mode 100644
index 0000000..74e5670
--- /dev/null
+++ b/connectors/jetty-http2-connector/src/main/java8/org/glassfish/jersey/jetty/http2/connector/JettyHttp2ConnectorProvider.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jetty.http2.connector;
+
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+import org.glassfish.jersey.client.spi.Connector;
+import org.glassfish.jersey.internal.util.JdkVersion;
+import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
+import org.glassfish.jersey.jetty.connector.LocalizationMessages;
+
+/**
+ * Provides HTTP2 enabled version of the {@link JettyConnectorProvider} for a client
+ *
+ * @since 2.41
+ */
+public class JettyHttp2ConnectorProvider extends JettyConnectorProvider {
+    @Override
+    public Connector getConnector(Client client, Configuration runtimeConfig) {
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+        return null; // does not work at JDK 1.8
+    }
+}
\ No newline at end of file
diff --git a/connectors/jetty-http2-connector/src/main/resources/org.glassfish.jersey.jetty.http2.connector/localization.properties b/connectors/jetty-http2-connector/src/main/resources/org.glassfish.jersey.jetty.http2.connector/localization.properties
new file mode 100644
index 0000000..aacb267
--- /dev/null
+++ b/connectors/jetty-http2-connector/src/main/resources/org.glassfish.jersey.jetty.http2.connector/localization.properties
@@ -0,0 +1,21 @@
+#
+# Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Eclipse Public License v. 2.0, which is available at
+# http://www.eclipse.org/legal/epl-2.0.
+#
+# This Source Code may also be made available under the following Secondary
+# Licenses when the conditions for such availability set forth in the
+# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+# version 2 with the GNU Classpath Exception, which is available at
+# https://www.gnu.org/software/classpath/license.html.
+#
+# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+#
+
+# {0} - HTTP method, e.g. GET, DELETE
+method.not.supported=Method {0} not supported.
+invalid.configurable.component.type=The supplied component "{0}" is not assignable from JerseyClient or JerseyWebTarget.
+expected.connector.provider.not.used=The supplied component is not configured to use a JettyConnectorProvider.
+not.supported=Jetty connector is not supported on JDK version less than 11.
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AsyncTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AsyncTest.java
index 589537d..76ef67b 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AsyncTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AsyncTest.java
@@ -23,15 +23,15 @@
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AuthFilterTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AuthFilterTest.java
index 08e5aef..5daad2d 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AuthFilterTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AuthFilterTest.java
@@ -23,9 +23,9 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.util.logging.Logger;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AuthTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AuthTest.java
index 82e71c9..7fe2edf 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AuthTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/AuthTest.java
@@ -24,19 +24,19 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.util.logging.Logger;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/CookieTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/CookieTest.java
index 638a1cf..eb1c653 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/CookieTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/CookieTest.java
@@ -25,17 +25,17 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 import java.util.logging.Logger;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/CustomLoggingFilter.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/CustomLoggingFilter.java
index bb05ede..369169a 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/CustomLoggingFilter.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/CustomLoggingFilter.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.jetty.http2.connector;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 import java.io.IOException;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/EntityTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/EntityTest.java
index cee5367..0f508ca 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/EntityTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/EntityTest.java
@@ -23,14 +23,14 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.xml.bind.annotation.XmlRootElement;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeoutException;
 import java.util.logging.Logger;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/ErrorTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/ErrorTest.java
index 598f9e1..64d8198 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/ErrorTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/ErrorTest.java
@@ -22,13 +22,13 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.util.logging.Logger;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/FollowRedirectsTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/FollowRedirectsTest.java
index e1e04ce..2604f9b 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/FollowRedirectsTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/FollowRedirectsTest.java
@@ -24,17 +24,17 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 import java.io.IOException;
 import java.net.URI;
 import java.util.logging.Logger;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/GZIPContentEncodingTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/GZIPContentEncodingTest.java
index afc1716..29bb444 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/GZIPContentEncodingTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/GZIPContentEncodingTest.java
@@ -24,15 +24,15 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.util.Arrays;
 import java.util.logging.Logger;
 
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/HelloWorldTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/HelloWorldTest.java
index c048b51..ac6870a 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/HelloWorldTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/HelloWorldTest.java
@@ -22,16 +22,16 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/Http2PresenceTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/Http2PresenceTest.java
index bb5dcc3..9823284 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/Http2PresenceTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/Http2PresenceTest.java
@@ -26,14 +26,14 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.util.List;
 import java.util.logging.Logger;
 
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/HttpHeadersTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/HttpHeadersTest.java
index 2f73d77..cb3b319 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/HttpHeadersTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/HttpHeadersTest.java
@@ -22,14 +22,14 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.util.List;
 import java.util.logging.Logger;
 
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/ManagedClientTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/ManagedClientTest.java
index 73cb735..215408b 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/ManagedClientTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/ManagedClientTest.java
@@ -24,20 +24,20 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.lang.annotation.Documented;
 import java.lang.annotation.ElementType;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/MethodTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/MethodTest.java
index b9498ca..8412c41 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/MethodTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/MethodTest.java
@@ -22,16 +22,16 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PATCH;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PATCH;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.util.concurrent.ExecutionException;
 import java.util.logging.Logger;
 
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/NoEntityTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/NoEntityTest.java
index 3616236..1c14296 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/NoEntityTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/NoEntityTest.java
@@ -22,12 +22,12 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.util.logging.Logger;
 
 public class NoEntityTest extends JerseyTest {
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/SyncResponseSizeTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/SyncResponseSizeTest.java
index 8c6a736..e3b2c3d 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/SyncResponseSizeTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/SyncResponseSizeTest.java
@@ -24,14 +24,14 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.net.URI;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeoutException;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/TimeoutTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/TimeoutTest.java
index b042e30..59f242e 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/TimeoutTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/TimeoutTest.java
@@ -25,17 +25,17 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.StreamingOutput;
 import java.net.URI;
 import java.nio.charset.StandardCharsets;
 import java.util.concurrent.TimeUnit;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/TraceSupportTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/TraceSupportTest.java
index e51cfa4..4bf0bda 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/TraceSupportTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/TraceSupportTest.java
@@ -25,18 +25,18 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/UnderlyingHttpClientAccessTest.java b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/UnderlyingHttpClientAccessTest.java
index ab5447c..29efcba 100644
--- a/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/UnderlyingHttpClientAccessTest.java
+++ b/connectors/jetty-http2-connector/src/test/java/org/glassfish/jersey/jetty/http2/connector/UnderlyingHttpClientAccessTest.java
@@ -20,9 +20,9 @@
 import org.glassfish.jersey.client.ClientConfig;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/connectors/netty-connector/pom.xml b/connectors/netty-connector/pom.xml
index b18efba..4e719ec 100644
--- a/connectors/netty-connector/pom.xml
+++ b/connectors/netty-connector/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.connectors</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-netty-connector</artifactId>
diff --git a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/JerseyClientHandler.java b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/JerseyClientHandler.java
index 7172905..5d1d2f2 100644
--- a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/JerseyClientHandler.java
+++ b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/JerseyClientHandler.java
@@ -16,6 +16,7 @@
 
 package org.glassfish.jersey.netty.connector;
 
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URI;
@@ -29,9 +30,9 @@
 import java.util.concurrent.TimeoutException;
 import java.util.function.Predicate;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/JerseyExpectContinueHandler.java b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/JerseyExpectContinueHandler.java
index 390bddf..8bceac6 100644
--- a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/JerseyExpectContinueHandler.java
+++ b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/JerseyExpectContinueHandler.java
@@ -28,7 +28,7 @@
 import io.netty.handler.codec.http.HttpUtil;
 import org.glassfish.jersey.client.ClientRequest;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 import java.util.Arrays;
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
diff --git a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/NettyConnector.java b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/NettyConnector.java
index dba784c..ab71e1f 100644
--- a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/NettyConnector.java
+++ b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/NettyConnector.java
@@ -41,9 +41,10 @@
 import java.util.function.Supplier;
 
 import javax.net.ssl.SSLContext;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 import io.netty.bootstrap.Bootstrap;
 import io.netty.channel.Channel;
diff --git a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/NettyConnectorProvider.java b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/NettyConnectorProvider.java
index 01895cf..cdf90dd 100644
--- a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/NettyConnectorProvider.java
+++ b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/NettyConnectorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.netty.connector;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.Beta;
 import org.glassfish.jersey.client.spi.Connector;
diff --git a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/internal/JerseyChunkedInput.java b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/internal/JerseyChunkedInput.java
index e5262d3..ad6da7e 100644
--- a/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/internal/JerseyChunkedInput.java
+++ b/connectors/netty-connector/src/main/java/org/glassfish/jersey/netty/connector/internal/JerseyChunkedInput.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.util.concurrent.LinkedBlockingDeque;
 import java.util.concurrent.TimeUnit;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufAllocator;
@@ -35,7 +35,7 @@
 
 /**
  * Netty {@link ChunkedInput} implementation which also serves as an output
- * stream to Jersey {@link javax.ws.rs.container.ContainerResponseContext}.
+ * stream to Jersey {@link jakarta.ws.rs.container.ContainerResponseContext}.
  *
  * @author Pavel Bucek
  */
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/AsyncTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/AsyncTest.java
index 6217b52..b982048 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/AsyncTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/AsyncTest.java
@@ -20,15 +20,15 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/BufferedTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/BufferedTest.java
index 46d6608..963dd86 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/BufferedTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/BufferedTest.java
@@ -24,19 +24,19 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 import java.io.IOException;
 
 public class BufferedTest extends JerseyTest {
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/ConnectionExceptionTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/ConnectionExceptionTest.java
index c0d726a..d35394e 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/ConnectionExceptionTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/ConnectionExceptionTest.java
@@ -21,9 +21,9 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 
 public class ConnectionExceptionTest {
     @Test
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/CustomLoggingFilter.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/CustomLoggingFilter.java
index e83ca38..df38e11 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/CustomLoggingFilter.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/CustomLoggingFilter.java
@@ -19,14 +19,14 @@
 import java.io.IOException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/FollowRedirectsTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/FollowRedirectsTest.java
index 127668b..3a1cf69 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/FollowRedirectsTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/FollowRedirectsTest.java
@@ -23,14 +23,14 @@
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HelloWorldTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HelloWorldTest.java
index d30c9b9..93fd9f8 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HelloWorldTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HelloWorldTest.java
@@ -20,16 +20,16 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpHeadersTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpHeadersTest.java
index c3a9c1b..ee752a5 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpHeadersTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpHeadersTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.netty.connector;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HugeEntityTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HugeEntityTest.java
index f3cfd7e..49fccc2 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HugeEntityTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HugeEntityTest.java
@@ -23,15 +23,15 @@
 import java.lang.reflect.Type;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java
index d4ec718..53818f2 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.netty.connector;
 
-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.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+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.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/NoEntityTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/NoEntityTest.java
index f9670ce..bda9e18 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/NoEntityTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/NoEntityTest.java
@@ -18,12 +18,12 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/ParallelTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/ParallelTest.java
index 43ce709..1b784bf 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/ParallelTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/ParallelTest.java
@@ -27,11 +27,11 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/RedirectHeadersTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/RedirectHeadersTest.java
index 4c71d05..dd56e74 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/RedirectHeadersTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/RedirectHeadersTest.java
@@ -27,18 +27,18 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 import java.net.URI;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.logging.Logger;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/TimeoutTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/TimeoutTest.java
index 26c2884..42f948d 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/TimeoutTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/TimeoutTest.java
@@ -19,11 +19,11 @@
 import java.util.concurrent.CompletionException;
 import java.util.concurrent.TimeoutException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/TraceSupportTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/TraceSupportTest.java
index 102307f..268b08b 100644
--- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/TraceSupportTest.java
+++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/TraceSupportTest.java
@@ -24,18 +24,18 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/connectors/pom.xml b/connectors/pom.xml
index e1c4fb7..a48065d 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.connectors</groupId>
@@ -37,6 +37,7 @@
         <module>apache-connector</module>
         <module>apache5-connector</module>
         <module>grizzly-connector</module>
+        <module>helidon-connector</module>
         <module>jdk-connector</module>
         <module>jetty-connector</module>
         <module>jetty-http2-connector</module>
@@ -81,9 +82,10 @@
     <profiles>
         <profile>
             <id>HelidonConnector</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
+            <!-- TODO: activate after Helidon is jakartified -->
+            <!--<activation>
+                <jdk>11</jdk>
+            </activation>-->
             <modules>
                 <module>helidon-connector</module>
             </modules>
diff --git a/containers/glassfish/jersey-gf-ejb/pom.xml b/containers/glassfish/jersey-gf-ejb/pom.xml
index 19df84f..d388b7e 100644
--- a/containers/glassfish/jersey-gf-ejb/pom.xml
+++ b/containers/glassfish/jersey-gf-ejb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.containers.glassfish</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-gf-ejb</artifactId>
@@ -42,18 +42,17 @@
         <dependency>
             <groupId>jakarta.ejb</groupId>
             <artifactId>jakarta.ejb-api</artifactId>
-            <version>${ejb.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.interceptor</groupId>
             <artifactId>jakarta.interceptor-api</artifactId>
-            <version>${javax.interceptor.version}</version>
+            <version>${jakarta.interceptor.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -62,39 +61,6 @@
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-            <groupId>org.glassfish.main.ejb</groupId>
-            <artifactId>ejb-container</artifactId>
-            <scope>provided</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.glassfish.hk2</groupId>
-                    <artifactId>hk2-core</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.main.common</groupId>
-            <artifactId>container-common</artifactId>
-            <scope>provided</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.glassfish.hk2</groupId>
-                    <artifactId>hk2-core</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.main.hk2</groupId>
-            <artifactId>hk2-config</artifactId>
-            <optional>true</optional>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.glassfish.hk2</groupId>
-                    <artifactId>hk2-core</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <build>
@@ -131,12 +97,12 @@
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
-                        <!-- Explicitly set versions for packages from GlassFish to allow future uptake of GlassFish 5.x-->
+                        <!-- Explicitly set versions for packages from GlassFish to allow future uptake of GlassFish 7.x-->
                         <Import-Package>
-                            com.sun.*;version="[4.0,7)",
-                            ${javax.annotation.osgi.version},
-                            org.glassfish.ejb.*;version="[4.0,7)",
-                            org.glassfish.internal.*;version="[4.0,7)",
+                            com.sun.*;version="[6.0,8)",
+                            ${jakarta.annotation.osgi.version},
+                            org.glassfish.ejb.*;version="[6.0,8)",
+                            org.glassfish.internal.*;version="[6.0,8)",
                             ${hk2.osgi.version},
                             *
                         </Import-Package>
@@ -146,4 +112,58 @@
         </plugins>
     </build>
 
+    <profiles>
+        <profile>
+            <id>jdk8</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.glassfish.main.ejb</groupId>
+                    <artifactId>ejb-container</artifactId>
+                    <version>6.0.0</version>
+                    <scope>provided</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.main.common</groupId>
+                    <artifactId>container-common</artifactId>
+                    <version>6.0.0</version>
+                    <scope>provided</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.main.hk2</groupId>
+                    <artifactId>hk2-config</artifactId>
+                    <version>6.0.0</version>
+                    <scope>provided</scope>
+                    <optional>true</optional>
+                </dependency>
+            </dependencies>
+        </profile>
+        <profile>
+            <id>jdk11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.glassfish.main.ejb</groupId>
+                    <artifactId>ejb-container</artifactId>
+                    <scope>provided</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.main.common</groupId>
+                    <artifactId>container-common</artifactId>
+                    <scope>provided</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.main.hk2</groupId>
+                    <artifactId>hk2-config</artifactId>
+                    <scope>provided</scope>
+                    <optional>true</optional>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentInterceptor.java b/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentInterceptor.java
index 8e08ffa..82474d1 100644
--- a/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentInterceptor.java
+++ b/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.gf.ejb.internal;
 
-import javax.annotation.PostConstruct;
-import javax.interceptor.InvocationContext;
+import jakarta.annotation.PostConstruct;
+import jakarta.interceptor.InvocationContext;
 
 import org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentProvider.java b/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentProvider.java
index 47f1932..6e7ffbd 100644
--- a/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentProvider.java
+++ b/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentProvider.java
@@ -40,13 +40,13 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.annotation.Priority;
-import javax.ejb.Local;
-import javax.ejb.Remote;
-import javax.ejb.Stateless;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.ejb.Local;
+import jakarta.ejb.Remote;
+import jakarta.ejb.Stateless;
+import jakarta.inject.Singleton;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 
@@ -118,7 +118,7 @@
                 }
                 return stateless.name();
             }
-            final javax.ejb.Singleton singleton = clazz.getAnnotation(javax.ejb.Singleton.class);
+            final jakarta.ejb.Singleton singleton = clazz.getAnnotation(jakarta.ejb.Singleton.class);
             if (singleton != null) {
                 if (singleton.name().isEmpty()) {
                     return clazz.getSimpleName();
@@ -140,9 +140,9 @@
      * Annotations to determine EJB components.
      */
     private static final Set<String> EjbComponentAnnotations = Collections.unmodifiableSet(new HashSet<String>() {{
-        add("javax.ejb.Stateful");
-        add("javax.ejb.Stateless");
-        add("javax.ejb.Singleton");
+        add("jakarta.ejb.Stateful");
+        add("jakarta.ejb.Stateless");
+        add("jakarta.ejb.Singleton");
     }});
 
     private InjectionManager injectionManager = null;
@@ -381,7 +381,7 @@
     }
 
     private static boolean isAcceptableLocalInterface(final Class<?> iface) {
-        if ("javax.ejb".equals(iface.getPackage().getName())) {
+        if ("jakarta.ejb".equals(iface.getPackage().getName())) {
             return false;
         }
         return !Serializable.class.equals(iface) && !Externalizable.class.equals(iface);
diff --git a/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbExceptionMapper.java b/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbExceptionMapper.java
index 243b167..1755448 100644
--- a/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbExceptionMapper.java
+++ b/containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.gf.ejb.internal;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.ejb.EJBException;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.ejb.EJBException;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.spi.ExceptionMappers;
 import org.glassfish.jersey.spi.ExtendedExceptionMapper;
diff --git a/containers/glassfish/pom.xml b/containers/glassfish/pom.xml
index a56abdb..e7f1668 100644
--- a/containers/glassfish/pom.xml
+++ b/containers/glassfish/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.containers.glassfish</groupId>
diff --git a/containers/grizzly2-http/pom.xml b/containers/grizzly2-http/pom.xml
index d07f52a..c8a2bb6 100644
--- a/containers/grizzly2-http/pom.xml
+++ b/containers/grizzly2-http/pom.xml
@@ -17,13 +17,14 @@
 
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-grizzly2-http</artifactId>
@@ -32,15 +33,57 @@
 
     <description>Grizzly 2 Http Container.</description>
 
+    <properties>
+        <!-- alternatives: JerseyHttpClientThread, JettyClientThread in the same package -->
+        <client>JdkHttpClientThread</client>
+        <clientImplPackage>org.glassfish.jersey.grizzly2.httpserver.test.tools</clientImplPackage>
+        <clientImpl>${clientImplPackage}.${client}</clientImpl>
+        <testMemory>-Xms160m -Xmx160m -Xss512k</testMemory>
+    </properties>
+
     <dependencies>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.grizzly</groupId>
             <artifactId>grizzly-http-server</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.grizzly</groupId>
+            <artifactId>grizzly-http2</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.grizzly</groupId>
+            <artifactId>grizzly-npn-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-client</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty.http2</groupId>
+            <artifactId>http2-http-client-transport</artifactId>
+            <version>${jetty.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcmail-jdk15on</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
@@ -60,7 +103,87 @@
                 <artifactId>maven-bundle-plugin</artifactId>
                 <inherited>true</inherited>
             </plugin>
+
+            <plugin>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <!--
+                    memory settings:
+                      - to avoid unstable JVM process; fail fast, don't produce dump
+                      - memory sizes must reflect count of clients!
+                    test time:
+                      - must not affect stability of the server; if it does, the test detected a bug
+                      - 10 seconds should be enough to process thousands of requests, if there would
+                        be some leak, it should be visible
+                    client count:
+                      - each client is reusable to produce parallel requests, but each also consumes
+                        significiant amount of memory, in this case shared with the server.
+                    -->
+                    <argLine>
+                        ${testMemory} -XX:+CrashOnOutOfMemoryError -XX:-HeapDumpOnOutOfMemoryError
+                        -DtestTime=10 -DclientCount=30
+                        -DclientImpl=${clientImpl}
+                    </argLine>
+                    <trimStackTrace>false</trimStackTrace>
+                    <parallel>methods</parallel>
+                    <threadCountMethods>3</threadCountMethods>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
+    <profiles>
+        <profile>
+            <id>jdk11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <build>
+                <pluginManagement>
+                    <plugins>
+                        <plugin>
+                            <artifactId>maven-compiler-plugin</artifactId>
+                            <executions>
+                                <execution>
+                                    <id>default-testCompile</id>
+                                    <configuration>
+                                        <source>11</source>
+                                        <target>11</target>
+                                    </configuration>
+                                </execution>
+                            </executions>
+                        </plugin>
+                    </plugins>
+                </pluginManagement>
+            </build>
+        </profile>
+        <profile>
+            <id>jdk8</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <pluginManagement>
+                    <plugins>
+                        <plugin>
+                            <artifactId>maven-compiler-plugin</artifactId>
+                            <executions>
+                                <execution>
+                                    <id>default-testCompile</id>
+                                    <configuration>
+                                        <!--
+                                        Jetty client is not compatible with JDK8, older versions need different setup
+                                        JDK HTTP client is not in JDK8 at all
+                                        Jersey Client doesn't support HTTP/2 (at least not directly)
+                                        -->
+                                        <skip>true</skip>
+                                    </configuration>
+                                </execution>
+                            </executions>
+                        </plugin>
+                    </plugins>
+                </pluginManagement>
+            </build>
+        </profile>
+    </profiles>
 </project>
diff --git a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpContainer.java b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpContainer.java
index 5bd8b1f..d0f65c3 100644
--- a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpContainer.java
+++ b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpContainer.java
@@ -29,12 +29,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.grizzly2.httpserver.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
@@ -116,7 +116,7 @@
      * This binder allows to inject underlying Grizzly HTTP request and response instances.
      * Note that since Grizzly {@code Request} class is not proxiable as it does not expose an empty constructor,
      * the injection of Grizzly request instance into singleton JAX-RS and Jersey providers is only supported via
-     * {@link javax.inject.Provider injection provider}.
+     * {@link jakarta.inject.Provider injection provider}.
      */
     static class GrizzlyBinder extends AbstractBinder {
 
@@ -232,7 +232,7 @@
                                                           final ContainerResponse context)
                 throws ContainerException {
             try {
-                final javax.ws.rs.core.Response.StatusType statusInfo = context.getStatusInfo();
+                final jakarta.ws.rs.core.Response.StatusType statusInfo = context.getStatusInfo();
                 if (statusInfo.getReasonPhrase() == null) {
                     grizzlyResponse.setStatus(statusInfo.getStatusCode());
                 } else {
diff --git a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpContainerProvider.java b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpContainerProvider.java
index 91bfc30..d3bbc9a 100644
--- a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpContainerProvider.java
+++ b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.grizzly2.httpserver;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.spi.ContainerProvider;
 
diff --git a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory.java b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory.java
index 4164e3a..28d03d4 100644
--- a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory.java
+++ b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory.java
@@ -19,7 +19,7 @@
 import java.io.IOException;
 import java.net.URI;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.glassfish.jersey.grizzly2.httpserver.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
@@ -298,7 +298,9 @@
         // Map the path to the processor.
         final ServerConfiguration config = server.getServerConfiguration();
         if (handler != null) {
-            final String path = uri.getPath().replaceAll("/{2,}", "/");
+            final String appPath = handler.getApplicationHandler().getConfiguration().getApplicationPath();
+            final String uriPath = appPath == null ? uri.getPath() : uri.getPath() + "/" + appPath;
+            final String path = uriPath.replaceAll("/{2,}", "/");
 
             final String contextPath = path.endsWith("/") ? path.substring(0, path.length() - 1) : path;
             config.addHttpHandler(handler, HttpHandlerRegistration.bulder().contextPath(contextPath).build());
diff --git a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/package-info.java b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/package-info.java
index 75cf389..6f0c5ae 100644
--- a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/package-info.java
+++ b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,6 +15,6 @@
  */
 
 /**
- * Jersey Grizzly 2.x container classes.
+ * Jersey Grizzly 3.x container classes.
  */
 package org.glassfish.jersey.grizzly2.httpserver;
diff --git a/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerTest.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerTest.java
new file mode 100644
index 0000000..812b480
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerTest.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package org.glassfish.jersey.grizzly2.httpserver;
+
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.glassfish.jersey.grizzly2.httpserver.test.tools.ClientThread;
+import org.glassfish.jersey.grizzly2.httpserver.test.tools.ClientThread.ClientThreadSettings;
+import org.glassfish.jersey.grizzly2.httpserver.test.tools.JdkHttpClientThread;
+import org.glassfish.jersey.grizzly2.httpserver.test.tools.ServerManager;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+
+/**
+ * Test verifying stability of the {@link GrizzlyHttpContainer} having to serve many requests
+ * and also giving several examples of how to configure HTTP, HTTPS and HTTP/2 clients.
+ * <p>
+ * Created as an attempt to reproduce Grizzly's issue #2125 (GitHub)
+ *
+ * @author David Matejcek
+ */
+public class GrizzlyHttpServerTest {
+
+    private static final String CLIENT_IMPLEMENTATION = System.getProperty("clientImpl",
+        JdkHttpClientThread.class.getCanonicalName());
+    private static final long TIME_IN_MILLIS = Long.getLong("testTime", 10L) * 1000L;
+    private static final int COUNT_OF_CLIENTS = Integer.getInteger("clientCount", 20);
+
+    private final List<ClientThread> clients = new ArrayList<>(COUNT_OF_CLIENTS);
+    private AtomicReference<Throwable> error = new AtomicReference<>();
+    private AtomicInteger counter;
+    private ServerManager server;
+
+    @BeforeAll
+    public static void printSettings() {
+        System.out.println("Client implementation: " + CLIENT_IMPLEMENTATION);
+        System.out.println("Count of clients: " + COUNT_OF_CLIENTS);
+        System.out.println("Test duration: " + TIME_IN_MILLIS / 1000 + " s");
+    }
+
+
+    @BeforeEach
+    public void init() {
+        this.counter = new AtomicInteger();
+    }
+
+
+    @AfterEach
+    public void cleanup(TestInfo testInfo) {
+        error = null;
+        System.out.println(String.format("Server processed %s requests of test %s.", counter, testInfo.getDisplayName()));
+        if (server != null) {
+            server.close();
+        }
+    }
+
+
+    /**
+     * Test for unsecured HTTP 1.1 protocol.
+     *
+     * @throws Throwable
+     */
+    @Test
+    public void http() throws Throwable {
+        final boolean secured = false;
+        final boolean useHttp2 = false;
+        this.server = new ServerManager(secured, useHttp2);
+        this.clients.addAll(createClients(secured, useHttp2));
+        executeTest();
+    }
+
+
+    /**
+     * Test for HTTP 1.1 protocol encrypted by {@value ClientThread#ENCRYPTION_PROTOCOL}.
+     *
+     * @throws Throwable
+     */
+    @Test
+    public void https() throws Throwable {
+        final boolean secured = true;
+        final boolean useHttp2 = false;
+        this.server = new ServerManager(secured, useHttp2);
+        this.clients.addAll(createClients(secured, useHttp2));
+        executeTest();
+    }
+
+
+    /**
+     * This test is rather for documentaion purpose, because HTTP/2 is usually not allowed to be
+     * used without encryption. Remember that.
+     *
+     * @throws Throwable
+     */
+    @Test
+    public void http2() {
+        Assertions.assertThrows(IllegalArgumentException.class,
+                () ->
+        this.server = new ServerManager(false, true));
+    }
+
+
+    /**
+     * Test for HTTP/2 protocol encrypted by {@value ClientThread#ENCRYPTION_PROTOCOL}.
+     *
+     * @throws Throwable
+     */
+    @Test
+    public void https2() throws Throwable {
+        final boolean secured = true;
+        final boolean useHttp2 = true;
+        this.server = new ServerManager(secured, useHttp2);
+        this.clients.addAll(createClients(secured, useHttp2));
+        executeTest();
+    }
+
+
+    private void executeTest() throws Throwable {
+        for (final ClientThread clientThread : clients) {
+            clientThread.start();
+        }
+        final long start = System.currentTimeMillis();
+        while (error.get() == null && System.currentTimeMillis() < start + TIME_IN_MILLIS) {
+            Thread.yield();
+        }
+        for (final ClientThread clientThread : clients) {
+            clientThread.stopClient();
+        }
+        for (final ClientThread clientThread : clients) {
+            // cycles are fast, so we can afford this.
+            clientThread.join(100L);
+        }
+        if (error.get() != null) {
+            throw error.get();
+        }
+        assertTrue(counter.get() > 0, "No requests processed.");
+    }
+
+
+    private Collection<ClientThread> createClients(final boolean secured, final boolean useHttp2) throws Exception {
+        final List<ClientThread> list = new ArrayList<>(COUNT_OF_CLIENTS);
+        for (int i = 0; i < COUNT_OF_CLIENTS; i++) {
+            list.add(createClient(secured, useHttp2, i + 1));
+        }
+        return list;
+    }
+
+
+    private ClientThread createClient(final boolean secured, final boolean useHttp2, final int id) throws Exception {
+        @SuppressWarnings("unchecked")
+        final Class<ClientThread> clazz = (Class<ClientThread>) Class.forName(CLIENT_IMPLEMENTATION);
+        final Constructor<ClientThread> constructor = clazz.getConstructor(ClientThreadSettings.class,
+            AtomicInteger.class, AtomicReference.class);
+        assertNotNull(constructor, "constructor for " + CLIENT_IMPLEMENTATION);
+        final ClientThreadSettings settings = new ClientThreadSettings(id, secured, useHttp2,
+            server.getApplicationServiceEndpoint());
+        return constructor.newInstance(settings, counter, error);
+    }
+}
diff --git a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Resource.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/application/TestedEndpoint.java
similarity index 63%
rename from tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Resource.java
rename to containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/application/TestedEndpoint.java
index 7444fcd..3ad7fb8 100644
--- a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Resource.java
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/application/TestedEndpoint.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,19 +14,19 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.tests.integration.portability;
+package org.glassfish.jersey.grizzly2.httpserver.test.application;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-/**
- * @author Martin Matula
- */
-public class Jersey1Resource {
+@Path("tested-endpoint")
+public class TestedEndpoint {
+
     @GET
     @Produces(MediaType.TEXT_PLAIN)
-    public String getJersey1() {
-        return "Using Jersey 1.x";
+    public String getIt() {
+        return "Got it!";
     }
 }
diff --git a/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/ClientThread.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/ClientThread.java
new file mode 100644
index 0000000..2b11fab
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/ClientThread.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.grizzly2.httpserver.test.tools;
+
+import java.net.URI;
+import java.security.GeneralSecurityException;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+
+/**
+ * Why this? To simulate parallel client access - several clients intensively sending requests
+ * and verifying responses.
+ *
+ * @author David Matejcek
+ */
+public abstract class ClientThread extends Thread {
+
+    /** Encryption used if you enable secured communication */
+    public static final String ENCRYPTION_PROTOCOL = "TLSv1.2";
+
+    private final ClientThreadSettings settings;
+    private final AtomicInteger counter;
+    private final AtomicReference<Throwable> error;
+    private volatile boolean stop;
+
+
+
+    public ClientThread(final ClientThreadSettings settings, final AtomicInteger counter,
+        final AtomicReference<Throwable> error) throws Exception {
+        this.settings = settings;
+        this.counter = counter;
+        this.error = error;
+        setName("client-" + settings.id);
+        setUncaughtExceptionHandler((t, e) -> {
+            stop = true;
+            error.compareAndSet(null, e);
+        });
+    }
+
+
+    /**
+     * @return {@link ClientThreadSettings}
+     */
+    protected final ClientThreadSettings getSettings() {
+        return this.settings;
+    }
+
+
+    /**
+     * Executes the requests and checks the response.
+     *
+     * @throws Throwable
+     */
+    protected abstract void doGetAndCheckResponse() throws Throwable;
+
+
+    /**
+     * If the client is stateful, override this method.
+     */
+    protected void disconnect() {
+        // by default nothing to do.
+    }
+
+
+    /**
+     * Instructs the client thread to stop when possible.
+     */
+    public void stopClient() {
+        this.stop = true;
+    }
+
+
+    @Override
+    public final void run() {
+        try {
+            // stop when asked to stop or any "brother" thread observed throwable
+            while (!stop && error.get() == null) {
+                doGetAndCheckResponse();
+                counter.incrementAndGet();
+            }
+        } catch (final Throwable t) {
+            throw new IllegalStateException("The client thread failed: " + getName(), t);
+        } finally {
+            disconnect();
+        }
+    }
+
+
+    /**
+     * @return Trivial {@link SSLContext}, accepting all certificates and host names
+     * @throws GeneralSecurityException
+     */
+    protected static SSLContext createSslContext() throws GeneralSecurityException {
+        final SSLContext ctx = SSLContext.getInstance(ENCRYPTION_PROTOCOL);
+        ctx.init(null, new TrustManager[] {new NaiveTrustManager()}, null);
+        return ctx;
+    }
+
+    /**
+     * Simplified configuration of the client thread.
+     */
+    public static class ClientThreadSettings {
+
+        /** Id of the client thread */
+        public final int id;
+        /** True if the connection will be encrypted */
+        public final boolean secured;
+        /** True if the protocol should be HTTP/2, false for HTTP 1.1 */
+        public final boolean useHttp2;
+        /** The endpoint {@link URI} of the servlet */
+        public final URI targetUri;
+
+        /**
+         * Creates simplified configuration of the client thread.
+         *
+         * @param id id of the client thread
+         * @param secured true if the connection will be encrypted
+         * @param useHttp2 true if the protocol should be HTTP/2, false for HTTP 1.1
+         * @param targetUri the endpoint {@link URI} of the servlet
+         */
+        public ClientThreadSettings(final int id, final boolean secured, final boolean useHttp2, final URI targetUri) {
+            this.id = id;
+            this.secured = secured;
+            this.useHttp2 = useHttp2;
+            this.targetUri = targetUri;
+        }
+    }
+}
diff --git a/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JdkHttpClientThread.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JdkHttpClientThread.java
new file mode 100644
index 0000000..58ea74a
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JdkHttpClientThread.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.grizzly2.httpserver.test.tools;
+
+import java.net.http.HttpClient;
+import java.net.http.HttpClient.Version;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.glassfish.grizzly.http.util.Header;
+
+import jakarta.ws.rs.core.MediaType;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * JDK11+ has it's own {@link HttpClient} implementation supporting both HTTP 1.1 and HTTP/2.
+ *
+ * @author David Matejcek
+ */
+public class JdkHttpClientThread extends ClientThread {
+    private final HttpClient client;
+
+    public JdkHttpClientThread(final ClientThreadSettings settings,
+        final AtomicInteger counter, final AtomicReference<Throwable> error) throws Exception {
+        super(settings, counter, error);
+        this.client = createClient(settings.secured, settings.useHttp2);
+    }
+
+
+    @Override
+    public void doGetAndCheckResponse() throws Throwable {
+        final HttpRequest request = HttpRequest.newBuilder(getSettings().targetUri)
+            .header(Header.ContentType.toString(), MediaType.TEXT_PLAIN).GET().build();
+        final HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
+        assertEquals(200, response.statusCode());
+        assertEquals("Got it!", response.body());
+    }
+
+
+    private static HttpClient createClient(final boolean secured, final boolean useHttp2) throws Exception {
+        final HttpClient.Builder builder = HttpClient.newBuilder()
+            .version(useHttp2 ? Version.HTTP_2 : Version.HTTP_1_1);
+        if (secured) {
+            builder.sslContext(createSslContext());
+        }
+        return builder.build();
+    }
+}
diff --git a/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JerseyHttpClientThread.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JerseyHttpClientThread.java
new file mode 100644
index 0000000..385c479
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JerseyHttpClientThread.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.grizzly2.httpserver.test.tools;
+
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.glassfish.jersey.client.ClientConfig;
+
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * Jersey doesn't support HTTP/2 at this moment, but this class may be extended later.
+ * Even this way it passes all tests, because server is still able to use HTTP 1.1 despite we
+ * configured it to use HTTP/2
+ *
+ * @author David Matejcek
+ */
+public class JerseyHttpClientThread extends ClientThread {
+
+    private final Client client;
+
+    public JerseyHttpClientThread(final ClientThreadSettings settings,
+        final AtomicInteger counter, final AtomicReference<Throwable> error) throws Exception {
+        super(settings, counter, error);
+        this.client = createClient(settings.secured, settings.useHttp2);
+    }
+
+
+    @Override
+    public void doGetAndCheckResponse() throws Throwable {
+        final WebTarget path = client.target(getSettings().targetUri.toString());
+        final Invocation.Builder builder = path.request();
+        final Response response = builder.get();
+        final String responseMsg = response.readEntity(String.class);
+        assertEquals(200, response.getStatus());
+        assertEquals("Got it!", responseMsg);
+    }
+
+
+    private static Client createClient(final boolean secured, final boolean useHttp2) throws Exception {
+        final ClientBuilder builder = ClientBuilder.newBuilder().withConfig(new ClientConfig());
+        if (secured) {
+            builder.sslContext(createSslContext());
+        }
+        return builder.build();
+    }
+}
diff --git a/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JettyHttpClientThread.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JettyHttpClientThread.java
new file mode 100644
index 0000000..6a09e52
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/JettyHttpClientThread.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.grizzly2.httpserver.test.tools;
+
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.eclipse.jetty.client.HttpClient;
+import org.eclipse.jetty.client.HttpClientTransport;
+import org.eclipse.jetty.client.api.ContentResponse;
+import org.eclipse.jetty.client.http.HttpClientTransportOverHTTP;
+import org.eclipse.jetty.http2.client.HTTP2Client;
+import org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2;
+import org.eclipse.jetty.io.ClientConnector;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * Jetty {@link HttpClient} supports both HTTP 1.1 and HTTP/2.
+ *
+ * @author David Matejcek
+ */
+public class JettyHttpClientThread extends ClientThread {
+
+    private final HttpClient client;
+
+    public JettyHttpClientThread(final ClientThreadSettings settings, final AtomicInteger counter,
+        final AtomicReference<Throwable> error) throws Exception {
+        super(settings, counter, error);
+        this.client = createJettyClient(settings.secured, settings.useHttp2);
+    }
+
+
+    @Override
+    protected void disconnect() {
+        try {
+            this.client.stop();
+        } catch (Exception e) {
+            throw new IllegalStateException("Could not stop the client: " + getName(), e);
+        }
+    }
+
+    @Override
+    public void doGetAndCheckResponse() throws Throwable {
+        final ContentResponse response = this.client.GET(getSettings().targetUri);
+        assertEquals(200, response.getStatus());
+        assertEquals("Got it!", response.getContentAsString());
+    }
+
+
+    private static HttpClient createJettyClient(final boolean secured, final boolean useHttp2) throws Exception {
+        if (!secured && !useHttp2) {
+            final HttpClient httpClient = new HttpClient();
+            httpClient.start();
+            return httpClient;
+        }
+
+        final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client();
+        sslContextFactory.setSslContext(createSslContext());
+        final ClientConnector connector = new ClientConnector();
+        connector.setSslContextFactory(sslContextFactory);
+
+        final HttpClientTransport transport;
+        if (useHttp2) {
+            transport = new HttpClientTransportOverHTTP2(new HTTP2Client(connector));
+        } else {
+            transport = new HttpClientTransportOverHTTP(connector);
+        }
+
+        final HttpClient httpClient = new HttpClient(transport);
+        httpClient.start();
+        return httpClient;
+    }
+}
diff --git a/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/KeyStoreManager.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/KeyStoreManager.java
new file mode 100644
index 0000000..4cb8de3
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/KeyStoreManager.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.grizzly2.httpserver.test.tools;
+
+import java.io.ByteArrayOutputStream;
+import java.math.BigInteger;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.SecureRandom;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
+import java.util.Date;
+import java.util.Random;
+
+import org.bouncycastle.asn1.ASN1Sequence;
+import org.bouncycastle.asn1.x500.X500Name;
+import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
+import org.bouncycastle.cert.X509CertificateHolder;
+import org.bouncycastle.cert.X509v3CertificateBuilder;
+import org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
+import org.bouncycastle.operator.ContentSigner;
+import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
+
+/**
+ * Creates a new keystore in memory.
+ * This keystore contains just a private key and a self-signed certificate valid for two days.
+ *
+ * @author David Matejcek
+ */
+public class KeyStoreManager {
+
+    private static final String KEYSTORE_PASSWORD = "";
+    private final KeyStore keyStore;
+    private final byte[] keyStoreBytes;
+
+    /**
+     * @param hostname - hostname, used for CN value of the self-signed certificate
+     */
+    public KeyStoreManager(final String hostname) {
+        try {
+            this.keyStore = KeyStore.getInstance("PKCS12");
+            this.keyStore.load(null);
+            this.keyStoreBytes = generatePrivateKeyAndCertificate(hostname, this.keyStore);
+        } catch (Exception e) {
+            throw new IllegalStateException("Could not initialize the keystore.", e);
+        }
+    }
+
+
+    /**
+     * @return {@link KeyStore}
+     */
+    public KeyStore getKeyStore() {
+        return this.keyStore;
+    }
+
+
+    /**
+     * @return the key store serialized to a byte array
+     */
+    public byte[] getKeyStoreBytes() {
+        return this.keyStoreBytes;
+    }
+
+
+    /**
+     * @return the key store password
+     */
+    public String getKeyStorePassword() {
+        return KEYSTORE_PASSWORD;
+    }
+
+
+    private static byte[] generatePrivateKeyAndCertificate(final String hostname, final KeyStore keyStore) {
+        try {
+            final KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA");
+            generator.initialize(2048, SecureRandom.getInstance("SHA1PRNG"));
+            final KeyPair keyPair = generator.generateKeyPair();
+            final PrivateKey privateKey = keyPair.getPrivate();
+            final PublicKey publicKey = keyPair.getPublic();
+
+            final BigInteger serial = new BigInteger(256, new Random(System.currentTimeMillis()));
+            final Instant validFrom = Instant.now().minusSeconds(60L);
+            final Instant validTo = validFrom.plus(2, ChronoUnit.DAYS);
+
+            final ASN1Sequence pubSeq = ASN1Sequence.getInstance(publicKey.getEncoded());
+            final SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(pubSeq.getEncoded());
+            final X500Name name = new X500Name(
+                "CN=" + hostname + ", OU=Jersey Container, O=Eclipse Foundation, L=Brussels, ST=Belgium, C=BE");
+            final X509v3CertificateBuilder builder = new X509v3CertificateBuilder(
+                name, serial, Date.from(validFrom), Date.from(validTo), name, info);
+            final JcaContentSignerBuilder signerBuilder = new JcaContentSignerBuilder("SHA512withRSA");
+            final ContentSigner signer = signerBuilder.build(privateKey);
+
+            final X509CertificateHolder cHolder = builder.build(signer);
+            final X509Certificate certificate = new JcaX509CertificateConverter().getCertificate(cHolder);
+
+            keyStore.setKeyEntry(hostname, privateKey, KEYSTORE_PASSWORD.toCharArray(),
+                new Certificate[] {certificate});
+            return toBytes(keyStore);
+        } catch (final Exception e) {
+            throw new IllegalStateException("Could not initialize the keystore", e);
+        }
+    }
+
+
+    private static byte[] toBytes(final KeyStore keyStore) throws Exception {
+        try (ByteArrayOutputStream os = new ByteArrayOutputStream(1024))  {
+            keyStore.store(os, new char[0]);
+            return os.toByteArray();
+        }
+    }
+}
diff --git a/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/NaiveTrustManager.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/NaiveTrustManager.java
new file mode 100644
index 0000000..85e265d
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/NaiveTrustManager.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.grizzly2.httpserver.test.tools;
+
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+
+import javax.net.ssl.X509TrustManager;
+
+
+/**
+ * This trust manager accepts all certificates.
+ * <p>
+ * <b>DO NOT USE ON PRODUCTION CODE!!!</b>
+ *
+ * @author David Matejcek
+ */
+public class NaiveTrustManager implements X509TrustManager {
+    @Override
+    public void checkClientTrusted(final X509Certificate[] chain, final String authType) throws CertificateException {
+        // Everyone is trusted!
+    }
+
+    @Override
+    public void checkServerTrusted(final X509Certificate[] chain, final String authType) throws CertificateException {
+        // Everyone is trusted!
+    }
+
+    @Override
+    public X509Certificate[] getAcceptedIssuers() {
+        return new X509Certificate[0];
+    }
+}
diff --git a/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/ServerManager.java b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/ServerManager.java
new file mode 100644
index 0000000..225e02d
--- /dev/null
+++ b/containers/grizzly2-http/src/test/java/org/glassfish/jersey/grizzly2/httpserver/test/tools/ServerManager.java
@@ -0,0 +1,193 @@
+/*
+ * Copyright (c) 2021 Payara Foundation and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.grizzly2.httpserver.test.tools;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.MalformedURLException;
+import java.net.ServerSocket;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.UnknownHostException;
+
+import org.glassfish.grizzly.http.server.HttpServer;
+import org.glassfish.grizzly.http.server.NetworkListener;
+import org.glassfish.grizzly.http2.Http2AddOn;
+import org.glassfish.grizzly.http2.Http2Configuration;
+import org.glassfish.grizzly.ssl.SSLContextConfigurator;
+import org.glassfish.grizzly.ssl.SSLEngineConfigurator;
+import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
+import org.glassfish.jersey.grizzly2.httpserver.test.application.TestedEndpoint;
+import org.glassfish.jersey.server.ResourceConfig;
+
+/**
+ * This manager maintains the lifecycle of the {@link HttpServer} and trivial rest application.
+ *
+ * @author David Matejcek
+ */
+public class ServerManager implements Closeable {
+
+    private static final String LISTENER_NAME_GRIZZLY = "grizzly";
+    private static final String PROTOCOL_HTTPS = "https";
+    private static final String PROTOCOL_HTTP = "http";
+    private static final String APPLICATION_CONTEXT = "/test-application";
+    private static final String SERVICE_CONTEXT = "/tested-endpoint";
+
+    private final URI endpointUri;
+    private final HttpServer server;
+
+
+    /**
+     * Initializes the server environment and starts the server.
+     *
+     * @param secured - set true to enable network encryption
+     * @param useHttp2 - set true to enable HTTP/2; then secured must be set to true too.
+     * @throws IOException
+     */
+    public ServerManager(final boolean secured, final boolean useHttp2) throws IOException {
+        this.endpointUri = getEndpointUri(secured, APPLICATION_CONTEXT);
+        final NetworkListener listener = createListener(secured, useHttp2, endpointUri.getHost(), endpointUri.getPort());
+        final ResourceConfig resourceConfig = createResourceConfig();
+        this.server = startServer(listener, this.endpointUri, resourceConfig);
+    }
+
+
+    /**
+     * @return {@link URI} of the application endpoint.
+     */
+    public URI getApplicationEndpoint() {
+        return this.endpointUri;
+    }
+
+
+    /**
+     * @return {@link URI} of the deployed service endpoint.
+     */
+    public URI getApplicationServiceEndpoint() {
+        return URI.create(getApplicationEndpoint() + SERVICE_CONTEXT);
+    }
+
+
+    /**
+     * Calls the {@link HttpServer#shutdownNow()}. The server and all it's resources are destroyed.
+     */
+    @Override
+    public void close() {
+        if (server != null) {
+            server.shutdownNow();
+        }
+    }
+
+
+    private static URI getEndpointUri(final boolean secured, final String applicationContext) {
+        try {
+            final String protocol = secured ? PROTOCOL_HTTPS : PROTOCOL_HTTP;
+            return new URL(protocol, getLocalhost(), getFreePort(), applicationContext).toURI();
+        } catch (MalformedURLException | URISyntaxException e) {
+            throw new IllegalStateException("Unable to create an endpoint URI.", e);
+        }
+    }
+
+
+    private static String getLocalhost() {
+        try {
+            return InetAddress.getLocalHost().getHostName();
+        } catch (final UnknownHostException e) {
+            return "localhost";
+        }
+    }
+
+
+    /**
+     * Tries to alocate a free local port.
+     *
+     * @return a free local port number.
+     * @throws IllegalStateException if it fails for 20 times
+     */
+    private static int getFreePort() {
+        int attempts = 0;
+        while (true) {
+            attempts++;
+            try (ServerSocket socket = new ServerSocket(0)) {
+                final int port = socket.getLocalPort();
+                socket.setSoTimeout(1);
+                socket.setReuseAddress(true);
+                return port;
+            } catch (final IOException e) {
+                if (attempts >= 20) {
+                    throw new IllegalStateException("Cannot open random port, tried 20 times.", e);
+                }
+            }
+        }
+    }
+
+
+    private static NetworkListener createListener(final boolean secured, final boolean useHttp2, final String host,
+        final int port) {
+        if (useHttp2 && !secured) {
+            throw new IllegalArgumentException("HTTP/2 cannot be used without encryption");
+        }
+        final NetworkListener listener = new NetworkListener(LISTENER_NAME_GRIZZLY, host, port);
+        listener.setSecure(secured);
+        if (secured) {
+            listener.setSSLEngineConfig(createSSLEngineConfigurator(host));
+        }
+        if (useHttp2) {
+            listener.registerAddOn(createHttp2AddOn());
+        }
+        return listener;
+    }
+
+
+    private static SSLEngineConfigurator createSSLEngineConfigurator(final String host) {
+        final KeyStoreManager keyStoreManager = new KeyStoreManager(host);
+        final SSLContextConfigurator configurator = new SSLContextConfigurator();
+        configurator.setKeyStoreBytes(keyStoreManager.getKeyStoreBytes());
+        configurator.setKeyStorePass(keyStoreManager.getKeyStorePassword());
+        configurator.setTrustStoreBytes(keyStoreManager.getKeyStoreBytes());
+        configurator.setTrustStorePass(keyStoreManager.getKeyStorePassword());
+        final SSLEngineConfigurator sslEngineConfigurator = new SSLEngineConfigurator(configurator)
+            .setClientMode(false).setNeedClientAuth(false);
+        return sslEngineConfigurator;
+    }
+
+
+    private static Http2AddOn createHttp2AddOn() {
+        final Http2Configuration configuration = Http2Configuration.builder().build();
+        return new Http2AddOn(configuration);
+    }
+
+
+    private static ResourceConfig createResourceConfig() {
+        return new ResourceConfig().registerClasses(TestedEndpoint.class);
+    }
+
+
+    private static HttpServer startServer(final NetworkListener listener, final URI endpointUri,
+        final ResourceConfig resourceConfig) {
+        final HttpServer srv = GrizzlyHttpServerFactory.createHttpServer(endpointUri, resourceConfig, false);
+        try {
+            srv.addListener(listener);
+            srv.start();
+            return srv;
+        } catch (final IOException e) {
+            throw new IllegalStateException("Could not start the server!", e);
+        }
+    }
+}
diff --git a/containers/grizzly2-servlet/pom.xml b/containers/grizzly2-servlet/pom.xml
index 6e9324b..9588708 100644
--- a/containers/grizzly2-servlet/pom.xml
+++ b/containers/grizzly2-servlet/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-grizzly2-servlet</artifactId>
@@ -36,7 +36,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
         </dependency>
 
         <dependency>
@@ -71,7 +71,7 @@
                 <configuration>
                     <instructions>
                         <Import-Package>
-                            javax.servlet.*;version="[2.4,5.0)",
+                            jakarta.servlet.*;version="[5.0,7.0)",
                             *
                         </Import-Package>
                     </instructions>
diff --git a/containers/grizzly2-servlet/src/main/java/org/glassfish/jersey/grizzly2/servlet/GrizzlyWebContainerFactory.java b/containers/grizzly2-servlet/src/main/java/org/glassfish/jersey/grizzly2/servlet/GrizzlyWebContainerFactory.java
index 1eb0bde..a70ee7f 100644
--- a/containers/grizzly2-servlet/src/main/java/org/glassfish/jersey/grizzly2/servlet/GrizzlyWebContainerFactory.java
+++ b/containers/grizzly2-servlet/src/main/java/org/glassfish/jersey/grizzly2/servlet/GrizzlyWebContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.net.URI;
 import java.util.Map;
 
-import javax.servlet.Servlet;
+import jakarta.servlet.Servlet;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.servlet.ServletContainer;
diff --git a/containers/grizzly2-servlet/src/main/java/org/glassfish/jersey/grizzly2/servlet/package-info.java b/containers/grizzly2-servlet/src/main/java/org/glassfish/jersey/grizzly2/servlet/package-info.java
index 41a7e50..e8e47ba 100644
--- a/containers/grizzly2-servlet/src/main/java/org/glassfish/jersey/grizzly2/servlet/package-info.java
+++ b/containers/grizzly2-servlet/src/main/java/org/glassfish/jersey/grizzly2/servlet/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,6 +15,6 @@
  */
 
 /**
- * Jersey Grizzly 2.x Servlet container classes.
+ * Jersey Grizzly 3.x Servlet container classes.
  */
 package org.glassfish.jersey.grizzly2.servlet;
diff --git a/containers/jdk-http/pom.xml b/containers/jdk-http/pom.xml
index f2c7960..659b4dc 100644
--- a/containers/jdk-http/pom.xml
+++ b/containers/jdk-http/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-jdk-http</artifactId>
diff --git a/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpHandlerContainer.java b/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpHandlerContainer.java
index d1ebf61..1470f22 100644
--- a/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpHandlerContainer.java
+++ b/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpHandlerContainer.java
@@ -29,11 +29,11 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.jdkhttp.internal.LocalizationMessages;
diff --git a/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpHandlerContainerProvider.java b/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpHandlerContainerProvider.java
index cd6306d..4ee1b30 100644
--- a/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpHandlerContainerProvider.java
+++ b/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpHandlerContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.jdkhttp;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.spi.ContainerProvider;
 
diff --git a/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpServerFactory.java b/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpServerFactory.java
index f312359..9b5f8b7 100644
--- a/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpServerFactory.java
+++ b/containers/jdk-http/src/main/java/org/glassfish/jersey/jdkhttp/JdkHttpServerFactory.java
@@ -23,7 +23,7 @@
 import java.util.concurrent.Executors;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import javax.net.ssl.SSLContext;
 
@@ -210,15 +210,19 @@
             throw new IllegalArgumentException(LocalizationMessages.ERROR_CONTAINER_URI_SCHEME_UNKNOWN(uri));
         }
 
-        final String path = uri.getPath();
-        if (path == null) {
+        final String _path = uri.getPath();
+        if (_path == null) {
             throw new IllegalArgumentException(LocalizationMessages.ERROR_CONTAINER_URI_PATH_NULL(uri));
-        } else if (path.isEmpty()) {
+        } else if (_path.isEmpty()) {
             throw new IllegalArgumentException(LocalizationMessages.ERROR_CONTAINER_URI_PATH_EMPTY(uri));
-        } else if (path.charAt(0) != '/') {
+        } else if (_path.charAt(0) != '/') {
             throw new IllegalArgumentException(LocalizationMessages.ERROR_CONTAINER_URI_PATH_START(uri));
         }
 
+        final String appPath = handler.getApplicationHandler().getConfiguration().getApplicationPath();
+        final String uriPath = appPath == null ? _path : _path + "/" + appPath;
+        final String path = uriPath.replaceAll("/{2,}", "/");
+
         final int port = (uri.getPort() == -1)
                 ? (isHttp ? Container.DEFAULT_HTTP_PORT : Container.DEFAULT_HTTPS_PORT)
                 : uri.getPort();
diff --git a/core-server/src/main/resources/META-INF/services/javax.ws.rs.ext.RuntimeDelegate b/containers/jdk-http/src/main/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
similarity index 100%
copy from core-server/src/main/resources/META-INF/services/javax.ws.rs.ext.RuntimeDelegate
copy to containers/jdk-http/src/main/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
diff --git a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/AbstractJdkHttpServerTester.java b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/AbstractJdkHttpServerTester.java
index a3f3749..3886ea9 100644
--- a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/AbstractJdkHttpServerTester.java
+++ b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/AbstractJdkHttpServerTester.java
@@ -21,8 +21,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.UriBuilder;
 
 import com.sun.net.httpserver.HttpServer;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/BasicJdkHttpServerTest.java b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/BasicJdkHttpServerTest.java
index 32a98e1..aebd902 100644
--- a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/BasicJdkHttpServerTest.java
+++ b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/BasicJdkHttpServerTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.jdkhttp;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpPackageTest.java b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpPackageTest.java
index 6b5100d..cd5c821 100644
--- a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpPackageTest.java
+++ b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpPackageTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.jdkhttp;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpsServerTest.java b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpsServerTest.java
index fc6913e..01e9e34 100644
--- a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpsServerTest.java
+++ b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/JdkHttpsServerTest.java
@@ -20,12 +20,12 @@
 import java.io.InputStream;
 import java.net.URI;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLHandshakeException;
@@ -218,7 +218,7 @@
 
 
     private URI updatePort(URI uri) {
-        return UriBuilder.fromUri(httpsUri).port(server.getAddress().getPort()).build();
+        return UriBuilder.fromUri(uri).port(server.getAddress().getPort()).build();
     }
 
     @AfterEach
diff --git a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/LifecycleListenerTest.java b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/LifecycleListenerTest.java
index 61670a3..2409946 100644
--- a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/LifecycleListenerTest.java
+++ b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/LifecycleListenerTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.jdkhttp;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener;
diff --git a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/RuntimeDelegateTest.java b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/RuntimeDelegateTest.java
index 9b37c35..7c8a05c 100644
--- a/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/RuntimeDelegateTest.java
+++ b/containers/jdk-http/src/test/java/org/glassfish/jersey/jdkhttp/RuntimeDelegateTest.java
@@ -20,13 +20,13 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.junit.jupiter.api.Test;
 import static org.hamcrest.CoreMatchers.is;
diff --git a/containers/jersey-servlet-core/pom.xml b/containers/jersey-servlet-core/pom.xml
index e9943c1..5985e69 100644
--- a/containers/jersey-servlet-core/pom.xml
+++ b/containers/jersey-servlet-core/pom.xml
@@ -23,20 +23,20 @@
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-servlet-core</artifactId>
     <packaging>jar</packaging>
     <name>jersey-container-servlet-core</name>
 
-    <description>Jersey core Servlet 2.x implementation</description>
+    <description>Jersey core Servlet 3.x implementation</description>
 
     <dependencies>
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -44,8 +44,8 @@
             <artifactId>jakarta.persistence-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
     </dependencies>
 
@@ -70,9 +70,9 @@
                     <instructions>
                         <!-- Note: When you're changing these properties change them also in bundles/jax-rs-ri/bundle/pom.xml. -->
                         <Import-Package>
-                            javax.persistence.*;resolution:=optional,
-                            javax.servlet.*;version="[2.4,5.0)",
-                            ${javax.annotation.osgi.version},
+                            jakarta.persistence.*;resolution:=optional,
+                            jakarta.servlet.*;version="[5.0,7.0)",
+                            ${jakarta.annotation.osgi.version},
                             *
                         </Import-Package>
                         <Export-Package>org.glassfish.jersey.servlet.*</Export-Package>
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletContainer.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletContainer.java
index 038217d..147ce8c 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletContainer.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletContainer.java
@@ -25,21 +25,21 @@
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriBuilderException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilderException;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.internal.inject.Providers;
 import org.glassfish.jersey.internal.util.ExtendedLogger;
@@ -58,7 +58,7 @@
 import org.glassfish.jersey.uri.UriComponent;
 
 /**
- * A {@link javax.servlet.Servlet} or {@link Filter} for deploying root resource classes.
+ * A {@link jakarta.servlet.Servlet} or {@link Filter} for deploying root resource classes.
  * <p />
  * The following sections make reference to initialization parameters. Unless
  * otherwise specified the initialization parameters apply to both server
@@ -67,7 +67,7 @@
  * The servlet or filter may be configured to have an initialization
  * parameter {@value ServletProperties#JAXRS_APPLICATION_CLASS}
  * (see {@link org.glassfish.jersey.servlet.ServletProperties#JAXRS_APPLICATION_CLASS}) and whose value is a
- * fully qualified name of a class that implements {@link javax.ws.rs.core.Application}.
+ * fully qualified name of a class that implements {@link jakarta.ws.rs.core.Application}.
  * The class is instantiated as a singleton component
  * managed by the runtime, and injection may be performed (the artifacts that
  * may be injected are limited to injectable providers registered when
@@ -93,11 +93,11 @@
  * <p />
  * A new {@link org.glassfish.jersey.server.ApplicationHandler} instance will be created and configured such
  * that the following classes may be injected onto a root resource, provider
- * and {@link javax.ws.rs.core.Application} classes using {@link javax.ws.rs.core.Context
+ * and {@link jakarta.ws.rs.core.Application} classes using {@link jakarta.ws.rs.core.Context
  * &#64;Context} annotation:
  * {@link HttpServletRequest}, {@link HttpServletResponse},
- * {@link ServletContext}, {@link javax.servlet.ServletConfig} and {@link WebConfig}.
- * If this class is used as a Servlet then the {@link javax.servlet.ServletConfig} class may
+ * {@link ServletContext}, {@link jakarta.servlet.ServletConfig} and {@link WebConfig}.
+ * If this class is used as a Servlet then the {@link jakarta.servlet.ServletConfig} class may
  * be injected. If this class is used as a servlet filter then the {@link FilterConfig}
  * class may be injected. {@link WebConfig} may be injected to abstract
  * servlet or filter deployment.
@@ -120,7 +120,7 @@
  *     <param-value>persistence/widget</param-value>
  * </init-param>
  * }</pre>
- * Given the above, Jersey will inject the {@link javax.persistence.EntityManagerFactory EntityManagerFactory} found
+ * Given the above, Jersey will inject the {@link jakarta.persistence.EntityManagerFactory EntityManagerFactory} found
  * at {@code java:comp/env/persistence/widget} in JNDI when encountering a
  * field or parameter annotated with {@code @PersistenceUnit(unitName="WidgetPU")}.
  *
@@ -148,7 +148,7 @@
      * Initiate the Web component.
      *
      * @param webConfig the Web configuration.
-     * @throws javax.servlet.ServletException in case of an initialization failure
+     * @throws jakarta.servlet.ServletException in case of an initialization failure
      */
     protected void init(final WebConfig webConfig) throws ServletException {
         webComponent = new WebComponent(webConfig, resourceConfig);
@@ -187,7 +187,7 @@
      *                          HTTP request
      * @throws ServletException if the HTTP request cannot
      *                          be handled
-     * @see javax.servlet.Servlet#service
+     * @see jakarta.servlet.Servlet#service
      */
     @Override
     public void service(final ServletRequest req, final ServletResponse res)
@@ -209,7 +209,7 @@
      * Receives standard HTTP requests from the public {@code service} method and dispatches
      * them to the {@code do}<i>XXX</i> methods defined in
      * this class. This method is an HTTP-specific version of the
-     * {@link javax.servlet.Servlet#service} method. There's no
+     * {@link jakarta.servlet.Servlet#service} method. There's no
      * need to override this method.
      *
      * @param request  the {@link HttpServletRequest} object that
@@ -223,7 +223,7 @@
      *                          HTTP request
      * @throws ServletException if the HTTP request
      *                          cannot be handled
-     * @see javax.servlet.Servlet#service
+     * @see jakarta.servlet.Servlet#service
      */
     @Override
     protected void service(final HttpServletRequest request, final HttpServletResponse response)
@@ -345,9 +345,9 @@
      *
      * @param baseUri    the base URI of the request.
      * @param requestUri the URI of the request.
-     * @param request    the {@link javax.servlet.http.HttpServletRequest} object that contains the request the client made to
+     * @param request    the {@link jakarta.servlet.http.HttpServletRequest} object that contains the request the client made to
      *                   the Web component.
-     * @param response   the {@link javax.servlet.http.HttpServletResponse} object that contains the response the Web component
+     * @param response   the {@link jakarta.servlet.http.HttpServletResponse} object that contains the response the Web component
      *                   returns to the client.
      * @return lazily initialized response status code {@link Value value provider}. If not resolved in the moment of call to
      * {@link Value#get()}, {@code -1} is returned.
@@ -365,9 +365,9 @@
      *
      * @param baseUri    the base URI of the request.
      * @param requestUri the URI of the request.
-     * @param request    the {@link javax.servlet.http.HttpServletRequest} object that contains the request the client made to
+     * @param request    the {@link jakarta.servlet.http.HttpServletRequest} object that contains the request the client made to
      *                   the Web component.
-     * @param response   the {@link javax.servlet.http.HttpServletResponse} object that contains the response the Web component
+     * @param response   the {@link jakarta.servlet.http.HttpServletResponse} object that contains the response the Web component
      *                   returns to the client.
      * @return returns {@link ResponseWriter}, Servlet's {@link org.glassfish.jersey.server.spi.ContainerResponseWriter}
      *         implementation, into which processed request response was written to.
@@ -468,19 +468,19 @@
      *                 to the client.
      * @param chain    the chain of filters from which the next filter can be invoked.
      * @throws java.io.IOException            in case of an I/O error.
-     * @throws javax.servlet.ServletException in case of an error while executing the
+     * @throws jakarta.servlet.ServletException in case of an error while executing the
      *                                        filter chain.
      */
     public void doFilter(final HttpServletRequest request, final HttpServletResponse response, final FilterChain chain)
             throws IOException, ServletException {
-        if (request.getAttribute("javax.servlet.include.request_uri") != null) {
-            final String includeRequestURI = (String) request.getAttribute("javax.servlet.include.request_uri");
+        if (request.getAttribute("jakarta.servlet.include.request_uri") != null) {
+            final String includeRequestURI = (String) request.getAttribute("jakarta.servlet.include.request_uri");
 
             if (!includeRequestURI.equals(request.getRequestURI())) {
                 doFilter(request, response, chain,
                         includeRequestURI,
-                        (String) request.getAttribute("javax.servlet.include.servlet_path"),
-                        (String) request.getAttribute("javax.servlet.include.query_string"));
+                        (String) request.getAttribute("jakarta.servlet.include.servlet_path"),
+                        (String) request.getAttribute("jakarta.servlet.include.query_string"));
                 return;
             }
         }
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletProperties.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletProperties.java
index a3257d2..3689e62 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletProperties.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -37,7 +37,7 @@
      * without parsing the {@code web.xml}, hence why this property is necessary.)
      * <p>
      * The property is only applicable when {@link ServletContainer Jersey servlet
-     * container} is configured to run as a {@link javax.servlet.Filter}, otherwise this property
+     * container} is configured to run as a {@link jakarta.servlet.Filter}, otherwise this property
      * will be ignored.
      * <p>
      * The value of the property may consist of one or more path segments separate by
@@ -62,7 +62,7 @@
      * may be invoked when this feature is enabled.
      * <p></p>
      * The property is only applicable when {@link ServletContainer Jersey servlet
-     * container} is configured to run as a {@link javax.servlet.Filter}, otherwise
+     * container} is configured to run as a {@link jakarta.servlet.Filter}, otherwise
      * this property will be ignored.
      * <p></p>
      * Application code, such as methods corresponding to sub-resource locators
@@ -80,7 +80,7 @@
      * by the underlying servlet engine.
      * <p></p>
      * The property is only applicable when {@link ServletContainer Jersey servlet
-     * container} is configured to run as a {@link javax.servlet.Filter}, otherwise
+     * container} is configured to run as a {@link jakarta.servlet.Filter}, otherwise
      * this property will be ignored. If a servlet path matches this regular
      * expression then the filter forwards the request to the next filter in the
      * filter chain so that the underlying servlet engine can process the request
@@ -100,20 +100,20 @@
 
     /**
      * Application configuration initialization property whose value is a fully
-     * qualified class name of a class that implements {@link javax.ws.rs.core.Application}.
+     * qualified class name of a class that implements {@link jakarta.ws.rs.core.Application}.
      * <p></p>
      * A default value is not set.
      * <p></p>
      * The name of the configuration property is <tt>{@value}</tt>.
      */
     // TODO implement generic support
-    public static final String JAXRS_APPLICATION_CLASS = "javax.ws.rs.Application";
+    public static final String JAXRS_APPLICATION_CLASS = "jakarta.ws.rs.Application";
 
     /**
      * Indicates that Jersey should scan the whole web app for application-specific resources and
      * providers. If the property is present and the value is not {@code false}, the whole web app
-     * will be scanned for JAX-RS root resources (annotated with {@link javax.ws.rs.Path @Path})
-     * and providers (annotated with {@link javax.ws.rs.ext.Provider @Provider}).
+     * will be scanned for JAX-RS root resources (annotated with {@link jakarta.ws.rs.Path @Path})
+     * and providers (annotated with {@link jakarta.ws.rs.ext.Provider @Provider}).
      * <p></p>
      * The property value MUST be an instance of {@link String}. The allowed values are {@code true}
      * and {@code false}.
@@ -126,7 +126,7 @@
 
     /**
      * If {@code true} then query parameters will not be treated as form parameters (e.g. injectable using
-     * {@link javax.ws.rs.FormParam}) in case a Form request is processed by server.
+     * {@link jakarta.ws.rs.FormParam}) in case a Form request is processed by server.
      * <p>
      * The default value is {@code false}.
      * </p>
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletPropertiesDelegate.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletPropertiesDelegate.java
index 7a17521..cf7d37b 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletPropertiesDelegate.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/ServletPropertiesDelegate.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.Collection;
 import java.util.Collections;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.glassfish.jersey.internal.PropertiesDelegate;
 
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebAppResourcesScanner.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebAppResourcesScanner.java
index f80464a..e6879d0 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebAppResourcesScanner.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebAppResourcesScanner.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
 import java.util.NoSuchElementException;
 import java.util.Set;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 import org.glassfish.jersey.server.internal.AbstractResourceFinderAdapter;
 import org.glassfish.jersey.server.internal.scanning.JarFileScanner;
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebComponent.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebComponent.java
index 0017bdd..59b1da9 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebComponent.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebComponent.java
@@ -36,23 +36,23 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.internal.ServiceFinderBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
@@ -325,10 +325,10 @@
      *
      * @param baseUri         the base URI of the request.
      * @param requestUri      the URI of the request.
-     * @param servletRequest  the {@link javax.servlet.http.HttpServletRequest} object that
+     * @param servletRequest  the {@link jakarta.servlet.http.HttpServletRequest} object that
      *                        contains the request the client made to
      *                        the Web component.
-     * @param servletResponse the {@link javax.servlet.http.HttpServletResponse} object that
+     * @param servletResponse the {@link jakarta.servlet.http.HttpServletResponse} object that
      *                        contains the response the Web component returns
      *                        to the client.
      * @return lazily initialized response status code {@link Value value provider}. If not resolved in the moment of call to
@@ -336,7 +336,7 @@
      * @throws java.io.IOException            if an input or output error occurs
      *                                        while the Web component is handling the
      *                                        HTTP request.
-     * @throws javax.servlet.ServletException if the HTTP request cannot be handled.
+     * @throws jakarta.servlet.ServletException if the HTTP request cannot be handled.
      */
     public Value<Integer> service(
             final URI baseUri,
@@ -357,10 +357,10 @@
      *
      * @param baseUri         the base URI of the request.
      * @param requestUri      the URI of the request.
-     * @param servletRequest  the {@link javax.servlet.http.HttpServletRequest} object that
+     * @param servletRequest  the {@link jakarta.servlet.http.HttpServletRequest} object that
      *                        contains the request the client made to
      *                        the Web component.
-     * @param servletResponse the {@link javax.servlet.http.HttpServletResponse} object that
+     * @param servletResponse the {@link jakarta.servlet.http.HttpServletResponse} object that
      *                        contains the response the Web component returns
      *                        to the client.
      * @return returns {@link ResponseWriter}, Servlet's {@link org.glassfish.jersey.server.spi.ContainerResponseWriter}
@@ -368,7 +368,7 @@
      * @throws java.io.IOException            if an input or output error occurs
      *                                        while the Web component is handling the
      *                                        HTTP request.
-     * @throws javax.servlet.ServletException if the HTTP request cannot be handled.
+     * @throws jakarta.servlet.ServletException if the HTTP request cannot be handled.
      */
      /* package */ ResponseWriter serviceImpl(
             final URI baseUri,
@@ -442,7 +442,7 @@
     }
 
     /**
-     * Get default {@link javax.ws.rs.core.SecurityContext} for given {@code request}.
+     * Get default {@link jakarta.ws.rs.core.SecurityContext} for given {@code request}.
      *
      * @param request http servlet request to create a security context for.
      * @return a non-null security context instance.
@@ -506,16 +506,16 @@
         }
 
         try {
-            final Class<? extends javax.ws.rs.core.Application> jaxrsApplicationClass = AccessController.doPrivileged(
-                    ReflectionHelper.<javax.ws.rs.core.Application>classForNameWithExceptionPEA(jaxrsApplicationClassName)
+            final Class<? extends jakarta.ws.rs.core.Application> jaxrsApplicationClass = AccessController.doPrivileged(
+                    ReflectionHelper.<jakarta.ws.rs.core.Application>classForNameWithExceptionPEA(jaxrsApplicationClassName)
             );
 
-            if (javax.ws.rs.core.Application.class.isAssignableFrom(jaxrsApplicationClass)) {
+            if (jakarta.ws.rs.core.Application.class.isAssignableFrom(jaxrsApplicationClass)) {
                 return ResourceConfig.forApplicationClass(jaxrsApplicationClass)
                         .addProperties(initParams).addProperties(contextParams);
             } else {
                 throw new ServletException(LocalizationMessages.RESOURCE_CONFIG_PARENT_CLASS_INVALID(
-                        jaxrsApplicationClassName, javax.ws.rs.core.Application.class));
+                        jaxrsApplicationClassName, jakarta.ws.rs.core.Application.class));
             }
         } catch (final PrivilegedActionException e) {
             throw new ServletException(
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebConfig.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebConfig.java
index bb469c6..4adf236 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebConfig.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.Enumeration;
 
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
 
 /**
  * The Web configuration for accessing initialization parameters of a Web
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebFilterConfig.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebFilterConfig.java
index d375b85..f7bff86 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebFilterConfig.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebFilterConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.Enumeration;
 
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
 
 /**
  * A filter based web config. Delegates all invocations to the filter
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebServletConfig.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebServletConfig.java
index 5c2a7a7..8196a56 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebServletConfig.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebServletConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.Enumeration;
 
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
 
 /**
  * A servlet based web config. Delegates all invocations to the servlet
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/PersistenceUnitBinder.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/PersistenceUnitBinder.java
index f1795c6..04910f0 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/PersistenceUnitBinder.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/PersistenceUnitBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,12 +21,12 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Singleton;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceUnit;
-import javax.servlet.ServletConfig;
+import jakarta.inject.Singleton;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.PersistenceUnit;
+import jakarta.servlet.ServletConfig;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.Injectee;
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/ResponseWriter.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/ResponseWriter.java
index 38301f8..31b8f93 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/ResponseWriter.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/ResponseWriter.java
@@ -28,10 +28,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.server.ContainerException;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/Utils.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/Utils.java
index c125116..c93863a 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/Utils.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/Utils.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
@@ -32,7 +32,7 @@
 public final class Utils {
 
     /**
-     * Internal {@link javax.servlet.ServletContext servlet context} attribute name under which an instance of
+     * Internal {@link jakarta.servlet.ServletContext servlet context} attribute name under which an instance of
      * {@link org.glassfish.jersey.server.ResourceConfig resource config} can be stored. The instance is later used to initialize
      * servlet in {@link org.glassfish.jersey.servlet.WebConfig} instead of creating a new one.
      */
@@ -40,7 +40,7 @@
 
     /**
      * Store {@link org.glassfish.jersey.server.ResourceConfig resource config} as an attribute of given
-     * {@link javax.servlet.ServletContext servlet context}. If {@code config} is {@code null} then the previously stored value
+     * {@link jakarta.servlet.ServletContext servlet context}. If {@code config} is {@code null} then the previously stored value
      * (if any) is removed. The {@code configName} is used as an attribute name suffix.
      *
      * @param config resource config to be stored.
@@ -54,7 +54,7 @@
 
     /**
      * Load {@link org.glassfish.jersey.server.ResourceConfig resource config} from given
-     * {@link javax.servlet.ServletContext servlet context}. If found then the resource config is also removed from servlet
+     * {@link jakarta.servlet.ServletContext servlet context}. If found then the resource config is also removed from servlet
      * context. The {@code configName} is used as an attribute name suffix.
      *
      * @param context servlet context to load resource config from.
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/ExtendedServletContainerProvider.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/ExtendedServletContainerProvider.java
index 73e42c7..fa88815 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/ExtendedServletContainerProvider.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/ExtendedServletContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.servlet.internal.spi;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spi.RequestScopedInitializer;
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/NoOpServletContainerProvider.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/NoOpServletContainerProvider.java
index c668f0f..3b29bc3 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/NoOpServletContainerProvider.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/NoOpServletContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,12 @@
 import java.lang.reflect.Type;
 import java.util.Set;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.internal.util.collection.Ref;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/RequestContextProvider.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/RequestContextProvider.java
index 792a3a8..778c5d7 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/RequestContextProvider.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/RequestContextProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.servlet.internal.spi;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * Provide access to the actual servlet request/response.
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/ServletContainerProvider.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/ServletContainerProvider.java
index 7e6e927..35452bc 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/ServletContainerProvider.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/internal/spi/ServletContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.util.Set;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spi.RequestScopedInitializer;
@@ -45,11 +45,11 @@
      * Parameter {@code servletNames} contains list of names of currently registered Jersey servlets.
      *
      * @param servletContext the {@code ServletContext} of the JAX-RS/Jersey web application that is being started.
-     * @param classes        the mutable Set of application classes that extend {@link javax.ws.rs.core.Application},
-     *                       implement, or have been annotated with the class types {@link javax.ws.rs.Path},
-     *                       {@link javax.ws.rs.ext.Provider} or {@link javax.ws.rs.ApplicationPath}.
+     * @param classes        the mutable Set of application classes that extend {@link jakarta.ws.rs.core.Application},
+     *                       implement, or have been annotated with the class types {@link jakarta.ws.rs.Path},
+     *                       {@link jakarta.ws.rs.ext.Provider} or {@link jakarta.ws.rs.ApplicationPath}.
      *                       May be empty, never {@code null}.
-     * @throws ServletException if an error has occurred. {@code javax.servlet.ServletContainerInitializer.onStartup}
+     * @throws ServletException if an error has occurred. {@code jakarta.servlet.ServletContainerInitializer.onStartup}
      *                          is interrupted.
      */
     public void preInit(ServletContext servletContext, Set<Class<?>> classes) throws ServletException;
@@ -61,12 +61,12 @@
      * Parameter {@code servletNames} contains list of names of currently registered Jersey servlets.
      *
      * @param servletContext the {@code ServletContext} of the JAX-RS/Jersey web application that is being started.
-     * @param classes        the mutable Set of application classes that extend {@link javax.ws.rs.core.Application},
-     *                       implement, or have been annotated with the class types {@link javax.ws.rs.Path},
-     *                       {@link javax.ws.rs.ext.Provider} or {@link javax.ws.rs.ApplicationPath}.
+     * @param classes        the mutable Set of application classes that extend {@link jakarta.ws.rs.core.Application},
+     *                       implement, or have been annotated with the class types {@link jakarta.ws.rs.Path},
+     *                       {@link jakarta.ws.rs.ext.Provider} or {@link jakarta.ws.rs.ApplicationPath}.
      *                       May be empty, never {@code null}.
      * @param servletNames   the Immutable set of Jersey's ServletContainer names. May be empty, never {@code null}.
-     * @throws ServletException if an error has occurred. {@code javax.servlet.ServletContainerInitializer.onStartup}
+     * @throws ServletException if an error has occurred. {@code jakarta.servlet.ServletContainerInitializer.onStartup}
      *                          is interrupted.
      */
     public void postInit(ServletContext servletContext, Set<Class<?>> classes, final Set<String> servletNames)
@@ -87,7 +87,7 @@
      *
      * @param servletContext the {@code ServletContext} of the JAX-RS/Jersey web application that is being started.
      * @param servletNames   the Immutable set of Jersey's ServletContainer names. May be empty, never {@code null}.
-     * @throws ServletException if an error has occurred. {@code javax.servlet.ServletContainerInitializer.onStartup}
+     * @throws ServletException if an error has occurred. {@code jakarta.servlet.ServletContainerInitializer.onStartup}
      *                          is interrupted.
      */
     public void onRegister(ServletContext servletContext, final Set<String> servletNames) throws ServletException;
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/AsyncContextDelegate.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/AsyncContextDelegate.java
index fae2fd9..5825375 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/AsyncContextDelegate.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/AsyncContextDelegate.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -34,7 +34,7 @@
      * behavior).
      *
      * @see ContainerResponseWriter#suspend(long, java.util.concurrent.TimeUnit, org.glassfish.jersey.server.spi.ContainerResponseWriter.TimeoutHandler)
-     * @throws IllegalStateException if underlying {@link javax.servlet.ServletRequest servlet request} throws an exception.
+     * @throws IllegalStateException if underlying {@link jakarta.servlet.ServletRequest servlet request} throws an exception.
      */
     public void suspend() throws IllegalStateException;
 
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/AsyncContextDelegateProvider.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/AsyncContextDelegateProvider.java
index 944b4ce..0e58dfb 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/AsyncContextDelegateProvider.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/AsyncContextDelegateProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.servlet.spi;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * Factory to create {@link AsyncContextDelegate} to deal with asynchronous
diff --git a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/FilterUrlMappingsProvider.java b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/FilterUrlMappingsProvider.java
index d8c1c0c..d66129e 100644
--- a/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/FilterUrlMappingsProvider.java
+++ b/containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/spi/FilterUrlMappingsProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.servlet.spi;
 
-import javax.servlet.FilterConfig;
+import jakarta.servlet.FilterConfig;
 import java.util.List;
 
 /**
diff --git a/containers/jersey-servlet-core/src/test/java/org/glassfish/jersey/servlet/internal/ContextPathEncodingTest.java b/containers/jersey-servlet-core/src/test/java/org/glassfish/jersey/servlet/internal/ContextPathEncodingTest.java
index c23e4d1..b447180 100644
--- a/containers/jersey-servlet-core/src/test/java/org/glassfish/jersey/servlet/internal/ContextPathEncodingTest.java
+++ b/containers/jersey-servlet-core/src/test/java/org/glassfish/jersey/servlet/internal/ContextPathEncodingTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.servlet.internal;
 
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import org.glassfish.jersey.internal.util.collection.Value;
 import org.glassfish.jersey.internal.util.collection.Values;
 import org.glassfish.jersey.servlet.ServletContainer;
diff --git a/containers/jersey-servlet/pom.xml b/containers/jersey-servlet/pom.xml
index 2f8b830..e47c6f2 100644
--- a/containers/jersey-servlet/pom.xml
+++ b/containers/jersey-servlet/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-servlet</artifactId>
@@ -36,7 +36,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -46,10 +46,6 @@
             <version>${project.version}</version>
             <exclusions>
                 <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>servlet-api</artifactId>
-                </exclusion>
-                <exclusion>
                     <groupId>jakarta.servlet</groupId>
                     <artifactId>jakarta.servlet-api</artifactId>
                 </exclusion>
@@ -78,8 +74,8 @@
                     <instructions>
                         <!-- Note: When you're changing these properties change them also in bundles/jax-rs-ri/bundle/pom.xml. -->
                         <Import-Package>
-                            javax.servlet.*;version="[3.0,5.0)",
-                            ${javax.annotation.osgi.version},
+                            jakarta.servlet.*;version="[5.0,7.0)",
+                            ${jakarta.annotation.osgi.version},
                             *
                         </Import-Package>
                     </instructions>
diff --git a/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/async/AsyncContextDelegateProviderImpl.java b/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/async/AsyncContextDelegateProviderImpl.java
index cb60baf..efe248e 100644
--- a/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/async/AsyncContextDelegateProviderImpl.java
+++ b/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/async/AsyncContextDelegateProviderImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,9 +21,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.servlet.init.internal.LocalizationMessages;
 import org.glassfish.jersey.servlet.spi.AsyncContextDelegate;
diff --git a/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/init/FilterUrlMappingsProviderImpl.java b/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/init/FilterUrlMappingsProviderImpl.java
index 072820c..3449328 100644
--- a/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/init/FilterUrlMappingsProviderImpl.java
+++ b/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/init/FilterUrlMappingsProviderImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import org.glassfish.jersey.servlet.spi.FilterUrlMappingsProvider;
 
-import javax.servlet.FilterConfig;
-import javax.servlet.FilterRegistration;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.FilterRegistration;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
diff --git a/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/init/JerseyServletContainerInitializer.java b/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/init/JerseyServletContainerInitializer.java
index 710fc4b..a1d7f42 100644
--- a/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/init/JerseyServletContainerInitializer.java
+++ b/containers/jersey-servlet/src/main/java/org/glassfish/jersey/servlet/init/JerseyServletContainerInitializer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,17 +27,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.servlet.Registration;
-import javax.servlet.ServletContainerInitializer;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRegistration;
-import javax.servlet.annotation.HandlesTypes;
+import jakarta.servlet.Registration;
+import jakarta.servlet.ServletContainerInitializer;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRegistration;
+import jakarta.servlet.annotation.HandlesTypes;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.servlet.ServletContainer;
@@ -54,13 +54,13 @@
  When using the pluggability mechanism the following conditions MUST be met:
 
  - If no Application subclass is present the added servlet MUST be
- named "javax.ws.rs.core.Application" and all root resource classes and
+ named "jakarta.ws.rs.core.Application" and all root resource classes and
  providers packaged in the web application MUST be included in the published
  JAX-RS application. The application MUST be packaged with a web.xml that
  specifies a servlet mapping for the added servlet.
 
  - If an Application subclass is present and there is already a servlet defined
- that has a servlet initialization parameter named "javax.ws.rs.Application"
+ that has a servlet initialization parameter named "jakarta.ws.rs.Application"
  whose value is the fully qualified name of the Application subclass then no
  servlet should be added by the JAX-RS implementation's ContainerInitializer
  since the application is already being handled by an existing servlet.
@@ -88,7 +88,7 @@
  element of the web.xml descriptor SHOULD name the JAX-RS
  implementation-supplied Servlet or Filter class respectively. The
  application-supplied subclass of Application SHOULD be identified using an
- init-param with a param-name of javax.ws.rs.Application.
+ init-param with a param-name of jakarta.ws.rs.Application.
  */
 
 /**
@@ -161,7 +161,7 @@
             }
         }
 
-        // check for javax.ws.rs.core.Application registration
+        // check for jakarta.ws.rs.core.Application registration
         addServletWithDefaultConfiguration(servletContext, registrationsWithApplication, classes);
     }
 
@@ -250,7 +250,7 @@
         }
 
         // make <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> without init params
-        // work the same as <servlet-name>javax.ws.rs.Application</servlet-name>
+        // work the same as <servlet-name>jakarta.ws.rs.Application</servlet-name>
         for (ServletRegistration servletRegistration : context.getServletRegistrations().values()) {
             if (isJerseyServlet(servletRegistration.getClassName())
                     && servletRegistration != registration
diff --git a/containers/jersey-servlet/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer b/containers/jersey-servlet/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
similarity index 100%
rename from containers/jersey-servlet/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
rename to containers/jersey-servlet/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer
diff --git a/containers/jetty-http/pom.xml b/containers/jetty-http/pom.xml
index 9704794..ce0768d 100644
--- a/containers/jetty-http/pom.xml
+++ b/containers/jetty-http/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.containers</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-jetty-http</artifactId>
@@ -34,20 +34,43 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
-        <dependency>
+         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-server</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.eclipse.jetty.toolchain</groupId>
+                    <artifactId>jetty-jakarta-servlet-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-util</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-continuation</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
@@ -96,4 +119,174 @@
         </resources>
     </build>
 
+    <properties>
+        <java8.build.outputDirectory>${project.basedir}/target</java8.build.outputDirectory>
+        <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
+        <java11.build.outputDirectory>${project.basedir}/target11</java11.build.outputDirectory>
+        <java11.sourceDirectory>${project.basedir}/src/main/java11</java11.sourceDirectory>
+    </properties>
+
+    <profiles>
+        <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <properties>
+                <jetty.version>${jetty9.version}</jetty.version>
+            </properties>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-client</artifactId>
+                    <version>${jetty.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-util</artifactId>
+                    <version>${jetty.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+            </dependencies>
+            <build>
+                <directory>${java8.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java8.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/jetty/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <build>
+                <directory>${java11.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java11.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK11FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java11.build.outputDirectory} does not work here -->
+                    <exists>target11/classes/org/glassfish/jersey/jetty/JettyHttpContainer.class</exists>
+                </file>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java8.build.outputDirectory}/classes/META-INF/versions/11</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java11.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java8.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java11.sourceDirectory}" prefix="META-INF/versions/11"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>
diff --git a/containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainerProvider.java b/containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainerProvider.java
index 289b022..4b80825 100644
--- a/containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainerProvider.java
+++ b/containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainerProvider.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.jetty;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
 
+import org.glassfish.jersey.internal.util.JdkVersion;
+import org.glassfish.jersey.jetty.internal.LocalizationMessages;
 import org.glassfish.jersey.server.spi.ContainerProvider;
 
-import org.eclipse.jetty.server.Handler;
-
 /**
  * Container provider for containers based on Jetty Server {@link org.eclipse.jetty.server.Handler}.
  *
@@ -31,9 +31,13 @@
  */
 public final class JettyHttpContainerProvider implements ContainerProvider {
 
+    public static final String HANDLER_NAME = "org.eclipse.jetty.server.Handler";
     @Override
     public <T> T createContainer(final Class<T> type, final Application application) throws ProcessingException {
-        if (Handler.class == type || JettyHttpContainer.class == type) {
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+        if (type != null && (HANDLER_NAME.equalsIgnoreCase(type.getCanonicalName()) || JettyHttpContainer.class == type)) {
             return type.cast(new JettyHttpContainer(application));
         }
         return null;
@@ -41,7 +45,10 @@
 
     public <T> T createContainer(final Class<T> type, final Application application,
                                  Object parentContext) throws ProcessingException {
-        if (Handler.class == type || JettyHttpContainer.class == type) {
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+        if (type != null && (HANDLER_NAME.equalsIgnoreCase(type.getCanonicalName()) || JettyHttpContainer.class == type)) {
             return type.cast(new JettyHttpContainer(application, parentContext));
         }
         return null;
diff --git a/containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainer.java b/containers/jetty-http/src/main/java11/org/glassfish/jersey/jetty/JettyHttpContainer.java
similarity index 91%
rename from containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainer.java
rename to containers/jetty-http/src/main/java11/org/glassfish/jersey/jetty/JettyHttpContainer.java
index c82aa3d..1fcc1b1 100644
--- a/containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainer.java
+++ b/containers/jetty-http/src/main/java11/org/glassfish/jersey/jetty/JettyHttpContainer.java
@@ -31,16 +31,19 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.AsyncEvent;
+import jakarta.servlet.AsyncListener;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
@@ -59,9 +62,6 @@
 import org.glassfish.jersey.server.spi.Container;
 import org.glassfish.jersey.server.spi.ContainerResponseWriter;
 
-import org.eclipse.jetty.continuation.Continuation;
-import org.eclipse.jetty.continuation.ContinuationListener;
-import org.eclipse.jetty.continuation.ContinuationSupport;
 import org.eclipse.jetty.http.HttpStatus;
 import org.eclipse.jetty.server.Request;
 import org.eclipse.jetty.server.Response;
@@ -82,8 +82,8 @@
     private static final Type REQUEST_TYPE = (new GenericType<Ref<Request>>() {}).getType();
     private static final Type RESPONSE_TYPE = (new GenericType<Ref<Response>>() {}).getType();
 
-    private static final int INTERNAL_SERVER_ERROR = Status.INTERNAL_SERVER_ERROR.getStatusCode();
-    private static final Status BAD_REQUEST_STATUS = Status.BAD_REQUEST;
+    private static final int INTERNAL_SERVER_ERROR = jakarta.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR.getStatusCode();
+    private static final jakarta.ws.rs.core.Response.Status BAD_REQUEST_STATUS = jakarta.ws.rs.core.Response.Status.BAD_REQUEST;
 
     /**
      * Cached value of configuration property
@@ -117,7 +117,7 @@
      * This binder allows to inject underlying Jetty HTTP request and response instances.
      * Note that since Jetty {@code Request} class is not proxiable as it does not expose an empty constructor,
      * the injection of Jetty request instance into singleton JAX-RS and Jersey providers is only supported via
-     * {@link javax.inject.Provider injection provider}.
+     * {@link jakarta.inject.Provider injection provider}.
      */
     private static class JettyBinder extends AbstractBinder {
 
@@ -259,12 +259,12 @@
     private static final class ResponseWriter implements ContainerResponseWriter {
 
         private final Response response;
-        private final Continuation continuation;
+        private final AsyncContext context;
         private final boolean configSetStatusOverSendError;
 
         ResponseWriter(final Request request, final Response response, final boolean configSetStatusOverSendError) {
             this.response = response;
-            this.continuation = ContinuationSupport.getContinuation(request);
+            this.context = request.startAsync();
             this.configSetStatusOverSendError = configSetStatusOverSendError;
         }
 
@@ -272,7 +272,7 @@
         public OutputStream writeResponseStatusAndHeaders(final long contentLength, final ContainerResponse context)
                 throws ContainerException {
 
-            final javax.ws.rs.core.Response.StatusType statusInfo = context.getStatusInfo();
+            final jakarta.ws.rs.core.Response.StatusType statusInfo = context.getStatusInfo();
 
             final int code = statusInfo.getStatusCode();
             final String reason = statusInfo.getReasonPhrase() == null
@@ -301,21 +301,31 @@
             try {
                 if (timeOut > 0) {
                     final long timeoutMillis = TimeUnit.MILLISECONDS.convert(timeOut, timeUnit);
-                    continuation.setTimeout(timeoutMillis);
+                    context.setTimeout(timeoutMillis);
                 }
-                continuation.addContinuationListener(new ContinuationListener() {
+                context.addListener(new AsyncListener() {
                     @Override
-                    public void onComplete(final Continuation continuation) {
+                    public void onComplete(AsyncEvent asyncEvent) throws IOException {
+
                     }
 
                     @Override
-                    public void onTimeout(final Continuation continuation) {
+                    public void onTimeout(AsyncEvent asyncEvent) throws IOException {
                         if (timeoutHandler != null) {
                             timeoutHandler.onTimeout(ResponseWriter.this);
                         }
                     }
+
+                    @Override
+                    public void onError(AsyncEvent asyncEvent) throws IOException {
+
+                    }
+
+                    @Override
+                    public void onStartAsync(AsyncEvent asyncEvent) throws IOException {
+
+                    }
                 });
-                continuation.suspend(response);
                 return true;
             } catch (final Exception ex) {
                 return false;
@@ -326,7 +336,7 @@
         public void setSuspendTimeout(final long timeOut, final TimeUnit timeUnit) throws IllegalStateException {
             if (timeOut > 0) {
                 final long timeoutMillis = TimeUnit.MILLISECONDS.convert(timeOut, timeUnit);
-                continuation.setTimeout(timeoutMillis);
+                context.setTimeout(timeoutMillis);
             }
         }
 
@@ -337,8 +347,8 @@
             } catch (final IOException e) {
                 LOGGER.log(Level.WARNING, LocalizationMessages.UNABLE_TO_CLOSE_RESPONSE(), e);
             } finally {
-                if (continuation.isSuspended()) {
-                    continuation.complete();
+                if (context.getRequest().isAsyncStarted()) {
+                    context.complete();
                 }
                 LOGGER.log(Level.FINEST, "commit() called");
             }
diff --git a/containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java b/containers/jetty-http/src/main/java11/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java
similarity index 96%
rename from containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java
rename to containers/jetty-http/src/main/java11/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java
index b0f7663..39f23e8 100644
--- a/containers/jetty-http/src/main/java/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java
+++ b/containers/jetty-http/src/main/java11/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.net.URI;
 import java.util.concurrent.ThreadFactory;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.jetty.internal.LocalizationMessages;
@@ -91,7 +91,7 @@
      * resource configuration.
      * <p/>
      * This implementation defers to the
-     * {@link org.glassfish.jersey.server.ContainerFactory#createContainer(Class, javax.ws.rs.core.Application)} method
+     * {@link org.glassfish.jersey.server.ContainerFactory#createContainer(Class, jakarta.ws.rs.core.Application)} method
      * for creating an Container that manages the root resources.
      *
      * @param uri    the URI to create the http server. The URI scheme must be
@@ -117,7 +117,7 @@
      * resource configuration.
      * <p/>
      * This implementation defers to the
-     * {@link org.glassfish.jersey.server.ContainerFactory#createContainer(Class, javax.ws.rs.core.Application)} method
+     * {@link org.glassfish.jersey.server.ContainerFactory#createContainer(Class, jakarta.ws.rs.core.Application)} method
      * for creating an Container that manages the root resources.
      *
      * @param uri           URI on which the Jersey web application will be deployed. Only first path segment will be
@@ -190,7 +190,7 @@
      * resource configuration.
      * <p/>
      * This implementation defers to the
-     * {@link ContainerFactory#createContainer(Class, javax.ws.rs.core.Application)} method
+     * {@link ContainerFactory#createContainer(Class, jakarta.ws.rs.core.Application)} method
      * for creating an Container that manages the root resources.
      *
      * @param uri               the URI to create the http server. The URI scheme must be
@@ -205,7 +205,8 @@
      * @throws ProcessingException      in case of any failure when creating a new Jetty {@code Server} instance.
      * @throws IllegalArgumentException if {@code uri} is {@code null}.
      */
-    public static Server createServer(final URI uri, final SslContextFactory sslContextFactory, final ResourceConfig config)
+    public static Server createServer(final URI uri, final SslContextFactory.Server sslContextFactory,
+                                      final ResourceConfig config)
             throws ProcessingException {
         final JettyHttpContainer container = ContainerFactory.createContainer(JettyHttpContainer.class, config);
         return createServer(uri, sslContextFactory, container, true);
@@ -232,7 +233,7 @@
      * @see JettyHttpContainer
      */
     public static Server createServer(final URI uri,
-                                      final SslContextFactory sslContextFactory,
+                                      final SslContextFactory.Server sslContextFactory,
                                       final JettyHttpContainer handler,
                                       final boolean start) {
         if (uri == null) {
diff --git a/containers/jetty-http/src/main/java8/org/glassfish/jersey/jetty/JettyHttpContainer.java b/containers/jetty-http/src/main/java8/org/glassfish/jersey/jetty/JettyHttpContainer.java
new file mode 100644
index 0000000..a2159c8
--- /dev/null
+++ b/containers/jetty-http/src/main/java8/org/glassfish/jersey/jetty/JettyHttpContainer.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2020, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jetty;
+
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+import org.glassfish.jersey.jetty.internal.LocalizationMessages;
+import org.glassfish.jersey.server.ApplicationHandler;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.server.spi.Container;
+
+/**
+ * Jersey {@code Container} stub based on Jetty {@link org.eclipse.jetty.server.Handler}.
+ *
+ * For JDK 1.8 only since Jetty 11 does not support JDKs below 11
+ *
+ */
+public final class JettyHttpContainer implements Container {
+
+    public JettyHttpContainer(Application application) {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public JettyHttpContainer(Application application, final Object parentContext) {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    @Override
+    public ResourceConfig getConfiguration() {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    @Override
+    public ApplicationHandler getApplicationHandler() {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    @Override
+    public void reload() {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    @Override
+    public void reload(ResourceConfig configuration) {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+}
diff --git a/containers/jetty-http/src/main/java8/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java b/containers/jetty-http/src/main/java8/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java
new file mode 100644
index 0000000..1218c2e
--- /dev/null
+++ b/containers/jetty-http/src/main/java8/org/glassfish/jersey/jetty/JettyHttpContainerFactory.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jetty;
+
+import jakarta.ws.rs.ProcessingException;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.glassfish.jersey.internal.util.JdkVersion;
+import org.glassfish.jersey.jetty.internal.LocalizationMessages;
+import org.glassfish.jersey.server.ResourceConfig;
+
+import java.net.URI;
+
+/**
+ * Jersey {@code Container} stub.
+ *
+ * For JDK 1.8 only since Jetty 11 does not support JDKs below 11
+ *
+ */
+public final class JettyHttpContainerFactory {
+
+    private JettyHttpContainerFactory() {
+    }
+
+    public static Server createServer(final URI uri) throws ProcessingException {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createServer(final URI uri, final boolean start) throws ProcessingException {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createServer(final URI uri, final ResourceConfig config)
+            throws ProcessingException {
+
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createServer(final URI uri, final ResourceConfig configuration, final boolean start)
+            throws ProcessingException {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createServer(final URI uri, final ResourceConfig config, final boolean start,
+                                      final Object parentContext) {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createServer(final URI uri, final ResourceConfig config, final Object parentContext) {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createServer(final URI uri, final SslContextFactory.Server sslContextFactory,
+                                      final ResourceConfig config)
+            throws ProcessingException {
+        validateJdk();
+        return null; // does not work at JDK 1.8    }
+    }
+
+    public static Server createServer(final URI uri,
+                                      final SslContextFactory.Server sslContextFactory,
+                                      final JettyHttpContainer handler,
+                                      final boolean start) {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    private static void validateJdk() {
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+    }
+}
diff --git a/containers/jetty-http/src/main/resources/org/glassfish/jersey/jetty/internal/localization.properties b/containers/jetty-http/src/main/resources/org/glassfish/jersey/jetty/internal/localization.properties
index b1528f8..6d0d06c 100644
--- a/containers/jetty-http/src/main/resources/org/glassfish/jersey/jetty/internal/localization.properties
+++ b/containers/jetty-http/src/main/resources/org/glassfish/jersey/jetty/internal/localization.properties
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,3 +21,4 @@
 uri.cannot.be.null=The URI must not be null.
 wrong.scheme.when.using.http=The URI scheme should be 'http' when not using SSL.
 wrong.scheme.when.using.https=The URI scheme should be 'https' when using SSL.
+not.supported=Jetty container is not supported on JDK version less than 11.
diff --git a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/AbstractJettyServerTester.java b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/AbstractJettyServerTester.java
index 34d6d4c..3a953e1 100644
--- a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/AbstractJettyServerTester.java
+++ b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/AbstractJettyServerTester.java
@@ -21,8 +21,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/AsyncTest.java b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/AsyncTest.java
index da156be..808e2ea 100644
--- a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/AsyncTest.java
+++ b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/AsyncTest.java
@@ -22,14 +22,14 @@
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/ExceptionTest.java b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/ExceptionTest.java
index 32b60b1..7c4c760 100644
--- a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/ExceptionTest.java
+++ b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/ExceptionTest.java
@@ -23,14 +23,14 @@
 import org.apache.http.message.BasicHttpRequest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import java.io.IOException;
 import java.net.URI;
diff --git a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/LifecycleListenerTest.java b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/LifecycleListenerTest.java
index 12ee763..90a0e66 100644
--- a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/LifecycleListenerTest.java
+++ b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/LifecycleListenerTest.java
@@ -21,12 +21,12 @@
 import org.glassfish.jersey.server.spi.Container;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/OptionsTest.java b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/OptionsTest.java
index 94d0c33..1580a0a 100644
--- a/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/OptionsTest.java
+++ b/containers/jetty-http/src/test/java/org/glassfish/jersey/jetty/OptionsTest.java
@@ -18,12 +18,12 @@
 
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/containers/jetty-http2/pom.xml b/containers/jetty-http2/pom.xml
index 2e7d3e4..59d26ef 100644
--- a/containers/jetty-http2/pom.xml
+++ b/containers/jetty-http2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.containers</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-jetty-http2</artifactId>
@@ -39,28 +39,48 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-server</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-util</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-continuation</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty.http2</groupId>
             <artifactId>http2-server</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-alpn-conscrypt-server</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
@@ -109,4 +129,176 @@
         </resources>
     </build>
 
+    <properties>
+        <java8.build.outputDirectory>${project.basedir}/target</java8.build.outputDirectory>
+        <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
+        <java11.build.outputDirectory>${project.basedir}/target11</java11.build.outputDirectory>
+        <java11.sourceDirectory>${project.basedir}/src/main/java11</java11.sourceDirectory>
+    </properties>
+
+
+    <profiles>
+        <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <properties>
+                <jetty.version>${jetty9.version}</jetty.version>
+            </properties>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-client</artifactId>
+                    <version>${jetty.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-util</artifactId>
+                    <version>${jetty.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+            </dependencies>
+            <build>
+                <directory>${java8.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java8.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/jetty/http2/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <build>
+                <directory>${java11.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java11.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK11FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java11.build.outputDirectory} does not work here -->
+                    <exists>target11/classes/org/glassfish/jersey/jetty/JettyHttp2ContainerFactory.class</exists>
+                </file>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java8.build.outputDirectory}/classes/META-INF/versions/11</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java11.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java8.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java11.sourceDirectory}" prefix="META-INF/versions/11"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/containers/jetty-http2/src/main/java/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerProvider.java b/containers/jetty-http2/src/main/java/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerProvider.java
index 166f02d..01c61fc 100644
--- a/containers/jetty-http2/src/main/java/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerProvider.java
+++ b/containers/jetty-http2/src/main/java/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerProvider.java
@@ -16,21 +16,26 @@
 
 package org.glassfish.jersey.jetty.http2;
 
-import org.eclipse.jetty.server.Handler;
+import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.jetty.JettyHttpContainer;
 import org.glassfish.jersey.jetty.JettyHttpContainerProvider;
+import org.glassfish.jersey.jetty.internal.LocalizationMessages;
 import org.glassfish.jersey.server.spi.ContainerProvider;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+
+import static org.glassfish.jersey.jetty.JettyHttpContainerProvider.HANDLER_NAME;
 
 public final class JettyHttp2ContainerProvider implements ContainerProvider {
 
     @Override
     public <T> T createContainer(final Class<T> type, final Application application) throws ProcessingException {
-        if (Handler.class == type || JettyHttpContainer.class == type) {
-            return type.cast(new JettyHttpContainerProvider().createContainer(JettyHttpContainer.class,
-                    application));
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+        if (type != null && (HANDLER_NAME.equalsIgnoreCase(type.getCanonicalName()) || JettyHttpContainer.class == type)) {
+            return type.cast(new JettyHttpContainerProvider().createContainer(JettyHttpContainer.class, application));
         }
         return null;
     }
diff --git a/containers/jetty-http2/src/main/java/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java b/containers/jetty-http2/src/main/java11/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java
similarity index 96%
rename from containers/jetty-http2/src/main/java/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java
rename to containers/jetty-http2/src/main/java11/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java
index 349fcfa..b03f409 100644
--- a/containers/jetty-http2/src/main/java/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java
+++ b/containers/jetty-http2/src/main/java11/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java
@@ -33,7 +33,7 @@
 import org.glassfish.jersey.server.ContainerFactory;
 import org.glassfish.jersey.server.ResourceConfig;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
@@ -64,7 +64,7 @@
      * resource configuration.
      * <p/>
      * This implementation defers to the
-     * {@link org.glassfish.jersey.server.ContainerFactory#createContainer(Class, javax.ws.rs.core.Application)} method
+     * {@link org.glassfish.jersey.server.ContainerFactory#createContainer(Class, jakarta.ws.rs.core.Application)} method
      * for creating an Container that manages the root resources.
      *
      * @param uri           URI on which the Jersey web application will be deployed. Only first path segment will be
@@ -153,7 +153,7 @@
      * @since 2.40
      */
     public static Server createHttp2Server(final URI uri,
-                                           final SslContextFactory sslContextFactory,
+                                           final SslContextFactory.Server sslContextFactory,
                                            final JettyHttpContainer handler,
                                            final boolean start) {
 
@@ -176,12 +176,13 @@
          * Add required H2/H2C connection factories using pre-configured config from the HTTP/1.1 server
          */
         final List<ConnectionFactory> factories = getConnectionFactories(config, sslContextFactory);
-        factories.add(httpConnectionFactory);
 
         /**
-         * replacing connectors for H2/H2C protocol
+         * adding connection factories for H2/H2C protocol
          */
-        httpServerConnector.setConnectionFactories(factories);
+        for (final ConnectionFactory factory : factories) {
+            httpServerConnector.addConnectionFactory(factory);
+        }
         server.setConnectors(new Connector[]{httpServerConnector});
 
         /**
@@ -199,7 +200,7 @@
     }
 
     private static List<ConnectionFactory> getConnectionFactories(final HttpConfiguration config,
-                                                                  final SslContextFactory sslContextFactory) {
+                                                                  final SslContextFactory.Server sslContextFactory) {
         final List<ConnectionFactory> factories = new ArrayList<>();
         if (sslContextFactory != null) {
             factories.add(new HTTP2ServerConnectionFactory(config));
diff --git a/containers/jetty-http2/src/main/java8/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java b/containers/jetty-http2/src/main/java8/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java
new file mode 100644
index 0000000..6b148ed
--- /dev/null
+++ b/containers/jetty-http2/src/main/java8/org/glassfish/jersey/jetty/http2/JettyHttp2ContainerFactory.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jetty.http2;
+
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+
+import org.glassfish.jersey.internal.util.JdkVersion;
+import org.glassfish.jersey.jetty.JettyHttpContainer;
+import org.glassfish.jersey.jetty.http2.LocalizationMessages;
+import org.glassfish.jersey.server.ContainerFactory;
+import org.glassfish.jersey.server.ResourceConfig;
+
+import jakarta.ws.rs.ProcessingException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+public final class JettyHttp2ContainerFactory {
+
+    private JettyHttp2ContainerFactory() {
+
+    }
+
+    public static Server createHttp2Server(final URI uri) throws ProcessingException {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createHttp2Server(final URI uri, final ResourceConfig configuration, final boolean start)
+            throws ProcessingException {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createHttp2Server(final URI uri, final boolean start) throws ProcessingException {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createHttp2Server(final URI uri, final ResourceConfig config, final boolean start,
+                                           final Object parentContext) {
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    public static Server createHttp2Server(final URI uri,
+                                           final SslContextFactory.Server sslContextFactory,
+                                           final JettyHttpContainer handler,
+                                           final boolean start) {
+
+        validateJdk();
+        return null; // does not work at JDK 1.8
+    }
+
+    private static void validateJdk() {
+        if (JdkVersion.getJdkVersion().getMajor() < 11) {
+            throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+        }
+    }
+}
diff --git a/containers/jetty-http2/src/main/resources/org/glassfish/jersey/jetty/http2/localization.properties b/containers/jetty-http2/src/main/resources/org/glassfish/jersey/jetty/http2/localization.properties
index 9728b70..9807184 100644
--- a/containers/jetty-http2/src/main/resources/org/glassfish/jersey/jetty/http2/localization.properties
+++ b/containers/jetty-http2/src/main/resources/org/glassfish/jersey/jetty/http2/localization.properties
@@ -15,4 +15,5 @@
 #
 
 # {0} - status code; {1} - status reason message
-error.when.creating.server=Exception thrown when trying to create jetty server.
\ No newline at end of file
+error.when.creating.server=Exception thrown when trying to create jetty server.
+not.supported=Jetty container is not supported on JDK version less than 11.
\ No newline at end of file
diff --git a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/AbstractJettyServerTester.java b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/AbstractJettyServerTester.java
index dd23192..6134d03 100644
--- a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/AbstractJettyServerTester.java
+++ b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/AbstractJettyServerTester.java
@@ -21,8 +21,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/AsyncTest.java b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/AsyncTest.java
index 4b1c931..ac1ebb5 100644
--- a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/AsyncTest.java
+++ b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/AsyncTest.java
@@ -22,14 +22,14 @@
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/ExceptionTest.java b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/ExceptionTest.java
index d6c00b1..60e086b 100644
--- a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/ExceptionTest.java
+++ b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/ExceptionTest.java
@@ -23,14 +23,14 @@
 import org.apache.http.message.BasicHttpRequest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import java.io.IOException;
 import java.net.URI;
diff --git a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/LifecycleListenerTest.java b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/LifecycleListenerTest.java
index dc33f30..93ae01f 100644
--- a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/LifecycleListenerTest.java
+++ b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/LifecycleListenerTest.java
@@ -21,12 +21,12 @@
 import org.glassfish.jersey.server.spi.Container;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/OptionsTest.java b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/OptionsTest.java
index cacbec4..3e7a8ac 100644
--- a/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/OptionsTest.java
+++ b/containers/jetty-http2/src/test/java/org/glassfish/jersey/jetty/http2/OptionsTest.java
@@ -18,12 +18,12 @@
 
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/containers/jetty-servlet/pom.xml b/containers/jetty-servlet/pom.xml
index b73b014..73f1f69 100644
--- a/containers/jetty-servlet/pom.xml
+++ b/containers/jetty-servlet/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-jetty-servlet</artifactId>
@@ -38,16 +38,15 @@
             <artifactId>jersey-container-servlet</artifactId>
             <version>${project.version}</version>
         </dependency>
-
         <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-jetty-http</artifactId>
+            <artifactId>jersey-container-servlet-core</artifactId>
             <version>${project.version}</version>
         </dependency>
-
         <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-webapp</artifactId>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
         </dependency>
     </dependencies>
 
@@ -66,7 +65,7 @@
                 <configuration>
                     <instructions>
                         <Import-Package>
-                            javax.servlet.*;version="[2.4,5.0)",
+                            jakarta.servlet.*;version="[5.0,7.0)",
                             ${jetty.osgi.version},
                             *
                         </Import-Package>
@@ -76,4 +75,201 @@
             </plugin>
         </plugins>
     </build>
+
+    <properties>
+        <java8.build.outputDirectory>${project.basedir}/target</java8.build.outputDirectory>
+        <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
+        <java11.build.outputDirectory>${project.basedir}/target11</java11.build.outputDirectory>
+        <java11.sourceDirectory>${project.basedir}/src/main/java11</java11.sourceDirectory>
+        <jetty.javax.version>${jetty9.version}</jetty.javax.version>
+    </properties>
+
+    <profiles>
+        <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-server</artifactId>
+                    <version>${jetty.javax.version}</version>
+                    <scope>provided</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-webapp</artifactId>
+                    <version>${jetty.javax.version}</version>
+                    <scope>provided</scope>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.eclipse.jetty</groupId>
+                            <artifactId>jetty-server</artifactId>
+                        </exclusion>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.jersey.containers</groupId>
+                    <artifactId>jersey-container-jetty-http</artifactId>
+                    <version>${project.version}</version>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.eclipse.jetty</groupId>
+                            <artifactId>jetty-server</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+            </dependencies>
+            <build>
+                <directory>${java8.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java8.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/jetty/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-webapp</artifactId>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.slf4j</groupId>
+                            <artifactId>slf4j-api</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.jersey.containers</groupId>
+                    <artifactId>jersey-container-jetty-http</artifactId>
+                    <version>${project.version}</version>
+                </dependency>
+            </dependencies>
+            <build>
+                <directory>${java11.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java11.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK11FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java11.build.outputDirectory} does not work here -->
+                    <exists>target11/classes/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.class</exists>
+                </file>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java8.build.outputDirectory}/classes/META-INF/versions/11</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java11.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java8.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java11.sourceDirectory}" prefix="META-INF/versions/11"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>
diff --git a/containers/jetty-servlet/src/main/java/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java b/containers/jetty-servlet/src/main/java11/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java
similarity index 98%
rename from containers/jetty-servlet/src/main/java/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java
rename to containers/jetty-servlet/src/main/java11/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java
index dd585ce..7f46e7b 100644
--- a/containers/jetty-servlet/src/main/java/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java
+++ b/containers/jetty-servlet/src/main/java11/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.net.URI;
 import java.util.Map;
 
-import javax.servlet.Servlet;
+import jakarta.servlet.Servlet;
 
 import org.glassfish.jersey.jetty.JettyHttpContainerFactory;
 import org.glassfish.jersey.servlet.ServletContainer;
diff --git a/containers/jetty-servlet/src/main/java8/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java b/containers/jetty-servlet/src/main/java8/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java
new file mode 100644
index 0000000..3d87ae8
--- /dev/null
+++ b/containers/jetty-servlet/src/main/java8/org/glassfish/jersey/jetty/servlet/JettyWebContainerFactory.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jetty.servlet;
+
+import java.net.URI;
+import java.util.Map;
+
+import jakarta.servlet.Servlet;
+
+import jakarta.ws.rs.ProcessingException;
+import org.eclipse.jetty.server.Server;
+import org.glassfish.jersey.jetty.internal.LocalizationMessages;
+
+/**
+ * Jersey {@code Server} stub based on Jetty {@link org.eclipse.jetty.server.Server}.
+ * <p>
+ * For JDK 1.8 only since Jetty 11 does not support JDKs below 11
+ */
+public final class JettyWebContainerFactory {
+
+    private JettyWebContainerFactory() {
+    }
+
+
+    public static Server create(String u)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public static Server create(String u, Map<String, String> initParams)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public static Server create(URI u)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public static Server create(URI u, Map<String, String> initParams)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public static Server create(String u, Class<? extends Servlet> c)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public static Server create(String u, Class<? extends Servlet> c,
+                                Map<String, String> initParams)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public static Server create(URI u, Class<? extends Servlet> c)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public static Server create(URI u, Class<? extends Servlet> c, Map<String, String> initParams)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    private static Server create(URI u, Class<? extends Servlet> c, Servlet servlet,
+                                 Map<String, String> initParams, Map<String, String> contextInitParams)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+
+    public static Server create(URI u, Servlet servlet, Map<String, String> initParams, Map<String, String> contextInitParams)
+            throws Exception {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+}
\ No newline at end of file
diff --git a/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/containers/jetty-servlet/src/main/resources/org/glassfish/jersey/jetty/servlet/internal/localization.properties
similarity index 75%
copy from ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
copy to containers/jetty-servlet/src/main/resources/org/glassfish/jersey/jetty/servlet/internal/localization.properties
index bca39a9..c362bf0 100644
--- a/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
+++ b/containers/jetty-servlet/src/main/resources/org/glassfish/jersey/jetty/servlet/internal/localization.properties
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,4 +14,5 @@
 # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 #
 
-org.glassfish.jersey.microprofile.restclient.RestClientExtension
\ No newline at end of file
+# {0} - status code; {1} - status reason message
+not.supported=Jetty container is not supported on JDK version less than 11.
diff --git a/containers/netty-http/pom.xml b/containers/netty-http/pom.xml
index dddc34f..2b07fcf 100644
--- a/containers/netty-http/pom.xml
+++ b/containers/netty-http/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-netty-http</artifactId>
@@ -34,8 +34,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.connectors</groupId>
diff --git a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyHttp2ServerHandler.java b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyHttp2ServerHandler.java
index 6eeac17..924fb9a 100644
--- a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyHttp2ServerHandler.java
+++ b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyHttp2ServerHandler.java
@@ -26,7 +26,8 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
+
 import io.netty.channel.ChannelDuplexHandler;
 import io.netty.channel.ChannelHandler;
 import io.netty.channel.ChannelHandlerContext;
diff --git a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyServerHandler.java b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyServerHandler.java
index 1576f7e..0b43e1e 100644
--- a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyServerHandler.java
+++ b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyServerHandler.java
@@ -21,8 +21,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.MediaType;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandlerContext;
@@ -51,6 +51,7 @@
 class JerseyServerHandler extends ChannelInboundHandlerAdapter {
 
     private final URI baseUri;
+    private final String applicationPath;
     private final NettyInputStream nettyInputStream = new NettyInputStream();
     private final NettyHttpContainer container;
     private final ResourceConfig resourceConfig;
@@ -65,9 +66,20 @@
      * @param container Netty container implementation.
      */
     public JerseyServerHandler(URI baseUri, NettyHttpContainer container, ResourceConfig resourceConfig) {
+        this(baseUri, null, container, resourceConfig);
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param baseUri   base {@link URI} of the container (includes context path, if any).
+     * @param container Netty container implementation.
+     */
+    public JerseyServerHandler(URI baseUri, String applicationPath, NettyHttpContainer container, ResourceConfig resourceConfig) {
         this.baseUri = baseUri;
         this.container = container;
         this.resourceConfig = resourceConfig;
+        this.applicationPath = applicationPath;
     }
 
     @Override
@@ -84,7 +96,7 @@
             long contentLength = req.headers().contains(HttpHeaderNames.CONTENT_LENGTH) ? HttpUtil.getContentLength(req)
                     : -1L;
             if (contentLength >= MAX_REQUEST_ENTITY_BYTES) {
-                requestContext.abortWith(javax.ws.rs.core.Response.status(Status.REQUEST_ENTITY_TOO_LARGE).build());
+                requestContext.abortWith(jakarta.ws.rs.core.Response.status(Status.REQUEST_ENTITY_TOO_LARGE).build());
             } else {
                 /**
                  * Jackson JSON decoder tries to read a minimum of 2 bytes (4
@@ -141,7 +153,11 @@
     private ContainerRequest createContainerRequest(ChannelHandlerContext ctx, HttpRequest req) {
 
         String s = req.uri().startsWith("/") ? req.uri().substring(1) : req.uri();
-        URI requestUri = URI.create(baseUri + ContainerUtils.encodeUnsafeCharacters(s));
+        final String baseUriStr = baseUri.toString();
+        final String base = applicationPath == null || applicationPath.isEmpty()
+                ? baseUriStr
+                : baseUriStr.substring(0, baseUriStr.length() - applicationPath.length() - 1);
+        final URI requestUri = URI.create(base + ContainerUtils.encodeUnsafeCharacters(s));
 
         ContainerRequest requestContext = new ContainerRequest(
                 baseUri, requestUri, req.method().name(), getSecurityContext(ctx),
diff --git a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyServerInitializer.java b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyServerInitializer.java
index 0d1d424..0cdbb3b 100644
--- a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyServerInitializer.java
+++ b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/JerseyServerInitializer.java
@@ -45,6 +45,7 @@
 class JerseyServerInitializer extends ChannelInitializer<SocketChannel> {
 
     private final URI baseUri;
+    private final String applicationPath;
     private final SslContext sslCtx;
     private final NettyHttpContainer container;
     private final boolean http2;
@@ -73,7 +74,14 @@
      */
     public JerseyServerInitializer(URI baseUri, SslContext sslCtx, NettyHttpContainer container, ResourceConfig resourceConfig,
                                    boolean http2) {
-        this.baseUri = baseUri;
+        applicationPath = container.getApplicationHandler().getConfiguration().getApplicationPath();
+        final String uriPath = applicationPath == null
+                ? baseUri.toString()
+                : baseUri.toString() + "/" + applicationPath + "/";
+        final int doubleSlash = uriPath.indexOf("/") + 2;
+        final String path = uriPath.substring(0, doubleSlash) + uriPath.substring(doubleSlash).replaceAll("/{2,}", "/");
+
+        this.baseUri = URI.create(path);
         this.sslCtx = sslCtx;
         this.container = container;
         this.resourceConfig = resourceConfig;
@@ -98,7 +106,7 @@
             p.addLast(new HttpServerCodec());
             p.addLast(new HttpServerExpectContinueHandler());
             p.addLast(new ChunkedWriteHandler());
-            p.addLast(new JerseyServerHandler(baseUri, container, resourceConfig));
+            p.addLast(new JerseyServerHandler(baseUri, applicationPath, container, resourceConfig));
         }
     }
 
diff --git a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyHttpContainer.java b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyHttpContainer.java
index f21bd7e..cbd7fe4 100644
--- a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyHttpContainer.java
+++ b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyHttpContainer.java
@@ -19,7 +19,7 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyHttpContainerProvider.java b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyHttpContainerProvider.java
index 82ab3c1..6f926c0 100644
--- a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyHttpContainerProvider.java
+++ b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyHttpContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
 
 import io.netty.bootstrap.ServerBootstrap;
 import io.netty.channel.Channel;
diff --git a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyResponseWriter.java b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyResponseWriter.java
index 97a0da6..3d4311a 100644
--- a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyResponseWriter.java
+++ b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettyResponseWriter.java
@@ -46,7 +46,7 @@
 /**
  * Netty implementation of {@link ContainerResponseWriter}.
  *
- * @author Pavel Bucek (pavel.bucek at oracle.com)
+ * @author Pavel Bucek
  */
 class NettyResponseWriter implements ContainerResponseWriter {
 
diff --git a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettySecurityContext.java b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettySecurityContext.java
index 989f7b2..73a1147 100644
--- a/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettySecurityContext.java
+++ b/containers/netty-http/src/main/java/org/glassfish/jersey/netty/httpserver/NettySecurityContext.java
@@ -19,7 +19,7 @@
 
 import java.security.Principal;
 
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
 
 import io.netty.channel.ChannelHandlerContext;
 
diff --git a/containers/pom.xml b/containers/pom.xml
index 1170e77..be05caf 100644
--- a/containers/pom.xml
+++ b/containers/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.containers</groupId>
@@ -82,4 +82,5 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
 </project>
diff --git a/containers/simple-http/pom.xml b/containers/simple-http/pom.xml
index 832c231..e21c301 100644
--- a/containers/simple-http/pom.xml
+++ b/containers/simple-http/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.containers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-container-simple-http</artifactId>
@@ -34,8 +34,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.simpleframework</groupId>
diff --git a/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainer.java b/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainer.java
index 04e7f2c..afd86b5 100644
--- a/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainer.java
+++ b/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainer.java
@@ -32,12 +32,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
@@ -138,7 +138,7 @@
         @Override
         public OutputStream writeResponseStatusAndHeaders(final long contentLength,
                                                           final ContainerResponse context) throws ContainerException {
-            final javax.ws.rs.core.Response.StatusType statusInfo = context.getStatusInfo();
+            final jakarta.ws.rs.core.Response.StatusType statusInfo = context.getStatusInfo();
 
             final int code = statusInfo.getStatusCode();
             final String reason = statusInfo.getReasonPhrase() == null
@@ -220,7 +220,7 @@
         public void failure(final Throwable error) {
             try {
                 if (!response.isCommitted()) {
-                    response.setCode(javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
+                    response.setCode(jakarta.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
                     response.setDescription(error.getMessage());
                 }
             } finally {
diff --git a/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainerFactory.java b/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainerFactory.java
index e979908..6740c6b 100644
--- a/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainerFactory.java
+++ b/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.net.SocketAddress;
 import java.net.URI;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import javax.net.ssl.SSLContext;
 
diff --git a/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainerProvider.java b/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainerProvider.java
index 4eaf1c4..e637041 100644
--- a/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainerProvider.java
+++ b/containers/simple-http/src/main/java/org/glassfish/jersey/simple/SimpleContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.simple;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.spi.ContainerProvider;
 
diff --git a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/AbstractSimpleServerTester.java b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/AbstractSimpleServerTester.java
index f5025ee..3543e50 100644
--- a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/AbstractSimpleServerTester.java
+++ b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/AbstractSimpleServerTester.java
@@ -21,8 +21,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/AsyncTest.java b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/AsyncTest.java
index 5ef98f8..5faf09b 100644
--- a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/AsyncTest.java
+++ b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/AsyncTest.java
@@ -22,14 +22,14 @@
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/ExceptionTest.java b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/ExceptionTest.java
index 8c36c1d..7672d3f 100644
--- a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/ExceptionTest.java
+++ b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/ExceptionTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.simple;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/LifecycleListenerTest.java b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/LifecycleListenerTest.java
index bbab640..c99e3b1 100644
--- a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/LifecycleListenerTest.java
+++ b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/LifecycleListenerTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.simple;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener;
diff --git a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/OptionsTest.java b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/OptionsTest.java
index b0d2f87..a93d872 100644
--- a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/OptionsTest.java
+++ b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/OptionsTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.simple;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/ParallelTest.java b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/ParallelTest.java
index 1386bc5..d328fc1 100644
--- a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/ParallelTest.java
+++ b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/ParallelTest.java
@@ -22,10 +22,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/TraceTest.java b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/TraceTest.java
index 00e980f..46a669c 100644
--- a/containers/simple-http/src/test/java/org/glassfish/jersey/simple/TraceTest.java
+++ b/containers/simple-http/src/test/java/org/glassfish/jersey/simple/TraceTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.simple;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/core-client/pom.xml b/core-client/pom.xml
index 3e7043f..fefc684 100644
--- a/core-client/pom.xml
+++ b/core-client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.core</groupId>
@@ -91,7 +91,7 @@
                 <configuration>
                     <instructions>
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             *
                         </Import-Package>
                         <unpackBundle>true</unpackBundle>
@@ -114,15 +114,14 @@
         </dependency>
 
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
 
         <dependency>
             <!-- not to warn about missing activation -->
             <groupId>com.sun.activation</groupId>
             <artifactId>jakarta.activation</artifactId>
-            <version>${jakarta.activation.version}</version>
             <scope>test</scope>
         </dependency>
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/AbortException.java b/core-client/src/main/java/org/glassfish/jersey/client/AbortException.java
index 713c4f5..b051581 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/AbortException.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/AbortException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 /**
  * Internal exception indicating that request processing has been aborted
@@ -24,7 +24,7 @@
  *
  * @author Marek Potociar
  *
- * @see javax.ws.rs.client.ClientRequestContext#abortWith(javax.ws.rs.core.Response)
+ * @see jakarta.ws.rs.client.ClientRequestContext#abortWith(jakarta.ws.rs.core.Response)
  */
 class AbortException extends ProcessingException {
     private final transient ClientResponse abortResponse;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/AbstractNonSyncInvoker.java b/core-client/src/main/java/org/glassfish/jersey/client/AbstractNonSyncInvoker.java
index 4f9fdf5..12b00ed 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/AbstractNonSyncInvoker.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/AbstractNonSyncInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.GenericType;
 
 /* package */ abstract class AbstractNonSyncInvoker<T> {
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/AbstractRxInvoker.java b/core-client/src/main/java/org/glassfish/jersey/client/AbstractRxInvoker.java
index aa85a6b..d7ff0d9 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/AbstractRxInvoker.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/AbstractRxInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,14 +20,14 @@
 
 import java.util.concurrent.ExecutorService;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.RxInvoker;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.RxInvoker;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 /**
- * Default implementation of {@link javax.ws.rs.client.RxInvoker reactive invoker}. Extensions of this class are
+ * Default implementation of {@link jakarta.ws.rs.client.RxInvoker reactive invoker}. Extensions of this class are
  * supposed to implement {@link #method(String, Entity, Class)} and
  * {@link #method(String, Entity, GenericType)} methods to which implementations of the rest
  * of the methods from the contract delegate to.
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ChunkParser.java b/core-client/src/main/java/org/glassfish/jersey/client/ChunkParser.java
index 394bd97..1245338 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ChunkParser.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ChunkParser.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -34,7 +34,7 @@
  * Chunk parsers are typically expected to skip any empty chunks (the chunks that do
  * not contain any data) or any control meta-data associated with chunks, however it
  * is not a hard requirement to do so. The decision depends on the knowledge of which
- * {@link javax.ws.rs.ext.MessageBodyReader} implementation is selected for de-serialization
+ * {@link jakarta.ws.rs.ext.MessageBodyReader} implementation is selected for de-serialization
  * of the chunk data.
  * </p>
  *
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ChunkedInput.java b/core-client/src/main/java/org/glassfish/jersey/client/ChunkedInput.java
index 29493f3..8d30e7b 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ChunkedInput.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ChunkedInput.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -32,10 +32,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ReaderInterceptor;
 
 import org.glassfish.jersey.client.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.PropertiesDelegate;
@@ -370,8 +370,8 @@
      * Get chunk data media type.
      * <p/>
      * Default chunk data media type is derived from the value of the response
-     * <tt>{@value javax.ws.rs.core.HttpHeaders#CONTENT_TYPE}</tt> header field.
-     * This default value may be manually overridden by {@link #setChunkType(javax.ws.rs.core.MediaType) setting}
+     * <tt>{@value jakarta.ws.rs.core.HttpHeaders#CONTENT_TYPE}</tt> header field.
+     * This default value may be manually overridden by {@link #setChunkType(jakarta.ws.rs.core.MediaType) setting}
      * a custom non-{@code null} chunk media type value.
      * <p>
      * Note: Access to internal chunk media type is not a thread-safe operation and has to
@@ -388,11 +388,11 @@
      * Set custom chunk data media type.
      * <p/>
      * By default, chunk data media type is derived from the value of the response
-     * <tt>{@value javax.ws.rs.core.HttpHeaders#CONTENT_TYPE}</tt> header field.
+     * <tt>{@value jakarta.ws.rs.core.HttpHeaders#CONTENT_TYPE}</tt> header field.
      * Using this methods will override the default chunk media type value and set it
      * to a custom non-{@code null} chunk media type. Once this method is invoked,
      * all subsequent {@link #read chunk reads} will use the newly set chunk media
-     * type when selecting the proper {@link javax.ws.rs.ext.MessageBodyReader} for
+     * type when selecting the proper {@link jakarta.ws.rs.ext.MessageBodyReader} for
      * chunk de-serialization.
      * <p>
      * Note: Access to internal chunk media type is not a thread-safe operation and has to
@@ -419,7 +419,7 @@
      * @param mediaType custom chunk data media type. Must not be {@code null}.
      * @throws IllegalArgumentException in case the {@code mediaType} cannot be parsed into
      *                                  a valid {@link MediaType} instance or is {@code null}.
-     * @see #setChunkType(javax.ws.rs.core.MediaType)
+     * @see #setChunkType(jakarta.ws.rs.core.MediaType)
      */
     public void setChunkType(final String mediaType) throws IllegalArgumentException {
         this.mediaType = MediaType.valueOf(mediaType);
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ChunkedInputReader.java b/core-client/src/main/java/org/glassfish/jersey/client/ChunkedInputReader.java
index 4a27f23..74c8cfb 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ChunkedInputReader.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ChunkedInputReader.java
@@ -21,23 +21,23 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.PropertiesDelegate;
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 import org.glassfish.jersey.message.MessageBodyWorkers;
 
 /**
- * {@link javax.ws.rs.ext.MessageBodyWriter} for {@link ChunkedInput}.
+ * {@link jakarta.ws.rs.ext.MessageBodyWriter} for {@link ChunkedInput}.
  *
  * @author Marek Potociar
  */
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientAsyncExecutor.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientAsyncExecutor.java
index 6b12259..d1e0642 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientAsyncExecutor.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientAsyncExecutor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,11 +23,11 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Injection qualifier that can be used to inject an {@link java.util.concurrent.ExecutorService}
- * instance used by Jersey client runtime to execute {@link javax.ws.rs.client.Invocation.Builder#async() asynchronous}
+ * instance used by Jersey client runtime to execute {@link jakarta.ws.rs.client.Invocation.Builder#async() asynchronous}
  * client requests.
  * <p>
  * The asynchronous client request executor service instance injected using this injection qualifier can be customized
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientBackgroundScheduler.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientBackgroundScheduler.java
index 538b400..2fd386a 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientBackgroundScheduler.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientBackgroundScheduler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Injection qualifier that can be used to inject an {@link java.util.concurrent.ScheduledExecutorService}
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientBinder.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientBinder.java
index 6f6778f..a48e353 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientBinder.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,15 +19,15 @@
 import java.util.Map;
 import java.util.function.Supplier;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.PropertiesDelegate;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientBootstrapBag.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientBootstrapBag.java
index f37003e..150ab87 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientBootstrapBag.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientBootstrapBag.java
@@ -22,7 +22,7 @@
 import org.glassfish.jersey.internal.util.collection.LazyValue;
 import org.glassfish.jersey.spi.ComponentProvider;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 import java.util.Collection;
 
 /**
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientConfig.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientConfig.java
index d5983c8..4dca460 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientConfig.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientConfig.java
@@ -27,10 +27,10 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.ExtendedConfig;
@@ -63,7 +63,7 @@
 import org.glassfish.jersey.spi.ComponentProvider;
 
 /**
- * Jersey externalized implementation of client-side JAX-RS {@link javax.ws.rs.core.Configurable
+ * Jersey externalized implementation of client-side JAX-RS {@link jakarta.ws.rs.core.Configurable
  * configurable} contract.
  *
  * @author Marek Potociar
@@ -557,7 +557,7 @@
      * property values copied from the supplied JAX-RS configuration instance.
      *
      * @param parent parent Jersey client instance.
-     * @param that   original {@link javax.ws.rs.core.Configuration}.
+     * @param that   original {@link jakarta.ws.rs.core.Configuration}.
      */
     ClientConfig(final JerseyClient parent, final Configuration that) {
         if (that instanceof ClientConfig) {
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientFilteringStages.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientFilteringStages.java
index 6555e92..ed4bc53 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientFilteringStages.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientFilteringStages.java
@@ -20,11 +20,11 @@
 import java.util.Collections;
 import java.util.Iterator;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.ResponseProcessingException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.ResponseProcessingException;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.internal.routing.ClientResponseMediaTypeDeterminer;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientLifecycleListener.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientLifecycleListener.java
index a33cd3a..0e61fde 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientLifecycleListener.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientLifecycleListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.spi.Contract;
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientMessageBodyFactory.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientMessageBodyFactory.java
index e05cb5f..bbd0abc 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientMessageBodyFactory.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientMessageBodyFactory.java
@@ -27,7 +27,7 @@
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.message.internal.MessageBodyFactory;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 class ClientMessageBodyFactory extends MessageBodyFactory {
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientProperties.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientProperties.java
index 7ba912a..64963c6 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientProperties.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientProperties.java
@@ -24,8 +24,8 @@
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.internal.util.PropertyAlias;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
 
 /**
  * Jersey client implementation configuration properties.
@@ -215,7 +215,7 @@
     /**
      * An integer value that defines the buffer size used to buffer client-side
      * request entity in order to determine its size and set the value of HTTP
-     * <tt>{@value javax.ws.rs.core.HttpHeaders#CONTENT_LENGTH}</tt> header.
+     * <tt>{@value jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH}</tt> header.
      * <p>
      * If the entity size exceeds the configured buffer size, the buffering
      * would be cancelled and the entity size would not be determined. Value
@@ -266,7 +266,7 @@
      * If {@code true} then disable META-INF/services lookup on client.
      * <p>
      * By default Jersey looks up SPI implementations described by {@code META-INF/services/*} files.
-     * Then you can register appropriate provider  classes by {@link javax.ws.rs.core.Application}.
+     * Then you can register appropriate provider  classes by {@link jakarta.ws.rs.core.Application}.
      * </p>
      * <p>
      * The default value is {@code false}.
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientRequest.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientRequest.java
index f20f7cd..fc21c02 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientRequest.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientRequest.java
@@ -32,17 +32,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.client.internal.LocalizationMessages;
 import org.glassfish.jersey.http.HttpHeaders;
@@ -399,7 +399,7 @@
     }
 
     /**
-     * Returns true if the request is called asynchronously using {@link javax.ws.rs.client.AsyncInvoker}
+     * Returns true if the request is called asynchronously using {@link jakarta.ws.rs.client.AsyncInvoker}
      *
      * @return True if the request is asynchronous; false otherwise.
      */
@@ -408,7 +408,7 @@
     }
 
     /**
-     * Sets the flag indicating whether the request is called asynchronously using {@link javax.ws.rs.client.AsyncInvoker}.
+     * Sets the flag indicating whether the request is called asynchronously using {@link jakarta.ws.rs.client.AsyncInvoker}.
      *
      * @param async True if the request is asynchronous; false otherwise.
      */
@@ -431,7 +431,7 @@
 
     /**
      * Write (serialize) the entity set in this request into the {@link #getEntityStream() entity stream}. The method
-     * use {@link javax.ws.rs.ext.WriterInterceptor writer interceptors} and {@link javax.ws.rs.ext.MessageBodyWriter
+     * use {@link jakarta.ws.rs.ext.WriterInterceptor writer interceptors} and {@link jakarta.ws.rs.ext.MessageBodyWriter
      * message body writer}.
      * <p/>
      * This method modifies the state of this request and therefore it can be called only once per request life cycle otherwise
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientResponse.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientResponse.java
index 2801ed2..9491741 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientResponse.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientResponse.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -28,14 +28,14 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.client.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.inject.InjectionManager;
@@ -157,7 +157,7 @@
      * provided the data represented by this response instance. Because Jersey client connectors
      * may be configured to {@link ClientProperties#FOLLOW_REDIRECTS
      * automatically follow redirect responses}, the value of the URI returned by this method may
-     * be different from the value of the {@link javax.ws.rs.client.ClientRequestContext#getUri()
+     * be different from the value of the {@link jakarta.ws.rs.client.ClientRequestContext#getUri()
      * original request URI} that can be retrieved using {@code response.getRequestContext().getUri()}
      * chain of method calls.
      * </p>
@@ -249,7 +249,7 @@
      * @throws IllegalStateException if the entity was previously fully consumed
      *                               as an {@link InputStream input stream}, or
      *                               if the response has been {@link #close() closed}.
-     * @see javax.ws.rs.core.Response#getEntity()
+     * @see jakarta.ws.rs.core.Response#getEntity()
      * @since 2.5
      */
     public Object getEntity() throws IllegalStateException {
@@ -259,7 +259,7 @@
 
     /**
      * Read the message entity input stream as an instance of specified Java type
-     * using a {@link javax.ws.rs.ext.MessageBodyReader} that supports mapping the
+     * using a {@link jakarta.ws.rs.ext.MessageBodyReader} that supports mapping the
      * message entity stream onto the requested type.
      * <p>
      * Method throws an {@link ProcessingException} if the content of the
@@ -283,15 +283,15 @@
      * @return the message entity; for a zero-length response entities returns a corresponding
      *         Java object that represents zero-length data. In case no zero-length representation
      *         is defined for the Java type, a {@link ProcessingException} wrapping the
-     *         underlying {@link javax.ws.rs.core.NoContentException} is thrown.
+     *         underlying {@link jakarta.ws.rs.core.NoContentException} is thrown.
      * @throws ProcessingException   if the content of the message cannot be
      *                               mapped to an entity of the requested type.
      * @throws IllegalStateException if the entity is not backed by an input stream,
      *                               the response has been {@link #close() closed} already,
      *                               or if the entity input stream has been fully consumed already and has
      *                               not been buffered prior consuming.
-     * @see javax.ws.rs.ext.MessageBodyReader
-     * @see javax.ws.rs.core.Response#readEntity(Class)
+     * @see jakarta.ws.rs.ext.MessageBodyReader
+     * @see jakarta.ws.rs.core.Response#readEntity(Class)
      * @since 2.5
      */
     public <T> T readEntity(Class<T> entityType) throws ProcessingException, IllegalStateException {
@@ -300,7 +300,7 @@
 
     /**
      * Read the message entity input stream as an instance of specified Java type
-     * using a {@link javax.ws.rs.ext.MessageBodyReader} that supports mapping the
+     * using a {@link jakarta.ws.rs.ext.MessageBodyReader} that supports mapping the
      * message entity stream onto the requested type.
      * <p>
      * Method throws an {@link ProcessingException} if the content of the
@@ -324,15 +324,15 @@
      * @return the message entity; for a zero-length response entities returns a corresponding
      *         Java object that represents zero-length data. In case no zero-length representation
      *         is defined for the Java type, a {@link ProcessingException} wrapping the
-     *         underlying {@link javax.ws.rs.core.NoContentException} is thrown.
+     *         underlying {@link jakarta.ws.rs.core.NoContentException} is thrown.
      * @throws ProcessingException   if the content of the message cannot be
      *                               mapped to an entity of the requested type.
      * @throws IllegalStateException if the entity is not backed by an input stream,
      *                               the response has been {@link #close() closed} already,
      *                               or if the entity input stream has been fully consumed already and has
      *                               not been buffered prior consuming.
-     * @see javax.ws.rs.ext.MessageBodyReader
-     * @see javax.ws.rs.core.Response#readEntity(javax.ws.rs.core.GenericType)
+     * @see jakarta.ws.rs.ext.MessageBodyReader
+     * @see jakarta.ws.rs.core.Response#readEntity(jakarta.ws.rs.core.GenericType)
      * @since 2.5
      */
     @SuppressWarnings("unchecked")
@@ -342,7 +342,7 @@
 
     /**
      * Read the message entity input stream as an instance of specified Java type
-     * using a {@link javax.ws.rs.ext.MessageBodyReader} that supports mapping the
+     * using a {@link jakarta.ws.rs.ext.MessageBodyReader} that supports mapping the
      * message entity stream onto the requested type.
      * <p>
      * Method throws an {@link ProcessingException} if the content of the
@@ -363,19 +363,19 @@
      *
      * @param <T>         entity instance Java type.
      * @param entityType  the type of entity.
-     * @param annotations annotations that will be passed to the {@link javax.ws.rs.ext.MessageBodyReader}.
+     * @param annotations annotations that will be passed to the {@link jakarta.ws.rs.ext.MessageBodyReader}.
      * @return the message entity; for a zero-length response entities returns a corresponding
      *         Java object that represents zero-length data. In case no zero-length representation
      *         is defined for the Java type, a {@link ProcessingException} wrapping the
-     *         underlying {@link javax.ws.rs.core.NoContentException} is thrown.
+     *         underlying {@link jakarta.ws.rs.core.NoContentException} is thrown.
      * @throws ProcessingException   if the content of the message cannot be
      *                               mapped to an entity of the requested type.
      * @throws IllegalStateException if the entity is not backed by an input stream,
      *                               the response has been {@link #close() closed} already,
      *                               or if the entity input stream has been fully consumed already and has
      *                               not been buffered prior consuming.
-     * @see javax.ws.rs.ext.MessageBodyReader
-     * @see javax.ws.rs.core.Response#readEntity(Class, java.lang.annotation.Annotation[])
+     * @see jakarta.ws.rs.ext.MessageBodyReader
+     * @see jakarta.ws.rs.core.Response#readEntity(Class, java.lang.annotation.Annotation[])
      * @since 2.5
      */
     public <T> T readEntity(Class<T> entityType, Annotation[] annotations) throws ProcessingException, IllegalStateException {
@@ -384,7 +384,7 @@
 
     /**
      * Read the message entity input stream as an instance of specified Java type
-     * using a {@link javax.ws.rs.ext.MessageBodyReader} that supports mapping the
+     * using a {@link jakarta.ws.rs.ext.MessageBodyReader} that supports mapping the
      * message entity stream onto the requested type.
      * <p>
      * Method throws an {@link ProcessingException} if the content of the
@@ -405,19 +405,19 @@
      *
      * @param <T>         entity instance Java type.
      * @param entityType  the type of entity; may be generic.
-     * @param annotations annotations that will be passed to the {@link javax.ws.rs.ext.MessageBodyReader}.
+     * @param annotations annotations that will be passed to the {@link jakarta.ws.rs.ext.MessageBodyReader}.
      * @return the message entity; for a zero-length response entities returns a corresponding
      *         Java object that represents zero-length data. In case no zero-length representation
      *         is defined for the Java type, a {@link ProcessingException} wrapping the
-     *         underlying {@link javax.ws.rs.core.NoContentException} is thrown.
+     *         underlying {@link jakarta.ws.rs.core.NoContentException} is thrown.
      * @throws ProcessingException   if the content of the message cannot be
      *                               mapped to an entity of the requested type.
      * @throws IllegalStateException if the entity is not backed by an input stream,
      *                               the response has been {@link #close() closed} already,
      *                               or if the entity input stream has been fully consumed already and has
      *                               not been buffered prior consuming.
-     * @see javax.ws.rs.ext.MessageBodyReader
-     * @see javax.ws.rs.core.Response#readEntity(javax.ws.rs.core.GenericType, java.lang.annotation.Annotation[])
+     * @see jakarta.ws.rs.ext.MessageBodyReader
+     * @see jakarta.ws.rs.core.Response#readEntity(jakarta.ws.rs.core.GenericType, java.lang.annotation.Annotation[])
      * @since 2.5
      */
     @SuppressWarnings("unchecked")
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ClientRuntime.java b/core-client/src/main/java/org/glassfish/jersey/client/ClientRuntime.java
index 7ce73b8..26ad221 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ClientRuntime.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ClientRuntime.java
@@ -27,12 +27,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.client.internal.ClientResponseProcessingException;
 import org.glassfish.jersey.client.internal.LocalizationMessages;
@@ -288,7 +288,7 @@
      *
      * @param request client request to be invoked.
      * @return client response.
-     * @throws javax.ws.rs.ProcessingException in case of an invocation failure.
+     * @throws jakarta.ws.rs.ProcessingException in case of an invocation failure.
      */
     public ClientResponse invoke(final ClientRequest request) {
         ProcessingException processingException = null;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/CompletableFutureAsyncInvoker.java b/core-client/src/main/java/org/glassfish/jersey/client/CompletableFutureAsyncInvoker.java
index aa05c9d..c0a7e91 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/CompletableFutureAsyncInvoker.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/CompletableFutureAsyncInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.client.AsyncInvoker;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.AsyncInvoker;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 import java.util.concurrent.CompletableFuture;
 
 /*package*/ abstract class CompletableFutureAsyncInvoker
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/CustomProvidersFeature.java b/core-client/src/main/java/org/glassfish/jersey/client/CustomProvidersFeature.java
index f2c255b..f492cb5 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/CustomProvidersFeature.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/CustomProvidersFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.Collection;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * Feature to provide the single-line registration of custom providers.
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/DefaultClientAsyncExecutorProvider.java b/core-client/src/main/java/org/glassfish/jersey/client/DefaultClientAsyncExecutorProvider.java
index a875feb..2f9fa71 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/DefaultClientAsyncExecutorProvider.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/DefaultClientAsyncExecutorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
-import javax.inject.Named;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
 
 import org.glassfish.jersey.client.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/HttpUrlConnectorProvider.java b/core-client/src/main/java/org/glassfish/jersey/client/HttpUrlConnectorProvider.java
index 00ffd75..e0446d2 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/HttpUrlConnectorProvider.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/HttpUrlConnectorProvider.java
@@ -23,8 +23,8 @@
 import java.util.Map;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.client.internal.HttpUrlConnector;
 import org.glassfish.jersey.client.internal.LocalizationMessages;
@@ -53,11 +53,11 @@
 public class HttpUrlConnectorProvider implements ConnectorProvider {
     /**
      * If {@code true}, the {@link HttpUrlConnector} (if used) will assume the content length
-     * from the value of {@value javax.ws.rs.core.HttpHeaders#CONTENT_LENGTH} request
+     * from the value of {@value jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH} request
      * header (if present).
      * <p>
      * When this property is enabled and the request has a valid non-zero content length
-     * value specified in its {@value javax.ws.rs.core.HttpHeaders#CONTENT_LENGTH} request
+     * value specified in its {@value jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH} request
      * header, that this value will be used as an input to the
      * {@link java.net.HttpURLConnection#setFixedLengthStreamingMode(int)} method call
      * invoked on the underlying {@link java.net.HttpURLConnection connection}.
@@ -66,7 +66,7 @@
      * </p>
      * <p>
      * Note that the content length value defined in the request header must exactly match
-     * the real size of the entity. If the {@link javax.ws.rs.core.HttpHeaders#CONTENT_LENGTH} header
+     * the real size of the entity. If the {@link jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH} header
      * is explicitly specified in a request, this property will be ignored and the
      * request entity will be still buffered by the underlying @{code HttpURLConnection} infrastructure.
      * </p>
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/InboundJaxrsResponse.java b/core-client/src/main/java/org/glassfish/jersey/client/InboundJaxrsResponse.java
index fd5ebfa..615912d 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/InboundJaxrsResponse.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/InboundJaxrsResponse.java
@@ -24,14 +24,14 @@
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.util.Producer;
 import org.glassfish.jersey.process.internal.RequestContext;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/Initializable.java b/core-client/src/main/java/org/glassfish/jersey/client/Initializable.java
index a144443..0de0c5c 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/Initializable.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/Initializable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -31,10 +31,10 @@
 public interface Initializable<T extends Initializable<T>> {
 
     /**
-     * Pre-initializes the runtime and runtime {@link javax.ws.rs.core.Configuration configuration} of this component
+     * Pre-initializes the runtime and runtime {@link jakarta.ws.rs.core.Configuration configuration} of this component
      * in order to improve performance during the first request.
      * <p>
-     * Once this method is called no other method implementing {@link javax.ws.rs.core.Configurable} should be called
+     * Once this method is called no other method implementing {@link jakarta.ws.rs.core.Configurable} should be called
      * on this pre initialized component, otherwise the initialized client runtime will be discarded and the configuration
      * will change back to uninitialized.
      * </p>
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/InjectionManagerClientProvider.java b/core-client/src/main/java/org/glassfish/jersey/client/InjectionManagerClientProvider.java
index 37c94bc..3ba67e4 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/InjectionManagerClientProvider.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/InjectionManagerClientProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
 
 import org.glassfish.jersey.InjectionManagerProvider;
 import org.glassfish.jersey.client.internal.LocalizationMessages;
@@ -38,8 +38,8 @@
 public class InjectionManagerClientProvider extends InjectionManagerProvider {
 
     /**
-     * Extract and return injection manager from {@link javax.ws.rs.client.ClientRequestContext clientRequestContext}.
-     * The method can be used to inject custom types into a {@link javax.ws.rs.client.ClientRequestFilter}.
+     * Extract and return injection manager from {@link jakarta.ws.rs.client.ClientRequestContext clientRequestContext}.
+     * The method can be used to inject custom types into a {@link jakarta.ws.rs.client.ClientRequestFilter}.
      *
      * @param clientRequestContext Client request context.
      *
@@ -47,7 +47,7 @@
      *
      * @throws java.lang.IllegalArgumentException when {@code clientRequestContext} is not a default
      * Jersey implementation provided by Jersey as argument in the
-     * {@link javax.ws.rs.client.ClientRequestFilter#filter(javax.ws.rs.client.ClientRequestContext)} method.
+     * {@link jakarta.ws.rs.client.ClientRequestFilter#filter(jakarta.ws.rs.client.ClientRequestContext)} method.
      */
     public static InjectionManager getInjectionManager(ClientRequestContext clientRequestContext) {
         if (!(clientRequestContext instanceof InjectionManagerSupplier)) {
@@ -59,8 +59,8 @@
     }
 
     /**
-     * Extract and return injection manager from {@link javax.ws.rs.client.ClientResponseContext clientResponseContext}.
-     * The method can be used to inject custom types into a {@link javax.ws.rs.client.ClientResponseFilter}.
+     * Extract and return injection manager from {@link jakarta.ws.rs.client.ClientResponseContext clientResponseContext}.
+     * The method can be used to inject custom types into a {@link jakarta.ws.rs.client.ClientResponseFilter}.
      *
      * @param clientResponseContext Client response context.
      *
@@ -68,7 +68,7 @@
      *
      * @throws java.lang.IllegalArgumentException when {@code clientResponseContext} is not a default
      * Jersey implementation provided by Jersey as argument in the
-     * {@link javax.ws.rs.client.ClientResponseFilter#filter(javax.ws.rs.client.ClientRequestContext, javax.ws.rs.client.ClientResponseContext)}
+     * {@link jakarta.ws.rs.client.ClientResponseFilter#filter(jakarta.ws.rs.client.ClientRequestContext, jakarta.ws.rs.client.ClientResponseContext)}
      * method.
      */
     public static InjectionManager getInjectionManager(ClientResponseContext clientResponseContext) {
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/InvocationBuilderListenerStage.java b/core-client/src/main/java/org/glassfish/jersey/client/InvocationBuilderListenerStage.java
index dc947c6..7f5d455 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/InvocationBuilderListenerStage.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/InvocationBuilderListenerStage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,13 +21,13 @@
 import org.glassfish.jersey.internal.inject.Providers;
 import org.glassfish.jersey.model.internal.RankedComparator;
 
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 import java.net.URI;
 import java.util.Collection;
 import java.util.Iterator;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/InvocationInterceptorStages.java b/core-client/src/main/java/org/glassfish/jersey/client/InvocationInterceptorStages.java
index 8616728..12714d8 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/InvocationInterceptorStages.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/InvocationInterceptorStages.java
@@ -24,19 +24,19 @@
 import org.glassfish.jersey.internal.inject.Providers;
 import org.glassfish.jersey.model.internal.RankedComparator;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -111,7 +111,7 @@
         /**
          * Execute the  {@link PreInvocationInterceptor PreInvocationInterceptors}.
          *
-         * @param request {@link javax.ws.rs.client.ClientRequestContext} to be passed to {@code PreInvocationInterceptor}.
+         * @param request {@link jakarta.ws.rs.client.ClientRequestContext} to be passed to {@code PreInvocationInterceptor}.
          */
         void beforeRequest(ClientRequest request) {
             final LinkedList<Throwable> throwables = new LinkedList<>();
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/JerseyClient.java b/core-client/src/main/java/org/glassfish/jersey/client/JerseyClient.java
index 214625d..3a39375 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/JerseyClient.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/JerseyClient.java
@@ -30,9 +30,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.UriBuilder;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
@@ -46,12 +46,12 @@
 import static org.glassfish.jersey.internal.guava.Preconditions.checkState;
 
 /**
- * Jersey implementation of {@link javax.ws.rs.client.Client JAX-RS Client}
+ * Jersey implementation of {@link jakarta.ws.rs.client.Client JAX-RS Client}
  * contract.
  *
  * @author Marek Potociar
  */
-public class JerseyClient implements javax.ws.rs.client.Client, Initializable<JerseyClient> {
+public class JerseyClient implements jakarta.ws.rs.client.Client, Initializable<JerseyClient> {
     private static final Logger LOG = Logger.getLogger(JerseyClient.class.getName());
 
     private static final DefaultSslContextProvider DEFAULT_SSL_CONTEXT_PROVIDER = new DefaultSslContextProvider() {
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/JerseyClientBuilder.java b/core-client/src/main/java/org/glassfish/jersey/client/JerseyClientBuilder.java
index f56c3aa..41dbde9 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/JerseyClientBuilder.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/JerseyClientBuilder.java
@@ -26,8 +26,8 @@
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Configuration;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
@@ -42,7 +42,7 @@
 import org.glassfish.jersey.model.internal.RankedProvider;
 
 /**
- * Jersey provider of {@link javax.ws.rs.client.ClientBuilder JAX-RS client builder}.
+ * Jersey provider of {@link jakarta.ws.rs.client.ClientBuilder JAX-RS client builder}.
  *
  * @author Marek Potociar
  */
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/JerseyCompletionStageRxInvoker.java b/core-client/src/main/java/org/glassfish/jersey/client/JerseyCompletionStageRxInvoker.java
index 4579b48..229ed29 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/JerseyCompletionStageRxInvoker.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/JerseyCompletionStageRxInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.client.CompletionStageRxInvoker;
+import jakarta.ws.rs.client.CompletionStageRxInvoker;
 
 /**
  * Implementation of Reactive Invoker for {@code CompletionStage}.
  *
- * This class allows for using {@link javax.ws.rs.client.InvocationCallback} in
- * {@link javax.ws.rs.client.Invocation.Builder#rx(Class) Invocation.Builder.rx(JerseyCompletionStageRxInvoker.class)}
+ * This class allows for using {@link jakarta.ws.rs.client.InvocationCallback} in
+ * {@link jakarta.ws.rs.client.Invocation.Builder#rx(Class) Invocation.Builder.rx(JerseyCompletionStageRxInvoker.class)}
  * requests.
  *
  * @author Michal Gajdos
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java b/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java
index 3dfa5a0..c120856 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java
@@ -29,35 +29,35 @@
 import java.util.function.BiFunction;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.NotAcceptableException;
-import javax.ws.rs.NotAllowedException;
-import javax.ws.rs.NotAuthorizedException;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.NotSupportedException;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.RedirectionException;
-import javax.ws.rs.ServerErrorException;
-import javax.ws.rs.ServiceUnavailableException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.CompletionStageRxInvoker;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.ResponseProcessingException;
-import javax.ws.rs.client.RxInvoker;
-import javax.ws.rs.client.RxInvokerProvider;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.ForbiddenException;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.NotAcceptableException;
+import jakarta.ws.rs.NotAllowedException;
+import jakarta.ws.rs.NotAuthorizedException;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.NotSupportedException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.RedirectionException;
+import jakarta.ws.rs.ServerErrorException;
+import jakarta.ws.rs.ServiceUnavailableException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.CompletionStageRxInvoker;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.ResponseProcessingException;
+import jakarta.ws.rs.client.RxInvoker;
+import jakarta.ws.rs.client.RxInvokerProvider;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.internal.ClientResponseProcessingException;
 import org.glassfish.jersey.client.internal.LocalizationMessages;
@@ -74,12 +74,12 @@
 import org.glassfish.jersey.spi.ExecutorServiceProvider;
 
 /**
- * Jersey implementation of {@link javax.ws.rs.client.Invocation JAX-RS client-side
+ * Jersey implementation of {@link jakarta.ws.rs.client.Invocation JAX-RS client-side
  * request invocation} contract.
  *
  * @author Marek Potociar
  */
-public class JerseyInvocation implements javax.ws.rs.client.Invocation {
+public class JerseyInvocation implements jakarta.ws.rs.client.Invocation {
 
     private static final Logger LOGGER = Logger.getLogger(JerseyInvocation.class.getName());
 
@@ -160,9 +160,9 @@
     }
 
     /**
-     * Jersey-specific {@link javax.ws.rs.client.Invocation.Builder client invocation builder}.
+     * Jersey-specific {@link jakarta.ws.rs.client.Invocation.Builder client invocation builder}.
      */
-    public static class Builder implements javax.ws.rs.client.Invocation.Builder {
+    public static class Builder implements jakarta.ws.rs.client.Invocation.Builder {
 
         private final ClientRequest requestContext;
 
@@ -233,7 +233,7 @@
         }
 
         @Override
-        public javax.ws.rs.client.AsyncInvoker async() {
+        public jakarta.ws.rs.client.AsyncInvoker async() {
             return new AsyncInvoker(this);
         }
 
@@ -587,7 +587,7 @@
         }
     }
 
-    /* package */ static class AsyncInvoker extends CompletableFutureAsyncInvoker implements javax.ws.rs.client.AsyncInvoker {
+    /* package */ static class AsyncInvoker extends CompletableFutureAsyncInvoker implements jakarta.ws.rs.client.AsyncInvoker {
 
         private final JerseyInvocation.Builder builder;
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/JerseyWebTarget.java b/core-client/src/main/java/org/glassfish/jersey/client/JerseyWebTarget.java
index 483e22e..2f1100f 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/JerseyWebTarget.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/JerseyWebTarget.java
@@ -21,21 +21,21 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.internal.guava.Preconditions;
 import org.glassfish.jersey.uri.JerseyQueryParamStyle;
 import org.glassfish.jersey.uri.internal.JerseyUriBuilder;
 
 /**
- * Jersey implementation of {@link javax.ws.rs.client.WebTarget JAX-RS client target}
+ * Jersey implementation of {@link jakarta.ws.rs.client.WebTarget JAX-RS client target}
  * contract.
  *
  * @author Marek Potociar
  */
-public class JerseyWebTarget implements javax.ws.rs.client.WebTarget, Initializable<JerseyWebTarget> {
+public class JerseyWebTarget implements jakarta.ws.rs.client.WebTarget, Initializable<JerseyWebTarget> {
 
     private final ClientConfig config;
     private final UriBuilder targetUri;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/RequestProcessingInitializationStage.java b/core-client/src/main/java/org/glassfish/jersey/client/RequestProcessingInitializationStage.java
index dc86103..0b9da83 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/RequestProcessingInitializationStage.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/RequestProcessingInitializationStage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,10 +21,10 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Providers;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/ResponseCallback.java b/core-client/src/main/java/org/glassfish/jersey/client/ResponseCallback.java
index 60cc10f..81f57f6 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/ResponseCallback.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/ResponseCallback.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.glassfish.jersey.process.internal.RequestScope;
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/SslContextClientBuilder.java b/core-client/src/main/java/org/glassfish/jersey/client/SslContextClientBuilder.java
index ca271b2..cea0439 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/SslContextClientBuilder.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/SslContextClientBuilder.java
@@ -24,7 +24,7 @@
 import org.glassfish.jersey.internal.util.collection.Values;
 
 import javax.net.ssl.SSLContext;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 import java.security.KeyStore;
 import java.util.Iterator;
 import java.util.function.Supplier;
@@ -36,9 +36,9 @@
  * <p>The class is used internally by {@link JerseyClientBuilder}, or it can be used by connectors supporting setting
  * the {@link SSLContext} per request.</p>
  *
- * @see javax.ws.rs.client.ClientBuilder#keyStore(KeyStore, char[])
- * @see javax.ws.rs.client.ClientBuilder#keyStore(KeyStore, String)
- * @see javax.ws.rs.client.ClientBuilder#sslContext(SSLContext)
+ * @see jakarta.ws.rs.client.ClientBuilder#keyStore(KeyStore, char[])
+ * @see jakarta.ws.rs.client.ClientBuilder#keyStore(KeyStore, String)
+ * @see jakarta.ws.rs.client.ClientBuilder#sslContext(SSLContext)
  */
 public final class SslContextClientBuilder implements Supplier<SSLContext> {
     private SslConfigurator sslConfigurator = null;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/authentication/AuthenticationUtil.java b/core-client/src/main/java/org/glassfish/jersey/client/authentication/AuthenticationUtil.java
index 2f8266b..7bfab09 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/authentication/AuthenticationUtil.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/authentication/AuthenticationUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 
-import javax.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestContext;
 
 /**
  * Common authentication utilities
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/authentication/BasicAuthenticator.java b/core-client/src/main/java/org/glassfish/jersey/client/authentication/BasicAuthenticator.java
index 4382144..9637066 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/authentication/BasicAuthenticator.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/authentication/BasicAuthenticator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,9 +21,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.glassfish.jersey.client.internal.LocalizationMessages;
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/authentication/DigestAuthenticator.java b/core-client/src/main/java/org/glassfish/jersey/client/authentication/DigestAuthenticator.java
index 639d64c..38e4187 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/authentication/DigestAuthenticator.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/authentication/DigestAuthenticator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -29,10 +29,10 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.internal.LocalizationMessages;
 import org.glassfish.jersey.message.MessageUtils;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFeature.java b/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFeature.java
index ae1b2da..e208bd2 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFeature.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client.authentication;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * Features that provides Http Basic and Digest client authentication (based on RFC 2617).
@@ -86,8 +86,8 @@
  * </pre>
  * </p>
  * <p>
- * Once the feature is built it needs to be registered into the {@link javax.ws.rs.client.Client},
- * {@link javax.ws.rs.client.WebTarget} or other client configurable object. Example:
+ * Once the feature is built it needs to be registered into the {@link jakarta.ws.rs.client.Client},
+ * {@link jakarta.ws.rs.client.WebTarget} or other client configurable object. Example:
  * <pre>
  * final Client client = ClientBuilder.newClient();
  * client.register(feature);
@@ -311,8 +311,8 @@
     }
 
     /**
-     * Key of the property that can be set into the {@link javax.ws.rs.client.ClientRequestContext client request}
-     * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
+     * Key of the property that can be set into the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+     * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
      * the username for http authentication feature for the request.
      * <p>
      * Example:
@@ -334,8 +334,8 @@
      */
     public static final String HTTP_AUTHENTICATION_USERNAME = "jersey.config.client.http.auth.username";
     /**
-     * Key of the property that can be set into the {@link javax.ws.rs.client.ClientRequestContext client request}
-     * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
+     * Key of the property that can be set into the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+     * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
      * the password for http authentication feature for the request.
      * <p>
      * Example:
@@ -358,8 +358,8 @@
     public static final String HTTP_AUTHENTICATION_PASSWORD = "jersey.config.client.http.auth.password";
 
     /**
-     * Key of the property that can be set into the {@link javax.ws.rs.client.ClientRequestContext client request}
-     * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
+     * Key of the property that can be set into the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+     * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
      * the username for http basic authentication feature for the request.
      * <p>
      * Example:
@@ -383,8 +383,8 @@
     public static final String HTTP_AUTHENTICATION_BASIC_USERNAME = "jersey.config.client.http.auth.basic.username";
 
     /**
-     * Key of the property that can be set into the {@link javax.ws.rs.client.ClientRequestContext client request}
-     * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
+     * Key of the property that can be set into the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+     * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
      * the password for http basic authentication feature for the request.
      * <p>
      * Example:
@@ -406,8 +406,8 @@
     public static final String HTTP_AUTHENTICATION_BASIC_PASSWORD = "jersey.config.client.http.auth.basic.password";
 
     /**
-     * Key of the property that can be set into the {@link javax.ws.rs.client.ClientRequestContext client request}
-     * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
+     * Key of the property that can be set into the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+     * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
      * the username for http digest authentication feature for the request.
      * <p>
      * Example:
@@ -429,8 +429,8 @@
     public static final String HTTP_AUTHENTICATION_DIGEST_USERNAME = "jersey.config.client.http.auth.digest.username";
 
     /**
-     * Key of the property that can be set into the {@link javax.ws.rs.client.ClientRequestContext client request}
-     * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
+     * Key of the property that can be set into the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+     * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} in order to override
      * the password for http digest authentication feature for the request.
      * <p>
      * Example:
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFilter.java b/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFilter.java
index 077cb39..201fe06 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFilter.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,22 +26,22 @@
 import java.util.Locale;
 import java.util.Map;
 
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.internal.LocalizationMessages;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/authentication/RequestAuthenticationException.java b/core-client/src/main/java/org/glassfish/jersey/client/authentication/RequestAuthenticationException.java
index 4ca0ec2..661da2a 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/authentication/RequestAuthenticationException.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/authentication/RequestAuthenticationException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.client.authentication;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 /**
  * Exception thrown by security request authentication.
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/authentication/ResponseAuthenticationException.java b/core-client/src/main/java/org/glassfish/jersey/client/authentication/ResponseAuthenticationException.java
index b6e39bd..0e2f43c 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/authentication/ResponseAuthenticationException.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/authentication/ResponseAuthenticationException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client.authentication;
 
-import javax.ws.rs.client.ResponseProcessingException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ResponseProcessingException;
+import jakarta.ws.rs.core.Response;
 
 /**
  * Exception thrown by security response authentication.
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/filter/CsrfProtectionFilter.java b/core-client/src/main/java/org/glassfish/jersey/client/filter/CsrfProtectionFilter.java
index c76a27e..105e8e3 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/filter/CsrfProtectionFilter.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/filter/CsrfProtectionFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,8 +21,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
 
 /**
  * Simple client-side filter that adds X-Requested-By headers to all state-changing
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/filter/EncodingFeature.java b/core-client/src/main/java/org/glassfish/jersey/client/filter/EncodingFeature.java
index d9a43c4..6613151 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/filter/EncodingFeature.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/filter/EncodingFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client.filter;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.internal.inject.Providers;
@@ -27,7 +27,7 @@
  * Feature that configures support for content encodings on the client side.
  * This feature registers {@link EncodingFilter} and the specified set of
  * {@link org.glassfish.jersey.spi.ContentEncoder encoding providers} to the
- * {@link javax.ws.rs.core.Configurable client configuration}. It also allows
+ * {@link jakarta.ws.rs.core.Configurable client configuration}. It also allows
  * setting the value of {@link ClientProperties#USE_ENCODING} property.
  *
  * @author Martin Matula
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/filter/EncodingFilter.java b/core-client/src/main/java/org/glassfish/jersey/client/filter/EncodingFilter.java
index 94a3ec0..9970203 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/filter/EncodingFilter.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/filter/EncodingFilter.java
@@ -23,12 +23,12 @@
 import java.util.TreeSet;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/http/Expect100ContinueFeature.java b/core-client/src/main/java/org/glassfish/jersey/client/http/Expect100ContinueFeature.java
index 3af806c..43c450c 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/http/Expect100ContinueFeature.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/http/Expect100ContinueFeature.java
@@ -18,8 +18,8 @@
 
 import org.glassfish.jersey.client.ClientProperties;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 public class Expect100ContinueFeature implements Feature {
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/innate/ClientProxy.java b/core-client/src/main/java/org/glassfish/jersey/client/innate/ClientProxy.java
index 00d4078..68ab324 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/innate/ClientProxy.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/innate/ClientProxy.java
@@ -19,9 +19,9 @@
 import org.glassfish.jersey.client.ClientRequest;
 import org.glassfish.jersey.client.internal.LocalizationMessages;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MultivaluedMap;
 import java.net.InetSocketAddress;
 import java.net.Proxy;
 import java.net.ProxySelector;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/innate/http/SSLParamConfigurator.java b/core-client/src/main/java/org/glassfish/jersey/client/innate/http/SSLParamConfigurator.java
index edfe29b..33ef0b6 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/innate/http/SSLParamConfigurator.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/innate/http/SSLParamConfigurator.java
@@ -21,7 +21,7 @@
 import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLParameters;
 import javax.net.ssl.SSLSocket;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 import java.net.InetAddress;
 import java.net.URI;
 import java.net.UnknownHostException;
@@ -82,7 +82,7 @@
         }
 
         /**
-         * Sets SNI only when {@link javax.ws.rs.core.HttpHeaders#HOST} differs from the request host name if set to
+         * Sets SNI only when {@link jakarta.ws.rs.core.HttpHeaders#HOST} differs from the request host name if set to
          * {@code false}. Default is {@code false}.
          * @param setAlways set SNI always (default)
          * @return the builder instance
@@ -116,7 +116,7 @@
 
     /**
      * Get the host name either set by the request URI or by
-     * {@link javax.ws.rs.core.HttpHeaders#HOST} header if it differs from HTTP request host name.
+     * {@link jakarta.ws.rs.core.HttpHeaders#HOST} header if it differs from HTTP request host name.
      * @return the hostName the {@link SSLEngine} is to use.
      */
     public String getSNIHostName() {
@@ -142,7 +142,7 @@
 
     /**
      * Return true iff SNI is to be set, i.e.
-     * {@link javax.ws.rs.core.HttpHeaders#HOST} header if it differs from HTTP request host name.
+     * {@link jakarta.ws.rs.core.HttpHeaders#HOST} header if it differs from HTTP request host name.
      * @return Return {@code true} when {@link javax.net.ssl.SNIHostName} is to be set.
      */
     public boolean isSNIRequired() {
@@ -150,7 +150,7 @@
     }
 
     /**
-     * Get the request URI or altered by {@link javax.ws.rs.core.HttpHeaders#HOST} header.
+     * Get the request URI or altered by {@link jakarta.ws.rs.core.HttpHeaders#HOST} header.
      * @return The possibly altered request URI.
      * @see #getSNIHostName()
      */
@@ -160,7 +160,7 @@
 
     /**
      * Set {@link javax.net.ssl.SNIServerName} for the {@link SSLParameters} when SNI should be used
-     * (i.e. {@link javax.ws.rs.core.HttpHeaders#HOST} differs from HTTP request host name)
+     * (i.e. {@link jakarta.ws.rs.core.HttpHeaders#HOST} differs from HTTP request host name)
      * @param sslEngine the {@link SSLEngine} the {@link SSLParameters} are set for.
      */
     public void setSNIServerName(SSLEngine sslEngine) {
@@ -170,7 +170,7 @@
 
     /**
      * Set {@link javax.net.ssl.SNIServerName} for the {@link SSLParameters} when SNI should be used
-     * (i.e. {@link javax.ws.rs.core.HttpHeaders#HOST} differs from HTTP request host name)
+     * (i.e. {@link jakarta.ws.rs.core.HttpHeaders#HOST} differs from HTTP request host name)
      * @param sslSocket the {@link SSLSocket} the {@link SSLParameters} are set for.
      */
     public void setSNIServerName(SSLSocket sslSocket) {
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/innate/http/SniConfigurator.java b/core-client/src/main/java/org/glassfish/jersey/client/innate/http/SniConfigurator.java
index ae484ef..596c587 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/innate/http/SniConfigurator.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/innate/http/SniConfigurator.java
@@ -23,7 +23,7 @@
 import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLParameters;
 import javax.net.ssl.SSLSocket;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.HttpHeaders;
 import java.net.URI;
 import java.util.LinkedList;
 import java.util.List;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/innate/inject/NonInjectionManager.java b/core-client/src/main/java/org/glassfish/jersey/client/innate/inject/NonInjectionManager.java
index 8bd5112..047bba8 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/innate/inject/NonInjectionManager.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/innate/inject/NonInjectionManager.java
@@ -35,15 +35,15 @@
 import org.glassfish.jersey.process.internal.RequestScope;
 import org.glassfish.jersey.process.internal.RequestScoped;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Executable;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/ClientResponseProcessingException.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/ClientResponseProcessingException.java
index ef38b63..0ddebe3 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/internal/ClientResponseProcessingException.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/ClientResponseProcessingException.java
@@ -18,7 +18,7 @@
 
 import org.glassfish.jersey.client.ClientResponse;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 /**
  * This is a representation of a @{link ProcessingException} containing a @{link ClientResponse} instance.
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/HttpUrlConnector.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/HttpUrlConnector.java
index ebe1184..c89cf19 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/internal/HttpUrlConnector.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/HttpUrlConnector.java
@@ -50,10 +50,10 @@
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLSocket;
 import javax.net.ssl.SSLSocketFactory;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/AbstractParamValueUpdater.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/AbstractParamValueUpdater.java
index fb09364..90ab97f 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/AbstractParamValueUpdater.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/AbstractParamValueUpdater.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates.
  *
  * This program and the accompanying materials are made available under the
@@ -17,8 +17,8 @@
 
 package org.glassfish.jersey.client.internal.inject;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.ParamConverter;
 
 import org.glassfish.jersey.internal.inject.UpdaterException;
 import org.glassfish.jersey.internal.util.collection.UnsafeValue;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/CollectionUpdater.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/CollectionUpdater.java
index d8407e3..50ef9ab 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/CollectionUpdater.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/CollectionUpdater.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates.
  *
  * This program and the accompanying materials are made available under the
@@ -26,8 +26,8 @@
 import java.util.SortedSet;
 import java.util.TreeSet;
 import static java.util.stream.Collectors.toList;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.ext.ParamConverter;
 import org.glassfish.jersey.client.internal.LocalizationMessages;
 import org.glassfish.jersey.client.inject.ParameterUpdater;
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/ParameterUpdaterConfigurator.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/ParameterUpdaterConfigurator.java
index ed24fa7..f8627f8 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/ParameterUpdaterConfigurator.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/ParameterUpdaterConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates.
  *
  * This program and the accompanying materials are made available under the
@@ -17,7 +17,7 @@
 
 package org.glassfish.jersey.client.internal.inject;
 
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 import org.glassfish.jersey.client.ClientBootstrapBag;
 
 import org.glassfish.jersey.internal.BootstrapBag;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/ParameterUpdaterFactory.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/ParameterUpdaterFactory.java
index 2b15402..ab334a5 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/ParameterUpdaterFactory.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/ParameterUpdaterFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates.
  *
  * This program and the accompanying materials are made available under the
@@ -22,9 +22,9 @@
 import java.util.List;
 import java.util.Set;
 import java.util.SortedSet;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.ext.ParamConverter;
-import javax.inject.Singleton;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.inject.Singleton;
 import org.glassfish.jersey.internal.inject.UpdaterException;
 import org.glassfish.jersey.internal.inject.ParamConverterFactory;
 import org.glassfish.jersey.internal.util.ReflectionHelper;
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/SingleValueUpdater.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/SingleValueUpdater.java
index 152451c..7432dbe 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/SingleValueUpdater.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/inject/SingleValueUpdater.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates.
  *
  * This program and the accompanying materials are made available under the
@@ -17,9 +17,9 @@
 
 package org.glassfish.jersey.client.internal.inject;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.ParamConverter;
 import org.glassfish.jersey.internal.inject.UpdaterException;
 import org.glassfish.jersey.client.inject.ParameterUpdater;
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/routing/ClientResponseMediaTypeDeterminer.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/routing/ClientResponseMediaTypeDeterminer.java
index 248c8a9..8dbe0f8 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/internal/routing/ClientResponseMediaTypeDeterminer.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/routing/ClientResponseMediaTypeDeterminer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,20 +26,20 @@
 import org.glassfish.jersey.message.internal.HeaderUtils;
 import org.glassfish.jersey.message.internal.InboundMessageContext;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
 import java.util.Collections;
 import java.util.List;
 
 /**
  * Client side {@link Response} utility class determining the media type.
  * Used for determining media type when {@link ClientRequestContext#abortWith(Response)} on
- * {@link javax.ws.rs.client.ClientRequestFilter#filter(ClientRequestContext)} is used without specifying the response
+ * {@link jakarta.ws.rs.client.ClientRequestFilter#filter(ClientRequestContext)} is used without specifying the response
  * media type.
  */
 public class ClientResponseMediaTypeDeterminer extends ContentTypeDeterminer {
@@ -102,7 +102,7 @@
     }
 
     /**
-     * An information that the routing aborted by  {@code javax.ws.rs.client.ClientRequestContext#abortWith(Response)}.
+     * An information that the routing aborted by  {@code jakarta.ws.rs.client.ClientRequestContext#abortWith(Response)}.
      */
     private static final class AbortedRouting {
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/spi/CachingConnectorProvider.java b/core-client/src/main/java/org/glassfish/jersey/client/spi/CachingConnectorProvider.java
index f66b326..7006f85 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/spi/CachingConnectorProvider.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/spi/CachingConnectorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client.spi;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 /**
  * Caching connector provider.
@@ -25,8 +25,8 @@
  * This utility provider can be used to serve as a lazily initialized provider of the same connector instance.
  * <p>
  * Note however that the connector instance will be configured using the runtime configuration of the first client instance that
- * has invoked the {@link #getConnector(javax.ws.rs.client.Client, javax.ws.rs.core.Configuration)} method.
- * {@link javax.ws.rs.client.Client} and {@link javax.ws.rs.core.Configuration} instance passed to subsequent
+ * has invoked the {@link #getConnector(jakarta.ws.rs.client.Client, jakarta.ws.rs.core.Configuration)} method.
+ * {@link jakarta.ws.rs.client.Client} and {@link jakarta.ws.rs.core.Configuration} instance passed to subsequent
  * {@code getConnector(...)} invocations will be ignored. As such, this connector provider should not be shared among client
  * instances that have significantly different connector-specific settings.
  * </p>
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/spi/ClientBuilderListener.java b/core-client/src/main/java/org/glassfish/jersey/client/spi/ClientBuilderListener.java
index 10b2511..80985c0 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/spi/ClientBuilderListener.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/spi/ClientBuilderListener.java
@@ -18,7 +18,7 @@
 
 import org.glassfish.jersey.Beta;
 
-import javax.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientBuilder;
 
 /**
  * <p>
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/spi/Connector.java b/core-client/src/main/java/org/glassfish/jersey/client/spi/Connector.java
index b218f90..151c908 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/spi/Connector.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/spi/Connector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -44,7 +44,7 @@
      *
      * @param request Jersey client request to be sent.
      * @return Jersey client response received for the client request.
-     * @throws javax.ws.rs.ProcessingException in case of any invocation failure.
+     * @throws jakarta.ws.rs.ProcessingException in case of any invocation failure.
      */
     @Override
     ClientResponse apply(ClientRequest request);
@@ -69,7 +69,7 @@
      * Will be used in User-Agent header.
      *
      * @return name of current connector. Returning {@code null} or empty string means not including
-     * this information in a generated <tt>{@value javax.ws.rs.core.HttpHeaders#USER_AGENT}</tt> header.
+     * this information in a generated <tt>{@value jakarta.ws.rs.core.HttpHeaders#USER_AGENT}</tt> header.
      */
     public String getName();
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/spi/ConnectorProvider.java b/core-client/src/main/java/org/glassfish/jersey/client/spi/ConnectorProvider.java
index 3b80d7d..ce9c238 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/spi/ConnectorProvider.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/spi/ConnectorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client.spi;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 /**
  * Jersey client connector provider contract.
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/spi/InvocationBuilderListener.java b/core-client/src/main/java/org/glassfish/jersey/client/spi/InvocationBuilderListener.java
index d0cd24c..3ea4ee1 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/spi/InvocationBuilderListener.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/spi/InvocationBuilderListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,16 +19,16 @@
 import org.glassfish.jersey.Beta;
 import org.glassfish.jersey.spi.Contract;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 import java.net.URI;
 import java.util.Collection;
 import java.util.List;
@@ -39,7 +39,7 @@
  * Implementations of this interface will be notified when a new Invocation.Builder
  * is created. This will allow implementations to access the invocation builders,
  * and is intended for global providers. For example, the Invocation.Builder properties can be
- * accessed to set properties that are available on the {@link javax.ws.rs.client.ClientRequestContext}.
+ * accessed to set properties that are available on the {@link jakarta.ws.rs.client.ClientRequestContext}.
  * <p>
  * In order for the InvocationBuilderListener to be called, the implementation of the interface needs
  * to be registered on the {@code Client} the same way the {@code ClientRequestFilter} is registered, for instance.
@@ -55,7 +55,7 @@
 public interface InvocationBuilderListener {
 
     /**
-     * An {@link javax.ws.rs.client.Invocation.Builder} subset of setter methods.
+     * An {@link jakarta.ws.rs.client.Invocation.Builder} subset of setter methods.
      */
     public interface InvocationBuilderContext {
         /**
@@ -155,7 +155,7 @@
         /**
          * Get any cookies that accompanied the request.
          *
-         * @return a read-only map of cookie name (String) to {@link javax.ws.rs.core.Cookie}.
+         * @return a read-only map of cookie name (String) to {@link jakarta.ws.rs.core.Cookie}.
          */
         Map<String, Cookie> getCookies();
 
@@ -225,8 +225,8 @@
          *
          * @param name  the name of the header
          * @param value the value of the header, the header will be serialized
-         *              using a {@link javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if
-         *              one is available via {@link javax.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
+         *              using a {@link jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if
+         *              one is available via {@link jakarta.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
          *              for the class of {@code value} or using its {@code toString} method
          *              if a header delegate is not available. If {@code value} is {@code null}
          *              then all current headers of the same name will be removed.
@@ -247,7 +247,7 @@
          * Set a new property in the context of a request represented by this invocation builder.
          * <p>
          * The property is available for a later retrieval via {@link ClientRequestContext#getProperty(String)}
-         * or {@link javax.ws.rs.ext.InterceptorContext#getProperty(String)}.
+         * or {@link jakarta.ws.rs.ext.InterceptorContext#getProperty(String)}.
          * If a property with a given name is already set in the request context,
          * the existing value of the property will be updated.
          * Setting a {@code null} value into a property effectively removes the property
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/spi/PostInvocationInterceptor.java b/core-client/src/main/java/org/glassfish/jersey/client/spi/PostInvocationInterceptor.java
index 2dc58c6..88f0d5e 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/spi/PostInvocationInterceptor.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/spi/PostInvocationInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,31 +19,31 @@
 import org.glassfish.jersey.Beta;
 import org.glassfish.jersey.spi.Contract;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.core.Response;
 import java.util.Deque;
 import java.util.Optional;
 import java.util.concurrent.ExecutorService;
 
 /**
  * The interceptor of a client request invocation that is executed after the request invocation itself, i.e. after the
- * {@link javax.ws.rs.client.ClientResponseFilter ClientResponseFilters} are executed.
+ * {@link jakarta.ws.rs.client.ClientResponseFilter ClientResponseFilters} are executed.
  * <p/>
  * It is ensured that all {@code PostInvocationInterceptors} are executed after the request, in the reverse order given by the
- * {@link javax.annotation.Priority}, the higher the priority the later the execution. Any {@code Throwable} thrown when
+ * {@link jakarta.annotation.Priority}, the higher the priority the later the execution. Any {@code Throwable} thrown when
  * the {@link PostInvocationInterceptor#afterRequest(ClientRequestContext, ClientResponseContext)} or
  * {@link PostInvocationInterceptor#onException(ClientRequestContext, ExceptionContext)} is being processed is accumulated and
  * a multi RuntimeException with other {@link Throwable#addSuppressed(Throwable) exceptions supressed} is being thrown at the end
- * (possibly encapsulated in a {@link javax.ws.rs.ProcessingException} if not a single {@code RuntimeException}),
+ * (possibly encapsulated in a {@link jakarta.ws.rs.ProcessingException} if not a single {@code RuntimeException}),
  * unless resolved by {@link PostInvocationInterceptor#onException(ClientRequestContext, ExceptionContext)}. During the
  * {@link PostInvocationInterceptor} processing, the accumulated {@link Deque} of the {@code Throwables} is available in the
  * {@link ExceptionContext}.
  * <p/>
  * For asynchronous invocation, the {@code PostInvocationInterceptor} is invoked in the request thread, i.e. in the thread
- * provided by {@link javax.ws.rs.client.ClientBuilder#executorService(ExecutorService) ExecutorService}.
+ * provided by {@link jakarta.ws.rs.client.ClientBuilder#executorService(ExecutorService) ExecutorService}.
  * <p/>
  * When the lowest priority {@code PostInvocationInterceptor} is executed first, one of the two methods can be invoked.
  * {@link PostInvocationInterceptor#afterRequest(ClientRequestContext, ClientResponseContext)} in a usual case when no previous
@@ -87,7 +87,7 @@
          * will be cleared.
          *
          * @param response the provided {@link Response} to be passed to a next {@code PostInvocationInterceptor} or the
-         * {@link javax.ws.rs.client.Client}.
+         * {@link jakarta.ws.rs.client.Client}.
          */
         void resolve(Response response);
     }
@@ -97,9 +97,9 @@
      * {@link ExceptionContext#resolve(Response) resolved} by previous {@code PostInvocationInterceptor}.
      *
      * @param requestContext the request context.
-     * @param responseContext the response context of the original {@link javax.ws.rs.core.Response} or response context
+     * @param responseContext the response context of the original {@link jakarta.ws.rs.core.Response} or response context
      *                        defined by the new {@link ExceptionContext#resolve(Response) resolving}
-     *                        {@link javax.ws.rs.core.Response}.
+     *                        {@link jakarta.ws.rs.core.Response}.
      */
     void afterRequest(ClientRequestContext requestContext, ClientResponseContext responseContext);
 
diff --git a/core-client/src/main/java/org/glassfish/jersey/client/spi/PreInvocationInterceptor.java b/core-client/src/main/java/org/glassfish/jersey/client/spi/PreInvocationInterceptor.java
index cf1278b..198f21e 100644
--- a/core-client/src/main/java/org/glassfish/jersey/client/spi/PreInvocationInterceptor.java
+++ b/core-client/src/main/java/org/glassfish/jersey/client/spi/PreInvocationInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,24 +19,24 @@
 import org.glassfish.jersey.Beta;
 import org.glassfish.jersey.spi.Contract;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.core.Response;
 import java.util.concurrent.ExecutorService;
 
 /**
  * The interceptor of a client request invocation that is executed before the invocation itself, i.e. before the
- * {@link javax.ws.rs.client.ClientRequestFilter} is invoked.
+ * {@link jakarta.ws.rs.client.ClientRequestFilter} is invoked.
  * <p/>
  * It is ensured that all {@code PreInvocationInterceptors} are executed before the request, in the order given by the
- * {@link javax.annotation.Priority}, the higher the priority the sooner the execution. Any {@code RuntimeException} thrown when
+ * {@link jakarta.annotation.Priority}, the higher the priority the sooner the execution. Any {@code RuntimeException} thrown when
  * the {@link PreInvocationInterceptor#beforeRequest(ClientRequestContext)} is being processed is accumulated and
  * a multi RuntimeException with other {@link Throwable#addSuppressed(Throwable) exceptions supressed} is being thrown.
  * <p/>
  * For asynchronous invocation, the {@code PreInvocationInterceptor} is invoked in the main thread, i.e. not in the thread
- * provided by {@link javax.ws.rs.client.ClientBuilder#executorService(ExecutorService) ExecutorService}. For reactive
- * invocations, this depends on the provided {@link javax.ws.rs.client.RxInvoker}. For the default Jersey asynchronous
+ * provided by {@link jakarta.ws.rs.client.ClientBuilder#executorService(ExecutorService) ExecutorService}. For reactive
+ * invocations, this depends on the provided {@link jakarta.ws.rs.client.RxInvoker}. For the default Jersey asynchronous
  * {@link org.glassfish.jersey.client.JerseyCompletionStageRxInvoker}, {@code PreInvocationInterceptor} is invoked in the
  * main thread, too.
  * <p/>
@@ -54,7 +54,7 @@
 
     /**
      * The method invoked before the request starts.
-     * @param requestContext the request context shared with {@link javax.ws.rs.client.ClientRequestFilter}.
+     * @param requestContext the request context shared with {@link jakarta.ws.rs.client.ClientRequestFilter}.
      */
     void beforeRequest(ClientRequestContext requestContext);
 }
diff --git a/core-client/src/main/resources/META-INF/services/jakarta.ws.rs.client.ClientBuilder b/core-client/src/main/resources/META-INF/services/jakarta.ws.rs.client.ClientBuilder
new file mode 100644
index 0000000..48b9fa5
--- /dev/null
+++ b/core-client/src/main/resources/META-INF/services/jakarta.ws.rs.client.ClientBuilder
@@ -0,0 +1 @@
+org.glassfish.jersey.client.JerseyClientBuilder
\ No newline at end of file
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/AutoDiscoverableClientTest.java b/core-client/src/test/java/org/glassfish/jersey/client/AutoDiscoverableClientTest.java
index f0eba7b..d228409 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/AutoDiscoverableClientTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/AutoDiscoverableClientTest.java
@@ -18,19 +18,19 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
@@ -167,7 +167,7 @@
     /**
      * Tests, that {@link org.glassfish.jersey.client.ClientLifecycleListener} registered via
      * {@link org.glassfish.jersey.internal.spi.AutoDiscoverable}
-     * {@link javax.ws.rs.core.Feature} will be notified when {@link javax.ws.rs.client.Client#close()} is invoked.
+     * {@link jakarta.ws.rs.core.Feature} will be notified when {@link jakarta.ws.rs.client.Client#close()} is invoked.
      */
     @Test
     @Disabled("intermittent failures.")
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/ClientConfigTest.java b/core-client/src/test/java/org/glassfish/jersey/client/ClientConfigTest.java
index 9dc98e5..aaa88c9 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/ClientConfigTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/ClientConfigTest.java
@@ -19,11 +19,11 @@
 import java.util.Arrays;
 import java.util.Map;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
 import javax.net.ssl.SSLContext;
 
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/ClientRequestTest.java b/core-client/src/test/java/org/glassfish/jersey/client/ClientRequestTest.java
index 58f689c..a877f69 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/ClientRequestTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/ClientRequestTest.java
@@ -21,10 +21,10 @@
 import java.lang.annotation.Annotation;
 import java.net.URI;
 
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.internal.PropertiesDelegate;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/ClientResponseTest.java b/core-client/src/test/java/org/glassfish/jersey/client/ClientResponseTest.java
index 41601af..4a151c7 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/ClientResponseTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/ClientResponseTest.java
@@ -20,10 +20,10 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
 import java.io.InputStream;
 
 public class ClientResponseTest {
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/ClientRxTest.java b/core-client/src/test/java/org/glassfish/jersey/client/ClientRxTest.java
index a2ecf08..5ffc940 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/ClientRxTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/ClientRxTest.java
@@ -28,18 +28,18 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.RxInvokerProvider;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.RxInvokerProvider;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.spi.Connector;
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/CustomConnectorTest.java b/core-client/src/test/java/org/glassfish/jersey/client/CustomConnectorTest.java
index d02e80a..ea039b7 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/CustomConnectorTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/CustomConnectorTest.java
@@ -20,15 +20,15 @@
 import java.net.URI;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.spi.AsyncConnectorCallback;
 import org.glassfish.jersey.client.spi.Connector;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/HttpUrlConnectorTest.java b/core-client/src/test/java/org/glassfish/jersey/client/HttpUrlConnectorTest.java
index 394b087..4199f4f 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/HttpUrlConnectorTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/HttpUrlConnectorTest.java
@@ -30,14 +30,14 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.Response;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.HttpsURLConnection;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/JaxRsFeatureRegistrationClientTest.java b/core-client/src/test/java/org/glassfish/jersey/client/JaxRsFeatureRegistrationClientTest.java
index 740e6c5..1d1583b 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/JaxRsFeatureRegistrationClientTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/JaxRsFeatureRegistrationClientTest.java
@@ -19,13 +19,13 @@
 import org.glassfish.jersey.CommonProperties;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/JerseyClientBuilderTest.java b/core-client/src/test/java/org/glassfish/jersey/client/JerseyClientBuilderTest.java
index ff6fee9..c79ce08 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/JerseyClientBuilderTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/JerseyClientBuilderTest.java
@@ -20,15 +20,15 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 import javax.net.ssl.SSLContext;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.security.KeyStore;
 import java.security.KeyStoreException;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/JerseyClientTest.java b/core-client/src/test/java/org/glassfish/jersey/client/JerseyClientTest.java
index fbee0e5..a985579 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/JerseyClientTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/JerseyClientTest.java
@@ -19,22 +19,22 @@
 import java.io.IOException;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.client.spi.AsyncConnectorCallback;
 import org.glassfish.jersey.client.spi.Connector;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/JerseyCompletionStageRxInvokerTest.java b/core-client/src/test/java/org/glassfish/jersey/client/JerseyCompletionStageRxInvokerTest.java
index 0b1818d..515bb83 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/JerseyCompletionStageRxInvokerTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/JerseyCompletionStageRxInvokerTest.java
@@ -19,13 +19,13 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.CompletionStageRxInvoker;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.CompletionStageRxInvoker;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
@@ -101,7 +101,7 @@
             } catch (final Exception expected) {
                 // java.util.concurrent.ExecutionException
                 throw expected
-                        // javax.ws.rs.NotFoundException
+                        // jakarta.ws.rs.NotFoundException
                         .getCause();
             }
         });
@@ -122,7 +122,7 @@
             } catch (final Exception expected) {
                 // java.util.concurrent.ExecutionException
                 throw expected
-                        // javax.ws.rs.NotFoundException
+                        // jakarta.ws.rs.NotFoundException
                         .getCause();
             }
         });
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/JerseyInvocationTest.java b/core-client/src/test/java/org/glassfish/jersey/client/JerseyInvocationTest.java
index 99e5a2a..c8058c3 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/JerseyInvocationTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/JerseyInvocationTest.java
@@ -26,21 +26,21 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.AsyncInvoker;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.AsyncInvoker;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.hamcrest.CoreMatchers;
 import org.junit.jupiter.api.Test;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/JerseyWebTargetTest.java b/core-client/src/test/java/org/glassfish/jersey/client/JerseyWebTargetTest.java
index 072e70e..ad16237 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/JerseyWebTargetTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/JerseyWebTargetTest.java
@@ -24,12 +24,12 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.glassfish.jersey.uri.internal.JerseyUriBuilder;
 
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/LinkTest.java b/core-client/src/test/java/org/glassfish/jersey/client/LinkTest.java
index 278abfe..baa10df 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/LinkTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/LinkTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Link;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -47,7 +47,7 @@
         Link l = Link.fromUri("http://examples.org/app").type("text/plain").build();
         assertNotNull(l);
 
-        javax.ws.rs.client.Invocation i = client.invocation(l).buildGet();
+        jakarta.ws.rs.client.Invocation i = client.invocation(l).buildGet();
         assertNotNull(i);
     }
 
@@ -55,7 +55,7 @@
     public void testInvocationFromLinkWithEntity() {
         Link l = Link.fromUri("http://examples.org/app").type("*/*").build();
         Entity<String> e = Entity.text("hello world");
-        javax.ws.rs.client.Invocation i = client.invocation(l).buildPost(e);
+        jakarta.ws.rs.client.Invocation i = client.invocation(l).buildPost(e);
         assertTrue(i != null);
     }
 }
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/ShutdownHookLeakTest.java b/core-client/src/test/java/org/glassfish/jersey/client/ShutdownHookLeakTest.java
index 7ddd82c..6cd2360 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/ShutdownHookLeakTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/ShutdownHookLeakTest.java
@@ -20,9 +20,9 @@
 import java.lang.reflect.Field;
 import java.util.Collection;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.api.Test;
 import static org.hamcrest.CoreMatchers.is;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/TerminalClientRequestFilter.java b/core-client/src/test/java/org/glassfish/jersey/client/TerminalClientRequestFilter.java
index dafb5af..cd0bb09 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/TerminalClientRequestFilter.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/TerminalClientRequestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,10 +21,10 @@
 import java.util.List;
 import java.util.Optional;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 /**
  * Client request filter, which doesn't perform actual requests.
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/WebTargetPropertiesTest.java b/core-client/src/test/java/org/glassfish/jersey/client/WebTargetPropertiesTest.java
index 0776f93..abc7d1a 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/WebTargetPropertiesTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/WebTargetPropertiesTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.client;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/filter/ClientProviderInstanceInjectionTest.java b/core-client/src/test/java/org/glassfish/jersey/client/filter/ClientProviderInstanceInjectionTest.java
index 6cb65a7..3900e5d 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/filter/ClientProviderInstanceInjectionTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/filter/ClientProviderInstanceInjectionTest.java
@@ -18,15 +18,15 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/filter/CsrfProtectionFilterTest.java b/core-client/src/test/java/org/glassfish/jersey/client/filter/CsrfProtectionFilterTest.java
index 702c971..b4b830f 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/filter/CsrfProtectionFilterTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/filter/CsrfProtectionFilterTest.java
@@ -18,14 +18,14 @@
 
 import java.util.concurrent.Future;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/filter/EncodingFilterTest.java b/core-client/src/test/java/org/glassfish/jersey/client/filter/EncodingFilterTest.java
index a48671f..23b737d 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/filter/EncodingFilterTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/filter/EncodingFilterTest.java
@@ -20,17 +20,17 @@
 import java.io.IOException;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import static javax.ws.rs.core.HttpHeaders.ACCEPT_ENCODING;
-import static javax.ws.rs.core.HttpHeaders.CONTENT_ENCODING;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import static jakarta.ws.rs.core.HttpHeaders.ACCEPT_ENCODING;
+import static jakarta.ws.rs.core.HttpHeaders.CONTENT_ENCODING;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/filter/HttpBasicAuthFilterTest.java b/core-client/src/test/java/org/glassfish/jersey/client/filter/HttpBasicAuthFilterTest.java
index 72f73ae..a2a65b2 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/filter/HttpBasicAuthFilterTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/filter/HttpBasicAuthFilterTest.java
@@ -20,13 +20,13 @@
 import java.util.Base64;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/spi/CachingConnectorProviderTest.java b/core-client/src/test/java/org/glassfish/jersey/client/spi/CachingConnectorProviderTest.java
index 4eec0cd..9282586 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/spi/CachingConnectorProviderTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/spi/CachingConnectorProviderTest.java
@@ -19,11 +19,11 @@
 import java.util.concurrent.Future;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/spi/ClientBuilderListenerTest.java b/core-client/src/test/java/org/glassfish/jersey/client/spi/ClientBuilderListenerTest.java
index 3881176..b11eb3a 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/spi/ClientBuilderListenerTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/spi/ClientBuilderListenerTest.java
@@ -20,10 +20,10 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
 
 public class ClientBuilderListenerTest {
 
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/spi/InvocationBuilderListenerTest.java b/core-client/src/test/java/org/glassfish/jersey/client/spi/InvocationBuilderListenerTest.java
index 0e5fe44..ef45853 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/spi/InvocationBuilderListenerTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/spi/InvocationBuilderListenerTest.java
@@ -23,19 +23,19 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.Priority;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 import java.io.IOException;
 import java.util.Date;
 import java.util.Locale;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/spi/PostInvocationInterceptorTest.java b/core-client/src/test/java/org/glassfish/jersey/client/spi/PostInvocationInterceptorTest.java
index f454ce9..e69267d 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/spi/PostInvocationInterceptorTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/spi/PostInvocationInterceptorTest.java
@@ -20,14 +20,14 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.Response;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.net.ConnectException;
diff --git a/core-client/src/test/java/org/glassfish/jersey/client/spi/PreInvocationInterceptorTest.java b/core-client/src/test/java/org/glassfish/jersey/client/spi/PreInvocationInterceptorTest.java
index 41e4759..8c36b04 100644
--- a/core-client/src/test/java/org/glassfish/jersey/client/spi/PreInvocationInterceptorTest.java
+++ b/core-client/src/test/java/org/glassfish/jersey/client/spi/PreInvocationInterceptorTest.java
@@ -21,16 +21,16 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicInteger;
diff --git a/core-client/src/test/resources/META-INF/services/javax.ws.rs.core.Feature b/core-client/src/test/resources/META-INF/services/jakarta.ws.rs.core.Feature
similarity index 100%
rename from core-client/src/test/resources/META-INF/services/javax.ws.rs.core.Feature
rename to core-client/src/test/resources/META-INF/services/jakarta.ws.rs.core.Feature
diff --git a/core-common/pom.xml b/core-common/pom.xml
index 7a187e0..44c4d7b 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.core</groupId>
@@ -81,6 +81,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
+                <version>${compiler.common.mvn.plugin.version}</version>
                 <inherited>false</inherited>
                 <configuration>
                     <source>${java.version}</source>
@@ -126,13 +127,13 @@
                         <!-- Note: When you're changing these properties change them also in bundles/jaxrs-ri/pom.xml. -->
                         <Import-Package>
                             sun.misc.*;resolution:=optional,
-                            javax.activation.*;version="!";resolution:=optional,
+                            jakarta.activation.*;version="!";resolution:=optional,
                             javax.imageio;resolution:=optional,
                             javax.imageio.spi;resolution:=optional,
                             javax.imageio.stream;resolution:=optional,
-                            javax.xml.bind;version="!";resolution:=optional,
-                            javax.xml.bind.annotation;version="!";resolution:=optional,
-                            javax.xml.bind.annotation.adapters;version="!";resolution:=optional,
+                            jakarta.xml.bind;version="!";resolution:=optional,
+                            jakarta.xml.bind.annotation;version="!";resolution:=optional,
+                            jakarta.xml.bind.annotation.adapters;version="!";resolution:=optional,
                             javax.xml.namespace;resolution:=optional,
                             javax.xml.parsers;resolution:=optional,
                             javax.xml.transform;resolution:=optional,
@@ -141,7 +142,7 @@
                             javax.xml.transform.stream;resolution:=optional,
                             org.w3c.dom;resolution:=optional,
                             org.xml.sax;resolution:=optional,
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             *
                         </Import-Package>
                         <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
@@ -215,13 +216,19 @@
             <artifactId>jakarta.annotation-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.sun.activation</groupId>
+            <artifactId>jakarta.activation</artifactId>
+            <scope>provided</scope>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.hk2</groupId>
@@ -335,14 +342,6 @@
             <activation>
                 <jdk>[11,)</jdk>
             </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.activation</groupId>
-                    <artifactId>jakarta.activation</artifactId>
-                    <scope>provided</scope>
-                    <optional>true</optional>
-                </dependency>
-            </dependencies>
             <build>
                 <plugins>
                     <plugin>
diff --git a/core-common/src/main/java/org/glassfish/jersey/AbstractFeatureConfigurator.java b/core-common/src/main/java/org/glassfish/jersey/AbstractFeatureConfigurator.java
index 61b7eb5..a73b185 100644
--- a/core-common/src/main/java/org/glassfish/jersey/AbstractFeatureConfigurator.java
+++ b/core-common/src/main/java/org/glassfish/jersey/AbstractFeatureConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
diff --git a/core-common/src/main/java/org/glassfish/jersey/CommonProperties.java b/core-common/src/main/java/org/glassfish/jersey/CommonProperties.java
index bc76ba6..e71e5e1 100644
--- a/core-common/src/main/java/org/glassfish/jersey/CommonProperties.java
+++ b/core-common/src/main/java/org/glassfish/jersey/CommonProperties.java
@@ -19,7 +19,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.internal.util.PropertiesClass;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
@@ -132,7 +132,7 @@
      * If {@code true} then disable META-INF/services lookup globally on client/server.
      * <p>
      * By default Jersey looks up SPI implementations described by META-INF/services/* files.
-     * Then you can register appropriate provider classes by {@link javax.ws.rs.core.Application}.
+     * Then you can register appropriate provider classes by {@link jakarta.ws.rs.core.Application}.
      * </p>
      * <p>
      * The default value is {@code false}.
@@ -193,7 +193,7 @@
 
     /**
      * An integer value that defines the buffer size used to buffer the outbound message entity in order to
-     * determine its size and set the value of HTTP <tt>{@value javax.ws.rs.core.HttpHeaders#CONTENT_LENGTH}</tt> header.
+     * determine its size and set the value of HTTP <tt>{@value jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH}</tt> header.
      * <p>
      * If the entity size exceeds the configured buffer size, the buffering would be cancelled and the entity size
      * would not be determined. Value less or equal to zero disable the buffering of the entity at all.
@@ -230,7 +230,7 @@
      * Disable some of the default providers from being loaded. The following providers extend application footprint
      * by XML dependencies, which is too heavy for native image, or by AWT which may possibly be not available by JDK 11 desktop:
      * <ul>
-     *     <li>javax.activation.DataSource</li>
+     *     <li>jakarta.activation.DataSource</li>
      *     <li>java.awt.image.RenderedImage</li>
      *     <li>javax.xml.transform.Source</li>
      *     <li>javax.xml.transform.dom.DOMSource</li>
@@ -306,7 +306,7 @@
 
     /**
      * <p>
-     *  Force the {@link javax.ws.rs.ext.ParamConverter} to throw {@link IllegalArgumentException} as mandated in javadoc.
+     *  Force the {@link jakarta.ws.rs.ext.ParamConverter} to throw {@link IllegalArgumentException} as mandated in javadoc.
      *  Must be convertible to {@link Boolean} value.
      * </p>
      * <p>
diff --git a/core-common/src/main/java/org/glassfish/jersey/ExtendedConfig.java b/core-common/src/main/java/org/glassfish/jersey/ExtendedConfig.java
index 12e6840..fbe35f2 100644
--- a/core-common/src/main/java/org/glassfish/jersey/ExtendedConfig.java
+++ b/core-common/src/main/java/org/glassfish/jersey/ExtendedConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 /**
  * Extended common runtime configuration.
diff --git a/core-common/src/main/java/org/glassfish/jersey/InjectionManagerProvider.java b/core-common/src/main/java/org/glassfish/jersey/InjectionManagerProvider.java
index 5bce4c4..ecaaba8 100644
--- a/core-common/src/main/java/org/glassfish/jersey/InjectionManagerProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/InjectionManagerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey;
 
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.inject.InjectionManager;
@@ -27,7 +27,7 @@
 /**
  * Utility class with static methods that extract {@link InjectionManager injection manager}
  * from various JAX-RS components. This class can be used when no injection is possible by
- * {@link javax.ws.rs.core.Context} or {@link javax.inject.Inject} annotation due to character of
+ * {@link jakarta.ws.rs.core.Context} or {@link jakarta.inject.Inject} annotation due to character of
  * provider but there is a need to get any service from {@link InjectionManager}.
  * <p>
  * Injections are not possible for example when a provider is registered as an instance on the client.
@@ -83,8 +83,8 @@
 public class InjectionManagerProvider {
 
     /**
-     * Extract and return injection manager from {@link javax.ws.rs.ext.WriterInterceptorContext writerInterceptorContext}.
-     * The method can be used to inject custom types into a {@link javax.ws.rs.ext.WriterInterceptor}.
+     * Extract and return injection manager from {@link jakarta.ws.rs.ext.WriterInterceptorContext writerInterceptorContext}.
+     * The method can be used to inject custom types into a {@link jakarta.ws.rs.ext.WriterInterceptor}.
      *
      * @param writerInterceptorContext Writer interceptor context.
      *
@@ -92,7 +92,7 @@
      *
      * @throws java.lang.IllegalArgumentException when {@code writerInterceptorContext} is not a default
      * Jersey implementation provided by Jersey as argument in the
-     * {@link javax.ws.rs.ext.WriterInterceptor#aroundWriteTo(javax.ws.rs.ext.WriterInterceptorContext)} method.
+     * {@link jakarta.ws.rs.ext.WriterInterceptor#aroundWriteTo(jakarta.ws.rs.ext.WriterInterceptorContext)} method.
      */
     public static InjectionManager getInjectionManager(WriterInterceptorContext writerInterceptorContext) {
         if (!(writerInterceptorContext instanceof InjectionManagerSupplier)) {
@@ -104,8 +104,8 @@
     }
 
     /**
-     * Extract and return injection manager from {@link javax.ws.rs.ext.ReaderInterceptorContext readerInterceptorContext}.
-     * The method can be used to inject custom types into a {@link javax.ws.rs.ext.ReaderInterceptor}.
+     * Extract and return injection manager from {@link jakarta.ws.rs.ext.ReaderInterceptorContext readerInterceptorContext}.
+     * The method can be used to inject custom types into a {@link jakarta.ws.rs.ext.ReaderInterceptor}.
      *
      * @param readerInterceptorContext Reader interceptor context.
      *
@@ -113,7 +113,7 @@
      *
      * @throws java.lang.IllegalArgumentException when {@code readerInterceptorContext} is not a default
      * Jersey implementation provided by Jersey as argument in the
-     * {@link javax.ws.rs.ext.ReaderInterceptor#aroundReadFrom(javax.ws.rs.ext.ReaderInterceptorContext)} method.
+     * {@link jakarta.ws.rs.ext.ReaderInterceptor#aroundReadFrom(jakarta.ws.rs.ext.ReaderInterceptorContext)} method.
 
      */
     public static InjectionManager getInjectionManager(ReaderInterceptorContext readerInterceptorContext) {
@@ -126,8 +126,8 @@
     }
 
     /**
-     * Extract and return injection manager from {@link javax.ws.rs.core.FeatureContext featureContext}.
-     * The method can be used to inject custom types into a {@link javax.ws.rs.core.Feature}.
+     * Extract and return injection manager from {@link jakarta.ws.rs.core.FeatureContext featureContext}.
+     * The method can be used to inject custom types into a {@link jakarta.ws.rs.core.Feature}.
      * <p>
      * Note that features are utilized during initialization phase when not all providers are registered yet.
      * It is undefined which injections are already available in this phase.
@@ -139,7 +139,7 @@
      *
      * @throws java.lang.IllegalArgumentException when {@code writerInterceptorContext} is not a default
      * Jersey instance provided by Jersey
-     * in {@link javax.ws.rs.core.Feature#configure(javax.ws.rs.core.FeatureContext)} method.
+     * in {@link jakarta.ws.rs.core.Feature#configure(jakarta.ws.rs.core.FeatureContext)} method.
      */
     public static InjectionManager getInjectionManager(FeatureContext featureContext) {
         if (!(featureContext instanceof InjectionManagerSupplier)) {
diff --git a/core-common/src/main/java/org/glassfish/jersey/JerseyPriorities.java b/core-common/src/main/java/org/glassfish/jersey/JerseyPriorities.java
index d942140..941b383 100644
--- a/core-common/src/main/java/org/glassfish/jersey/JerseyPriorities.java
+++ b/core-common/src/main/java/org/glassfish/jersey/JerseyPriorities.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey;
 
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
 
 /**
- * Built-in Jersey-specific priority constants to be used along with {@link javax.ws.rs.Priorities} where finer-grained
+ * Built-in Jersey-specific priority constants to be used along with {@link jakarta.ws.rs.Priorities} where finer-grained
  * categorization is required.
  *
  * @author Adam Lindenthal
@@ -33,7 +33,7 @@
 
     /**
      * Priority for components that have to be called AFTER message encoders/decoders filters/interceptors.
-     * The constant has to be higher than {@link javax.ws.rs.Priorities#ENTITY_CODER} in order to force the
+     * The constant has to be higher than {@link jakarta.ws.rs.Priorities#ENTITY_CODER} in order to force the
      * processing after the components with {@code Priorities.ENTITY_CODER} are processed.
      */
     public static final int POST_ENTITY_CODER = Priorities.ENTITY_CODER + 100;
diff --git a/core-common/src/main/java/org/glassfish/jersey/http/HttpHeaders.java b/core-common/src/main/java/org/glassfish/jersey/http/HttpHeaders.java
index 95e2d33..e4de92c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/http/HttpHeaders.java
+++ b/core-common/src/main/java/org/glassfish/jersey/http/HttpHeaders.java
@@ -17,9 +17,9 @@
 package org.glassfish.jersey.http;
 
 /**
- * Additional HTTP headers that are not listed in Jakarta REST {@link javax.ws.rs.core.HttpHeaders}.
+ * Additional HTTP headers that are not listed in Jakarta REST {@link jakarta.ws.rs.core.HttpHeaders}.
  */
-public interface HttpHeaders extends javax.ws.rs.core.HttpHeaders {
+public interface HttpHeaders extends jakarta.ws.rs.core.HttpHeaders {
 
     /**
      * See {@link <a href="https://www.rfc-editor.org/rfc/rfc9110#name-accept-ranges">HTTP Semantics documentation</a>}
diff --git a/core-common/src/main/java/org/glassfish/jersey/http/ResponseStatus.java b/core-common/src/main/java/org/glassfish/jersey/http/ResponseStatus.java
index dd70c5a..a86e767 100644
--- a/core-common/src/main/java/org/glassfish/jersey/http/ResponseStatus.java
+++ b/core-common/src/main/java/org/glassfish/jersey/http/ResponseStatus.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.http;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 /**
  * This is a list of Hypertext Transfer Protocol (HTTP) response status codes.
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/AbstractRuntimeDelegate.java b/core-common/src/main/java/org/glassfish/jersey/internal/AbstractRuntimeDelegate.java
index 79f65eb..aa439db 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/AbstractRuntimeDelegate.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/AbstractRuntimeDelegate.java
@@ -22,16 +22,16 @@
 import java.util.Set;
 import java.util.WeakHashMap;
 
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response.ResponseBuilder;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response.ResponseBuilder;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.message.internal.JerseyLink;
 import org.glassfish.jersey.message.internal.OutboundJaxrsResponse;
@@ -74,7 +74,7 @@
     }
 
     @Override
-    public javax.ws.rs.core.Variant.VariantListBuilder createVariantListBuilder() {
+    public jakarta.ws.rs.core.Variant.VariantListBuilder createVariantListBuilder() {
         return new VariantListBuilder();
     }
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/AbstractServiceFinderConfigurator.java b/core-common/src/main/java/org/glassfish/jersey/internal/AbstractServiceFinderConfigurator.java
index b528eaf..ea7c62c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/AbstractServiceFinderConfigurator.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/AbstractServiceFinderConfigurator.java
@@ -22,7 +22,7 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/AutoDiscoverableConfigurator.java b/core-common/src/main/java/org/glassfish/jersey/internal/AutoDiscoverableConfigurator.java
index 616818d..a3ba93d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/AutoDiscoverableConfigurator.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/AutoDiscoverableConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.List;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.internal.inject.Bindings;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/BootstrapBag.java b/core-common/src/main/java/org/glassfish/jersey/internal/BootstrapBag.java
index 53309fb..ec5c636 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/BootstrapBag.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/BootstrapBag.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.List;
 import java.util.Objects;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.message.MessageBodyWorkers;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/ContextResolverFactory.java b/core-common/src/main/java/org/glassfish/jersey/internal/ContextResolverFactory.java
index 66f1c9f..9c5bb7a 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/ContextResolverFactory.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/ContextResolverFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,9 +23,9 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.glassfish.jersey.internal.inject.Bindings;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/DynamicFeatureConfigurator.java b/core-common/src/main/java/org/glassfish/jersey/internal/DynamicFeatureConfigurator.java
index f8ea866..65ac48b 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/DynamicFeatureConfigurator.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/DynamicFeatureConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.container.DynamicFeature;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/ExceptionMapperFactory.java b/core-common/src/main/java/org/glassfish/jersey/internal/ExceptionMapperFactory.java
index b604adf..eb86f0c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/ExceptionMapperFactory.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/ExceptionMapperFactory.java
@@ -28,9 +28,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.JerseyPriorities;
 import org.glassfish.jersey.internal.inject.Bindings;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/FeatureConfigurator.java b/core-common/src/main/java/org/glassfish/jersey/internal/FeatureConfigurator.java
index 4985407..2b0acbd 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/FeatureConfigurator.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/FeatureConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Feature;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/JaxrsProviders.java b/core-common/src/main/java/org/glassfish/jersey/internal/JaxrsProviders.java
index d06479c..fa075fb 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/JaxrsProviders.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/JaxrsProviders.java
@@ -19,16 +19,16 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.Bindings;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/OsgiRegistry.java b/core-common/src/main/java/org/glassfish/jersey/internal/OsgiRegistry.java
index b95a070..cb7545f 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/OsgiRegistry.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/OsgiRegistry.java
@@ -44,7 +44,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/PropertiesResolver.java b/core-common/src/main/java/org/glassfish/jersey/internal/PropertiesResolver.java
index d2e1135..23c5432 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/PropertiesResolver.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/PropertiesResolver.java
@@ -17,7 +17,7 @@
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 /**
  *  Resolver of a property value for the specified property {@code name} from the
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/RuntimeDelegateDecorator.java b/core-common/src/main/java/org/glassfish/jersey/internal/RuntimeDelegateDecorator.java
index 37b6d93..5f954ba 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/RuntimeDelegateDecorator.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/RuntimeDelegateDecorator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,13 +19,13 @@
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.Variant;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Variant;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/RuntimeDelegateImpl.java b/core-common/src/main/java/org/glassfish/jersey/internal/RuntimeDelegateImpl.java
index 2183afa..88d1826 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/RuntimeDelegateImpl.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/RuntimeDelegateImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2023 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.internal;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
+import jakarta.ws.rs.ext.RuntimeDelegate;
 import org.glassfish.jersey.message.internal.MessagingBinders;
 
 /**
- * Default implementation of JAX-RS {@link javax.ws.rs.ext.RuntimeDelegate}.
- * The {@link javax.ws.rs.ext.RuntimeDelegate} class looks for the implementations registered
- * in META-INF/services. If no such implementation is found, this one is picked
- * as the default. Server injection binder should override this (using META-INF/services)
- * to provide an implementation that supports {@link #createEndpoint(javax.ws.rs.core.Application, java.lang.Class)}
+ * Default implementation of JAX-RS {@link jakarta.ws.rs.ext.RuntimeDelegate}.
+ * The {@link jakarta.ws.rs.ext.RuntimeDelegate} class looks for the implementations registered
+ * in META-INF/services. Server injection binder should override this (using META-INF/services)
+ * to provide an implementation that supports {@link #createEndpoint(jakarta.ws.rs.core.Application, java.lang.Class)}
  * method.
  *
  * @author Jakub Podlesak
@@ -41,6 +41,15 @@
     @Override
     public <T> T createEndpoint(Application application, Class<T> endpointType)
             throws IllegalArgumentException, UnsupportedOperationException {
+
+        // TODO : Do we need multiple RuntimeDelegates?
+        for (RuntimeDelegate delegate : ServiceFinder.find(RuntimeDelegate.class)) {
+            // try to find runtime delegate from core-server
+            if (delegate.getClass() != RuntimeDelegateImpl.class) {
+                RuntimeDelegate.setInstance(delegate);
+                return delegate.createEndpoint(application, endpointType);
+            }
+        }
         throw new UnsupportedOperationException(LocalizationMessages.NO_CONTAINER_AVAILABLE());
     }
 }
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/ServiceFinderBinder.java b/core-common/src/main/java/org/glassfish/jersey/internal/ServiceFinderBinder.java
index 48b8ebb..223d32b 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/ServiceFinderBinder.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/ServiceFinderBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.Map;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/config/ExternalPropertiesConfigurationFactory.java b/core-common/src/main/java/org/glassfish/jersey/internal/config/ExternalPropertiesConfigurationFactory.java
index 5ebb3e1..1a83e23 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/config/ExternalPropertiesConfigurationFactory.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/config/ExternalPropertiesConfigurationFactory.java
@@ -21,8 +21,8 @@
 import org.glassfish.jersey.spi.ExternalConfigurationModel;
 import org.glassfish.jersey.spi.ExternalConfigurationProvider;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.core.Configurable;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.core.Configurable;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/config/SystemPropertiesConfigurationModel.java b/core-common/src/main/java/org/glassfish/jersey/internal/config/SystemPropertiesConfigurationModel.java
index ee08cea..13a4baf 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/config/SystemPropertiesConfigurationModel.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/config/SystemPropertiesConfigurationModel.java
@@ -31,8 +31,8 @@
 import java.util.function.Function;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.LocalizationMessages;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/AbstractBinder.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/AbstractBinder.java
index b1e7ffc..78379c3 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/AbstractBinder.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/AbstractBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,9 +26,9 @@
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 
@@ -156,7 +156,7 @@
 
     /**
      * Start building a new instance-based service binding. The binding is naturally
-     * considered to be a {@link javax.inject.Singleton singleton-scoped}.
+     * considered to be a {@link jakarta.inject.Singleton singleton-scoped}.
      * <p>
      * Does NOT bind the service type itself as a contract type.
      *
@@ -215,7 +215,7 @@
 
     /**
      * Start building a new injection resolver binding. The injection resolver is naturally
-     * considered to be a {@link javax.inject.Singleton singleton-scoped}.
+     * considered to be a {@link jakarta.inject.Singleton singleton-scoped}.
      * <p>
      * There is no need to provide any additional information. Other method on {@link Binding}
      * will be ignored.
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Binding.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Binding.java
index 46ac19c..69a534a 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Binding.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Binding.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,9 +22,9 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Named;
+import jakarta.inject.Named;
 
 /**
  * Abstract injection binding description of a bean.
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Bindings.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Bindings.java
index 477063a..ef1e733 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Bindings.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Bindings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.Collection;
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
@@ -119,7 +119,7 @@
 
     /**
      * Start building a new instance-based service binding. The binding is naturally
-     * considered to be a {@link javax.inject.Singleton singleton-scoped}.
+     * considered to be a {@link jakarta.inject.Singleton singleton-scoped}.
      * <p>
      * Does NOT service the service type itself as a contract type.
      *
@@ -133,7 +133,7 @@
 
     /**
      * Start building a new instance-based service binding. The binding is naturally
-     * considered to be a {@link javax.inject.Singleton singleton-scoped}.
+     * considered to be a {@link jakarta.inject.Singleton singleton-scoped}.
      * <p>
      * Binds the generic service type itself as a contract type.
      *
@@ -184,7 +184,7 @@
 
     /**
      * Start building a new injection resolver binding. The injection resolver is naturally
-     * considered to be a {@link javax.inject.Singleton singleton-scoped}.
+     * considered to be a {@link jakarta.inject.Singleton singleton-scoped}.
      * <p>
      * There is no need to provide any additional information. Other method on {@link Binding}
      * will be ignored.
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ContextInjectionResolver.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ContextInjectionResolver.java
index a441b5e..1e77672 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ContextInjectionResolver.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ContextInjectionResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.internal.inject;
 
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.core.Context;
 
 /**
  * A marker interface to {@code InjectionResolver&lt;Context&gt;}. This interface must be implemented by every Dependency
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Custom.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Custom.java
index 938ef2e..90b2be8 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Custom.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Custom.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,12 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * {@link Qualifier Qualifier annotation} used to annotate HK2 injections and
  * bindings for user custom providers. Providers are classes which implement one
- * of the provider interfaces (for example {@link javax.ws.rs.ext.MessageBodyReader
+ * of the provider interfaces (for example {@link jakarta.ws.rs.ext.MessageBodyReader
  * Message body reader interface}).
  * <p>
  * Custom providers are bound in the HK2 injection manager using {@code &#64;Custom}
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ExtractorException.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ExtractorException.java
index 629b874..9dccf6a 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ExtractorException.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ExtractorException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.internal.inject;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
 
 /**
  * A runtime exception that contains a cause, a checked or runtime exception,
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Injectee.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Injectee.java
index 2d668db..7ba364b 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Injectee.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Injectee.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -100,7 +100,7 @@
     boolean isFactory();
 
     /**
-     * This method returns {@code true} if the injectee value is provided using {@link javax.inject.Provider}.
+     * This method returns {@code true} if the injectee value is provided using {@link jakarta.inject.Provider}.
      *
      * @return {@code true} if the injectee is a provider.
      */
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/InjectionResolver.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/InjectionResolver.java
index 589cb00..2509664 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/InjectionResolver.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/InjectionResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,7 +24,7 @@
  * {@code &#64;Inject}. Otherwise, this resolver can be used to provide injection points for any annotation.
  * <p>
  * Jersey provides all {@code InjectionResolvers} for JAX-RS annotation and {@code org.glassfish.jersey.server.Uri} apart from
- * {@link javax.ws.rs.core.Context} which must be implemented and registered directly as a part of DI integration because of
+ * {@link jakarta.ws.rs.core.Context} which must be implemented and registered directly as a part of DI integration because of
  * many optimization which cannot be implemented on Jersey side.
  * <p>
  * The {@code InjectionResolvers} are delivered to DI integration using {@link InjectionManager#register(Binder)} and DI provider
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Injections.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Injections.java
index f944637..1750dd8 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Injections.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Injections.java
@@ -20,9 +20,9 @@
 import java.util.List;
 import java.util.Optional;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.ServiceFinder;
@@ -94,7 +94,7 @@
      * @param <T>   type of service to look for.
      * @param type {@link RuntimeType} the {@link InjectionManagerFactory} must be {@link ConstrainedTo} if annotated.
      * @return instance of service with highest priority or {@code null} if service of given type cannot be found.
-     * @see javax.annotation.Priority
+     * @see jakarta.annotation.Priority
      */
     private static <T> Optional<T> lookupService(final Class<T> clazz, RuntimeType type) {
         List<RankedProvider<T>> providers = new LinkedList<>();
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverterConfigurator.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverterConfigurator.java
index bbd6441..f10976a 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverterConfigurator.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverterConfigurator.java
@@ -17,7 +17,7 @@
 
 package org.glassfish.jersey.internal.inject;
 
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverterFactory.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverterFactory.java
index 5fcd853..1261ecb 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverterFactory.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverterFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates.
  *
  * This program and the accompanying materials are made available under the
@@ -23,9 +23,9 @@
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
-import javax.inject.Singleton;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 /**
  * An aggregate {@link ParamConverterProvider param converter provider} that loads all
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverters.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverters.java
index 4a1ca86..0a9aaba 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverters.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ParamConverters.java
@@ -31,14 +31,14 @@
 import java.util.OptionalInt;
 import java.util.OptionalLong;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.LocalizationMessages;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/PerLookup.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/PerLookup.java
index 9de2d0f..24aa803 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/PerLookup.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/PerLookup.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.inject.Scope;
+import jakarta.inject.Scope;
 
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.TYPE;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/PerThread.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/PerThread.java
index 8919b90..20f1ff6 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/PerThread.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/PerThread.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,14 +20,14 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.inject.Scope;
+import jakarta.inject.Scope;
 
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.TYPE;
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * PerThread is a scope that operates like {@link javax.inject.Singleton} scope, except on a per-thread basis. The lifecycle of
+ * PerThread is a scope that operates like {@link jakarta.inject.Singleton} scope, except on a per-thread basis. The lifecycle of
  * the service is determined by the thread it is on. On a single thread only one of the service will be created, but a new
  * service will be created for each thread.
  *
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ProviderBinder.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ProviderBinder.java
index edf9896..d672b11 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ProviderBinder.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ProviderBinder.java
@@ -28,9 +28,9 @@
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.model.ContractProvider;
 import org.glassfish.jersey.model.internal.ComponentBag;
@@ -40,7 +40,7 @@
  * Class used for registration of the custom providers into injection manager.
  * <p>
  * Custom providers are classes that implements specific JAX-RS or Jersey
- * SPI interfaces (e.g. {@link javax.ws.rs.ext.MessageBodyReader}) and are
+ * SPI interfaces (e.g. {@link jakarta.ws.rs.ext.MessageBodyReader}) and are
  * supplied by the user. These providers will be bound into the injection manager
  * annotated by a {@link Custom &#64;Custom} qualifier annotation.
  * </p>
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Providers.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Providers.java
index 2e909a8..4bbab3e 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/Providers.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/Providers.java
@@ -35,12 +35,12 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Feature;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.JerseyPriorities;
 import org.glassfish.jersey.internal.LocalizationMessages;
@@ -77,21 +77,21 @@
     private static Map<Class<?>, ProviderRuntime> getJaxRsProviderInterfaces() {
         final Map<Class<?>, ProviderRuntime> interfaces = new HashMap<Class<?>, ProviderRuntime>();
 
-        interfaces.put(javax.ws.rs.ext.ContextResolver.class, ProviderRuntime.BOTH);
-        interfaces.put(javax.ws.rs.ext.ExceptionMapper.class, ProviderRuntime.BOTH);
-        interfaces.put(javax.ws.rs.ext.MessageBodyReader.class, ProviderRuntime.BOTH);
-        interfaces.put(javax.ws.rs.ext.MessageBodyWriter.class, ProviderRuntime.BOTH);
-        interfaces.put(javax.ws.rs.ext.ReaderInterceptor.class, ProviderRuntime.BOTH);
-        interfaces.put(javax.ws.rs.ext.WriterInterceptor.class, ProviderRuntime.BOTH);
-        interfaces.put(javax.ws.rs.ext.ParamConverterProvider.class, ProviderRuntime.BOTH);
+        interfaces.put(jakarta.ws.rs.ext.ContextResolver.class, ProviderRuntime.BOTH);
+        interfaces.put(jakarta.ws.rs.ext.ExceptionMapper.class, ProviderRuntime.BOTH);
+        interfaces.put(jakarta.ws.rs.ext.MessageBodyReader.class, ProviderRuntime.BOTH);
+        interfaces.put(jakarta.ws.rs.ext.MessageBodyWriter.class, ProviderRuntime.BOTH);
+        interfaces.put(jakarta.ws.rs.ext.ReaderInterceptor.class, ProviderRuntime.BOTH);
+        interfaces.put(jakarta.ws.rs.ext.WriterInterceptor.class, ProviderRuntime.BOTH);
+        interfaces.put(jakarta.ws.rs.ext.ParamConverterProvider.class, ProviderRuntime.BOTH);
 
-        interfaces.put(javax.ws.rs.container.ContainerRequestFilter.class, ProviderRuntime.SERVER);
-        interfaces.put(javax.ws.rs.container.ContainerResponseFilter.class, ProviderRuntime.SERVER);
-        interfaces.put(javax.ws.rs.container.DynamicFeature.class, ProviderRuntime.SERVER);
+        interfaces.put(jakarta.ws.rs.container.ContainerRequestFilter.class, ProviderRuntime.SERVER);
+        interfaces.put(jakarta.ws.rs.container.ContainerResponseFilter.class, ProviderRuntime.SERVER);
+        interfaces.put(jakarta.ws.rs.container.DynamicFeature.class, ProviderRuntime.SERVER);
 
-        interfaces.put(javax.ws.rs.client.ClientResponseFilter.class, ProviderRuntime.CLIENT);
-        interfaces.put(javax.ws.rs.client.ClientRequestFilter.class, ProviderRuntime.CLIENT);
-        interfaces.put(javax.ws.rs.client.RxInvokerProvider.class, ProviderRuntime.CLIENT);
+        interfaces.put(jakarta.ws.rs.client.ClientResponseFilter.class, ProviderRuntime.CLIENT);
+        interfaces.put(jakarta.ws.rs.client.ClientRequestFilter.class, ProviderRuntime.CLIENT);
+        interfaces.put(jakarta.ws.rs.client.RxInvokerProvider.class, ProviderRuntime.CLIENT);
 
         return interfaces;
     }
@@ -101,7 +101,7 @@
 
         // JAX-RS
         interfaces.putAll(JAX_RS_PROVIDER_INTERFACE_WHITELIST);
-        interfaces.put(javax.ws.rs.core.Feature.class, ProviderRuntime.BOTH);
+        interfaces.put(jakarta.ws.rs.core.Feature.class, ProviderRuntime.BOTH);
         interfaces.put(Binder.class, ProviderRuntime.BOTH);
         return interfaces;
     }
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ReferencingFactory.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ReferencingFactory.java
index 0c92e24..0fde5e4 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/ReferencingFactory.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/ReferencingFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.function.Supplier;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.util.collection.Ref;
 import org.glassfish.jersey.internal.util.collection.Refs;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/inject/UpdaterException.java b/core-common/src/main/java/org/glassfish/jersey/internal/inject/UpdaterException.java
index f07691e..020d994 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/inject/UpdaterException.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/inject/UpdaterException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates.
  *
  * This program and the accompanying materials are made available under the
@@ -17,8 +17,8 @@
 
 package org.glassfish.jersey.internal.inject;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
 
 /**
  * A runtime exception that contains a cause, a checked or runtime exception,
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/routing/CombinedMediaType.java b/core-common/src/main/java/org/glassfish/jersey/internal/routing/CombinedMediaType.java
index b0078b8..9a4efa3 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/routing/CombinedMediaType.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/routing/CombinedMediaType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.Comparator;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.message.internal.MediaTypes;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/routing/ContentTypeDeterminer.java b/core-common/src/main/java/org/glassfish/jersey/internal/routing/ContentTypeDeterminer.java
index cb90495..1ee169c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/routing/ContentTypeDeterminer.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/routing/ContentTypeDeterminer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,8 +21,8 @@
 import org.glassfish.jersey.message.internal.AcceptableMediaType;
 import org.glassfish.jersey.message.internal.MediaTypes;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 import java.util.List;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/spi/AutoDiscoverable.java b/core-common/src/main/java/org/glassfish/jersey/internal/spi/AutoDiscoverable.java
index bc71546..078fc67 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/spi/AutoDiscoverable.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/spi/AutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,18 +16,18 @@
 
 package org.glassfish.jersey.internal.spi;
 
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * A service provider contract for JAX-RS and Jersey components that need to be automatically discovered and registered in
- * {@link javax.ws.rs.core.Configuration runtime configurations}.
+ * {@link jakarta.ws.rs.core.Configuration runtime configurations}.
  * <p/>
  * A component implementing this contract becomes auto-discoverable by adding a new entry with fully qualified name of its
  * implementation class name to a {@code org.glassfish.jersey.internal.spi.AutoDiscoverable} file in the {@code
  * META-INF/services} directory.
  * <p/>
  * Almost all Jersey {@code AutoDiscoverable} implementations have
- * {@link #DEFAULT_PRIORITY} {@link javax.annotation.Priority priority} set.
+ * {@link #DEFAULT_PRIORITY} {@link jakarta.annotation.Priority priority} set.
  *
  * @author Michal Gajdos
  */
@@ -43,7 +43,7 @@
     /**
      * A call-back method called when an auto-discoverable component is to be configured in a given runtime configuration scope.
      * <p>
-     * Note that as with {@link javax.ws.rs.core.Feature JAX-RS features}, before registering new JAX-RS components in a
+     * Note that as with {@link jakarta.ws.rs.core.Feature JAX-RS features}, before registering new JAX-RS components in a
      * given configurable context, an auto-discoverable component should verify that newly registered components are not
      * already registered in the configurable context.
      * </p>
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/spi/ForcedAutoDiscoverable.java b/core-common/src/main/java/org/glassfish/jersey/internal/spi/ForcedAutoDiscoverable.java
index bf2eb65..f3d7495 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/spi/ForcedAutoDiscoverable.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/spi/ForcedAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,13 +18,13 @@
 
 /**
  * A service provider contract for JAX-RS and Jersey components that need to be automatically discovered and registered in
- * {@link javax.ws.rs.core.Configuration runtime configurations}.
+ * {@link jakarta.ws.rs.core.Configuration runtime configurations}.
  * <p/>
  * A component implementing this contract becomes auto-discoverable by adding a new entry with fully qualified name of its
  * implementation class name to a {@code org.glassfish.jersey.internal.spi.AutoDiscoverable} file in the {@code
  * META-INF/services} directory.
  * <p/>
- * Implementations of this contract are always {@link #configure(javax.ws.rs.core.FeatureContext) configured} regardless of
+ * Implementations of this contract are always {@link #configure(jakarta.ws.rs.core.FeatureContext) configured} regardless of
  * values of properties {@link org.glassfish.jersey.CommonProperties#FEATURE_AUTO_DISCOVERY_DISABLE} and
  * {@link org.glassfish.jersey.CommonProperties#METAINF_SERVICES_LOOKUP_DISABLE}.
  *
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/JerseyPublisher.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/JerseyPublisher.java
index 4469e0b..b479d19 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/JerseyPublisher.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/JerseyPublisher.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -45,6 +45,8 @@
 
     private final PublisherStrategy strategy;
 
+    private boolean cascadingClose;
+
     /**
      * Creates a new JerseyPublisher using the {@link ForkJoinPool#commonPool()} for async delivery to subscribers
      * (unless it does not support a parallelism level of at least two, in which case, a new Thread is created to run
@@ -315,6 +317,17 @@
      * completed.
      */
     public void close() {
+        close(true);
+    }
+
+    /**
+     * Same as {@link #close()} but with control as to whether registered subscribers should be
+     * closed or not.
+     *
+     * @param cascading Boolean controlling whether to close subscribers or not.
+     */
+    public void close(boolean cascading) {
+        cascadingClose = cascading;
         submissionPublisher.close();
     }
 
@@ -364,7 +377,7 @@
         return submissionPublisher.getMaxBufferCapacity();
     }
 
-    public static class SubscriberWrapper<T> implements Flow.Subscriber<T> {
+    public class SubscriberWrapper<T> implements Flow.Subscriber<T> {
         private Flow.Subscriber<? super T> subscriber;
         private Flow.Subscription subscription = null;
 
@@ -400,7 +413,10 @@
 
         @Override
         public void onComplete() {
-            subscriber.onComplete();
+            // Propagate only when cascadingClose is true
+            if (cascadingClose) {
+                subscriber.onComplete();
+            }
         }
 
         public Flow.Subscriber<? super T> getWrappedSubscriber() {
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/PropertiesHelper.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/PropertiesHelper.java
index cb1c87b..5500e54 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/PropertiesHelper.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/PropertiesHelper.java
@@ -26,14 +26,14 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.LocalizationMessages;
 
 /**
  * Helper class containing convenience methods for reading
- * {@code org.glassfish.jersey.server.ResourceConfig} and {@link javax.ws.rs.core.Configuration} properties.
+ * {@code org.glassfish.jersey.server.ResourceConfig} and {@link jakarta.ws.rs.core.Configuration} properties.
  *
  * @author Martin Matula
  */
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/Property.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/Property.java
index 1a18944..8168654 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/Property.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/Property.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,7 +24,7 @@
 /**
  * Marker annotation for static fields that represent property names.
  *
- * This annotation is put on static fields (typically in concrete {@link javax.ws.rs.core.Feature JAX-RS Feature} classes)
+ * This annotation is put on static fields (typically in concrete {@link jakarta.ws.rs.core.Feature JAX-RS Feature} classes)
  * to mark a recognized property name.
  * <p>
  * Jersey code should not contain overlapping nor duplicate property names. This is checked in a dedicated
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/ReflectionHelper.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/ReflectionHelper.java
index c272637..6383095 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/ReflectionHelper.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/ReflectionHelper.java
@@ -51,8 +51,8 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.OsgiRegistry;
@@ -911,11 +911,11 @@
     }
 
     /**
-     * Create a {@link javax.ws.rs.core.GenericType generic type} information for a given
+     * Create a {@link jakarta.ws.rs.core.GenericType generic type} information for a given
      * Java {@code instance}.
      * <p>
-     * If the supplied instance is an instance of {@link javax.ws.rs.core.GenericEntity}, the generic type
-     * information will be computed using the {@link javax.ws.rs.core.GenericEntity#getType()}
+     * If the supplied instance is an instance of {@link jakarta.ws.rs.core.GenericEntity}, the generic type
+     * information will be computed using the {@link jakarta.ws.rs.core.GenericEntity#getType()}
      * information. Otherwise the {@code instance.getClass()} will be used.
      * </p>
      *
@@ -1585,7 +1585,7 @@
      * Returns true iff JAX-B API is available on classpath.
      */
     public static boolean isJaxbAvailable() {
-        final Class<?> aClass = AccessController.doPrivileged(ReflectionHelper.classForNamePA("javax.xml.bind.JAXBException"));
+        final Class<?> aClass = AccessController.doPrivileged(ReflectionHelper.classForNamePA("jakarta.xml.bind.JAXBException"));
         return aClass != null;
     }
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/GuardianStringKeyMultivaluedMap.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/GuardianStringKeyMultivaluedMap.java
index 3641283..1ca2549 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/GuardianStringKeyMultivaluedMap.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/GuardianStringKeyMultivaluedMap.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.internal.util.collection;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/ImmutableMultivaluedMap.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/ImmutableMultivaluedMap.java
index ac0d67f..1823b59 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/ImmutableMultivaluedMap.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/ImmutableMultivaluedMap.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,8 +22,8 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * An immutable view of a {@link MultivaluedMap}.
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/MultivaluedStringMap.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/MultivaluedStringMap.java
index 168a371..032c17f 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/MultivaluedStringMap.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/MultivaluedStringMap.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.lang.reflect.Constructor;
 import java.util.List;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * An implementation of {@link MultivaluedMap} where keys and values are
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/NullableMultivaluedHashMap.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/NullableMultivaluedHashMap.java
index 442aaf4..e81b405 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/NullableMultivaluedHashMap.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/NullableMultivaluedHashMap.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * An implementation of {@link MultivaluedMap} where values can be {@code null}.
diff --git a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/StringKeyIgnoreCaseMultivaluedMap.java b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/StringKeyIgnoreCaseMultivaluedMap.java
index b7ad4a4..5dbdc88 100644
--- a/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/StringKeyIgnoreCaseMultivaluedMap.java
+++ b/core-common/src/main/java/org/glassfish/jersey/internal/util/collection/StringKeyIgnoreCaseMultivaluedMap.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.AbstractMultivaluedMap;
+import jakarta.ws.rs.core.AbstractMultivaluedMap;
 
 /**
  * Multivalued map with String keys that are compared with each other using the case insensitive method.
diff --git a/core-common/src/main/java/org/glassfish/jersey/logging/ClientLoggingFilter.java b/core-common/src/main/java/org/glassfish/jersey/logging/ClientLoggingFilter.java
index 8b9b6fb..2b99da6 100644
--- a/core-common/src/main/java/org/glassfish/jersey/logging/ClientLoggingFilter.java
+++ b/core-common/src/main/java/org/glassfish/jersey/logging/ClientLoggingFilter.java
@@ -21,16 +21,16 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.logging.LoggingFeature.Verbosity;
 import org.glassfish.jersey.message.MessageUtils;
diff --git a/core-common/src/main/java/org/glassfish/jersey/logging/LoggingFeature.java b/core-common/src/main/java/org/glassfish/jersey/logging/LoggingFeature.java
index 214eaa2..a9a39ba 100644
--- a/core-common/src/main/java/org/glassfish/jersey/logging/LoggingFeature.java
+++ b/core-common/src/main/java/org/glassfish/jersey/logging/LoggingFeature.java
@@ -22,10 +22,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.glassfish.jersey.CommonProperties;
 
@@ -33,8 +33,8 @@
  * This feature enables logging request and/or response on client-side and/or server-side depending
  * on the context's {@link RuntimeType}.
  * <p>
- * The feature may be register programmatically like other features by calling any of {@link javax.ws.rs.core.Configurable}
- * {@code register(...)} method, i.e. {@link javax.ws.rs.core.Configurable#register(Class)} or by setting any of the
+ * The feature may be register programmatically like other features by calling any of {@link jakarta.ws.rs.core.Configurable}
+ * {@code register(...)} method, i.e. {@link jakarta.ws.rs.core.Configurable#register(Class)} or by setting any of the
  * configuration property listed bellow.
  * <p>
  * Common configurable properties applies for both client and server and are following:
diff --git a/core-common/src/main/java/org/glassfish/jersey/logging/LoggingFeatureAutoDiscoverable.java b/core-common/src/main/java/org/glassfish/jersey/logging/LoggingFeatureAutoDiscoverable.java
index 84ca349..d35a06b 100644
--- a/core-common/src/main/java/org/glassfish/jersey/logging/LoggingFeatureAutoDiscoverable.java
+++ b/core-common/src/main/java/org/glassfish/jersey/logging/LoggingFeatureAutoDiscoverable.java
@@ -18,10 +18,10 @@
 
 import java.util.Map;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/logging/LoggingInterceptor.java b/core-common/src/main/java/org/glassfish/jersey/logging/LoggingInterceptor.java
index ec15250..2c1f36d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/logging/LoggingInterceptor.java
+++ b/core-common/src/main/java/org/glassfish/jersey/logging/LoggingInterceptor.java
@@ -40,11 +40,11 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.internal.guava.Predicates;
 import org.glassfish.jersey.logging.LoggingFeature.Verbosity;
diff --git a/core-common/src/main/java/org/glassfish/jersey/logging/ServerLoggingFilter.java b/core-common/src/main/java/org/glassfish/jersey/logging/ServerLoggingFilter.java
index b0f8523..6ed5dfe 100644
--- a/core-common/src/main/java/org/glassfish/jersey/logging/ServerLoggingFilter.java
+++ b/core-common/src/main/java/org/glassfish/jersey/logging/ServerLoggingFilter.java
@@ -21,16 +21,16 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.logging.LoggingFeature.Verbosity;
 import org.glassfish.jersey.message.MessageUtils;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/AbstractEntityProviderModel.java b/core-common/src/main/java/org/glassfish/jersey/message/AbstractEntityProviderModel.java
index a9d9075..6de7cee 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/AbstractEntityProviderModel.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/AbstractEntityProviderModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/DeflateEncoder.java b/core-common/src/main/java/org/glassfish/jersey/message/DeflateEncoder.java
index ce2e415..c071fd4 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/DeflateEncoder.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/DeflateEncoder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,17 +25,17 @@
 import java.util.zip.Inflater;
 import java.util.zip.InflaterInputStream;
 
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.core.Configuration;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.core.Configuration;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.spi.ContentEncoder;
 
 /**
  * Deflate encoding support. Interceptor that encodes the output or decodes the input if
- * {@link javax.ws.rs.core.HttpHeaders#CONTENT_ENCODING Content-Encoding header} value equals to {@code deflate}.
+ * {@link jakarta.ws.rs.core.HttpHeaders#CONTENT_ENCODING Content-Encoding header} value equals to {@code deflate}.
  * The default behavior of this interceptor can be tweaked using {@link MessageProperties#DEFLATE_WITHOUT_ZLIB}
  * property.
  *
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/GZipEncoder.java b/core-common/src/main/java/org/glassfish/jersey/message/GZipEncoder.java
index 2c3d491..1dd4629 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/GZipEncoder.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/GZipEncoder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,9 +22,9 @@
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.glassfish.jersey.spi.ContentEncoder;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/MessageBodyWorkers.java b/core-common/src/main/java/org/glassfish/jersey/message/MessageBodyWorkers.java
index 4df032c..07907f2 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/MessageBodyWorkers.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/MessageBodyWorkers.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,13 +24,13 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.PropertiesDelegate;
 
@@ -39,7 +39,7 @@
  * {@link MessageBodyWriter} instances.
  *
  * @author Paul Sandoz
- * @see javax.ws.rs.core.Context
+ * @see jakarta.ws.rs.core.Context
  * @see MessageBodyReader
  * @see MessageBodyWriter
  */
@@ -93,7 +93,7 @@
      *                    annotations on that parameter returned by
      *                    {@code Class.getParameterAnnotations}.
      * @param mediaType   the media type of the data that will be read, this will be
-     *                    compared to the values of {@link javax.ws.rs.Consumes} for each
+     *                    compared to the values of {@link jakarta.ws.rs.Consumes} for each
      *                    candidate reader and only matching readers will be queried.
      * @return a MessageBodyReader that matches the supplied criteria or null if none is
      *         found.
@@ -115,7 +115,7 @@
      *                           annotations on that parameter returned by
      *                           {@code Class.getParameterAnnotations}.
      * @param mediaType          the media type of the data that will be read, this will be
-     *                           compared to the values of {@link javax.ws.rs.Consumes} for each
+     *                           compared to the values of {@link jakarta.ws.rs.Consumes} for each
      *                           candidate reader and only matching readers will be queried.
      * @param propertiesDelegate request-scoped properties delegate.
      * @return a MessageBodyReader that matches the supplied criteria or null if none is
@@ -137,7 +137,7 @@
      *                    field, this will be the annotations on that field returned by
      *                    {@code Field.getDeclaredAnnotations}.
      * @param mediaType   the media type of the data that will be written, this will be
-     *                    compared to the values of {@link javax.ws.rs.Produces} for each
+     *                    compared to the values of {@link jakarta.ws.rs.Produces} for each
      *                    candidate writer and only matching writers will be queried.
      * @return a MessageBodyReader that matches the supplied criteria or null if none is
      *         found.
@@ -157,7 +157,7 @@
      *                           field, this will be the annotations on that field returned by
      *                           {@code Field.getDeclaredAnnotations}.
      * @param mediaType          the media type of the data that will be written, this will be
-     *                           compared to the values of {@link javax.ws.rs.Produces} for each
+     *                           compared to the values of {@link jakarta.ws.rs.Produces} for each
      *                           candidate writer and only matching writers will be queried.
      * @param propertiesDelegate request-scoped properties delegate.
      * @return a MessageBodyReader that matches the supplied criteria or null if none is
@@ -298,8 +298,8 @@
      *                           closed after reading the entity.
      * @param readerInterceptors Reader interceptor that are to be used to intercept the reading of an entity. The interceptors
      *                           will be executed in the same order as given in this parameter.
-     * @param translateNce       if {@code true}, the {@link javax.ws.rs.core.NoContentException} thrown by a selected message body
-     *                           reader will be translated into a {@link javax.ws.rs.BadRequestException} as required by
+     * @param translateNce       if {@code true}, the {@link jakarta.ws.rs.core.NoContentException} thrown by a selected message body
+     *                           reader will be translated into a {@link jakarta.ws.rs.BadRequestException} as required by
      *                           JAX-RS specification on the server side.
      * @return the entity that was read from the {@code entityStream}.
      * @throws WebApplicationException Thrown when {@link MessageBodyReader message body
@@ -345,6 +345,6 @@
                                 MultivaluedMap<String, Object> httpHeaders, PropertiesDelegate propertiesDelegate,
                                 OutputStream entityStream,
                                 Iterable<WriterInterceptor> writerInterceptors)
-            throws java.io.IOException, javax.ws.rs.WebApplicationException;
+            throws java.io.IOException, jakarta.ws.rs.WebApplicationException;
 
 }
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/MessageProperties.java b/core-common/src/main/java/org/glassfish/jersey/message/MessageProperties.java
index 7113b30..6723312 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/MessageProperties.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/MessageProperties.java
@@ -40,7 +40,7 @@
 
     /**
      * If set to {@code true} then XML root element tag name for collections will
-     * be derived from {@link javax.xml.bind.annotation.XmlRootElement @XmlRootElement}
+     * be derived from {@link jakarta.xml.bind.annotation.XmlRootElement @XmlRootElement}
      * annotation value and won't be de-capitalized.
      * <p />
      * The default value is {@code false}.
@@ -63,7 +63,7 @@
      * If set to {@code true} indicates that produced XML output should be formatted
      * if possible (see below).
      * <p />
-     * A XML message entity written by a {@link javax.ws.rs.ext.MessageBodyWriter}
+     * A XML message entity written by a {@link jakarta.ws.rs.ext.MessageBodyWriter}
      * may be formatted for the purposes of human readability provided the respective
      * {@code MessageBodyWriter} supports XML output formatting. All JAXB-based message
      * body writers support this property.
@@ -110,12 +110,12 @@
 
 
     /**
-     * If set to {@code true}, {@link javax.ws.rs.ext.MessageBodyReader MessageBodyReaders} and
-     * {@link javax.ws.rs.ext.MessageBodyWriter MessageBodyWriters} will be ordered by rules from JAX-RS 1.x, where custom
-     * providers have always precedence; providers are sorted by {@link javax.ws.rs.core.MediaType} and afterwards by
+     * If set to {@code true}, {@link jakarta.ws.rs.ext.MessageBodyReader MessageBodyReaders} and
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter MessageBodyWriters} will be ordered by rules from JAX-RS 1.x, where custom
+     * providers have always precedence; providers are sorted by {@link jakarta.ws.rs.core.MediaType} and afterwards by
      * declaration distance - see {@link org.glassfish.jersey.message.internal.MessageBodyFactory.DeclarationDistanceComparator}.
-     * Otherwise JAX-RS 2.x ordering will be used, which sorts providers firstly by declaration distance, then by
-     * {@link javax.ws.rs.core.MediaType} and by origin (custom/provided).
+     * Otherwise JAX-RS 3.x ordering will be used, which sorts providers firstly by declaration distance, then by
+     * {@link jakarta.ws.rs.core.MediaType} and by origin (custom/provided).
      * <p />
      * The default value is {@code false}.
      * <p />
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/MessageUtils.java b/core-common/src/main/java/org/glassfish/jersey/message/MessageUtils.java
index 59b9cdc..acbbc5f 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/MessageUtils.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/MessageUtils.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.nio.charset.Charset;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.internal.ReaderWriter;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/ReaderModel.java b/core-common/src/main/java/org/glassfish/jersey/message/ReaderModel.java
index b2bf602..eb9ba3b 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/ReaderModel.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/ReaderModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,13 +20,13 @@
 import java.lang.reflect.Type;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 import org.glassfish.jersey.message.internal.MessageBodyFactory;
 
 /**
- * {@link javax.ws.rs.ext.MessageBodyReader} model.
+ * {@link jakarta.ws.rs.ext.MessageBodyReader} model.
  *
  * @author Marek Potociar
  * @since 2.16
@@ -47,7 +47,7 @@
     }
 
     /**
-     * Safely invokes {@link javax.ws.rs.ext.MessageBodyReader#isReadable isReadable} method on the underlying provider.
+     * Safely invokes {@link jakarta.ws.rs.ext.MessageBodyReader#isReadable isReadable} method on the underlying provider.
      *
      * Any exceptions will be logged at finer level.
      *
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/WriterModel.java b/core-common/src/main/java/org/glassfish/jersey/message/WriterModel.java
index c7b4527..cbd6cf0 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/WriterModel.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/WriterModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,13 +20,13 @@
 import java.lang.reflect.Type;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.message.internal.MessageBodyFactory;
 
 /**
- * {@link javax.ws.rs.ext.MessageBodyWriter} model.
+ * {@link jakarta.ws.rs.ext.MessageBodyWriter} model.
  *
  * @author Marek Potociar
  * @since 2.16
@@ -46,14 +46,14 @@
     }
 
     /**
-     * Safely invokes {@link javax.ws.rs.ext.MessageBodyWriter#isWriteable isWriteable} method on the underlying provider.
+     * Safely invokes {@link jakarta.ws.rs.ext.MessageBodyWriter#isWriteable isWriteable} method on the underlying provider.
      *
      * Any exceptions will be logged at finer level.
      *
      * @param type        the class of instance that is to be written.
      * @param genericType the type of instance to be written, obtained either
      *                    by reflection of a resource method return type or via inspection
-     *                    of the returned instance. {@link javax.ws.rs.core.GenericEntity}
+     *                    of the returned instance. {@link jakarta.ws.rs.core.GenericEntity}
      *                    provides a way to specify this information at runtime.
      * @param annotations an array of the annotations attached to the message entity instance.
      * @param mediaType   the media type of the HTTP entity.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/AbstractFormProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/AbstractFormProvider.java
index 6d1ad38..c030e45 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/AbstractFormProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/AbstractFormProvider.java
@@ -25,9 +25,9 @@
 import java.util.Map;
 import java.util.StringTokenizer;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 
 /**
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/AbstractMessageReaderWriterProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/AbstractMessageReaderWriterProvider.java
index a0c715d..f7e2673 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/AbstractMessageReaderWriterProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/AbstractMessageReaderWriterProvider.java
@@ -26,9 +26,9 @@
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 /**
  * Abstract entity provider (reader and writer) base class.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/AcceptableMediaType.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/AcceptableMediaType.java
index fe39724..350f375 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/AcceptableMediaType.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/AcceptableMediaType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.Comparator;
 import java.util.Map;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * An acceptable media type.
@@ -130,7 +130,7 @@
 
     /**
      * Create new acceptable media type instance from the supplied
-     * {@link javax.ws.rs.core.MediaType media type}.
+     * {@link jakarta.ws.rs.core.MediaType media type}.
      *
      * @param mediaType general-purpose media type.
      * @return new acceptable media type instance.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/BasicTypesMessageProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/BasicTypesMessageProvider.java
index 7d661ea..c6ec130 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/BasicTypesMessageProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/BasicTypesMessageProvider.java
@@ -26,14 +26,14 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.ReflectionHelper;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/ByteArrayProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/ByteArrayProvider.java
index 9a7b4a0..0055cae 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/ByteArrayProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/ByteArrayProvider.java
@@ -23,10 +23,10 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * Default Jersey byte array entity provider (reader and writer).
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/CacheControlProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/CacheControlProvider.java
index eb31e57..d7c9e1e 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/CacheControlProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/CacheControlProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,9 +24,9 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import javax.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.CacheControl;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/CompletableReader.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/CompletableReader.java
index 647026e..c4b5d2d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/CompletableReader.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/CompletableReader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 /**
  * A {@link MessageBodyReader} may implement this interface to signal that
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/CookieProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/CookieProvider.java
index fbe9275..5463561 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/CookieProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/CookieProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.Cookie;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/CookiesParser.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/CookiesParser.java
index a0257ca..f8bec0a 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/CookiesParser.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/CookiesParser.java
@@ -24,8 +24,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.NewCookie;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/DataSourceProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/DataSourceProvider.java
index 57113a2..dadfd3d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/DataSourceProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/DataSourceProvider.java
@@ -24,12 +24,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.activation.DataSource;
+import jakarta.activation.DataSource;
 
 /**
  * Provider for marshalling/un-marshalling of {@code application/octet-stream}
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/DateProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/DateProvider.java
index b0e1495..09e7553 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/DateProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/DateProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.text.ParseException;
 import java.util.Date;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/EntityInputStream.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/EntityInputStream.java
index 06678b1..f94d5fd 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/EntityInputStream.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/EntityInputStream.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.io.InputStream;
 import java.io.PushbackInputStream;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 
@@ -103,10 +103,10 @@
      * {@inheritDoc}
      * <p>
      * The method is customized to not throw an {@link IOException} if the reset operation fails. Instead,
-     * a runtime {@link javax.ws.rs.ProcessingException} is thrown.
+     * a runtime {@link jakarta.ws.rs.ProcessingException} is thrown.
      * </p>
      *
-     * @throws javax.ws.rs.ProcessingException in case the reset operation on the underlying entity input stream failed.
+     * @throws jakarta.ws.rs.ProcessingException in case the reset operation on the underlying entity input stream failed.
      */
     @Override
     public void reset() {
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/EntityTagProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/EntityTagProvider.java
index cdffee5..ffcc2ea 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/EntityTagProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/EntityTagProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.text.ParseException;
 
-import javax.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.EntityTag;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.message.internal.HttpHeaderReader.Event;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/EnumMessageProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/EnumMessageProvider.java
index bd19684..c705994 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/EnumMessageProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/EnumMessageProvider.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.inject.Singleton;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/FileProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/FileProvider.java
index 6718b5c..1f1961e 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/FileProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/FileProvider.java
@@ -25,12 +25,12 @@
 import java.nio.file.Files;
 import java.nio.file.StandardCopyOption;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * Provider for marshalling/un-marshalling of {@code application/octet-stream}
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/FormMultivaluedMapProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/FormMultivaluedMapProvider.java
index 8d1ce18..194bc54 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/FormMultivaluedMapProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/FormMultivaluedMapProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,12 +23,12 @@
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.util.collection.NullableMultivaluedHashMap;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/FormProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/FormProvider.java
index ccf81de..0267c50 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/FormProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/FormProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,14 +22,14 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Encoded;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.util.collection.NullableMultivaluedHashMap;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/HeaderUtils.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/HeaderUtils.java
index 5b47d6b..aeea686 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/HeaderUtils.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/HeaderUtils.java
@@ -27,12 +27,12 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.core.AbstractMultivaluedMap;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.ext.RuntimeDelegate;
-import javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
+import jakarta.ws.rs.core.AbstractMultivaluedMap;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
 
 import org.glassfish.jersey.internal.RuntimeDelegateDecorator;
 import org.glassfish.jersey.internal.LocalizationMessages;
@@ -246,8 +246,8 @@
      * {@code ','}).
      *
      * Each single header value is converted to String using a
-     * {@link javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if one is available
-     * via {@link javax.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
+     * {@link jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if one is available
+     * via {@link jakarta.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
      * for the header value class or using its {@code toString()} method if a header
      * delegate is not available.
      *
@@ -277,8 +277,8 @@
     /**
      * Compares two snapshots of headers from jersey {@code ClientRequest} and logs {@code WARNING} in case of difference.
      *
-     * Current container implementations does not support header modification in {@link javax.ws.rs.ext.WriterInterceptor}
-     * and {@link javax.ws.rs.ext.MessageBodyWriter}. The method checks there are some newly added headers
+     * Current container implementations does not support header modification in {@link jakarta.ws.rs.ext.WriterInterceptor}
+     * and {@link jakarta.ws.rs.ext.MessageBodyWriter}. The method checks there are some newly added headers
      * (probably by WI or MBW) and logs {@code WARNING} message about it.
      *
      * @param headersSnapshot first immutable snapshot of headers
@@ -394,8 +394,8 @@
     /**
      * Compares two snapshots of headers from jersey {@code ClientRequest} and logs {@code WARNING} in case of difference.
      *
-     * Current container implementations does not support header modification in {@link javax.ws.rs.ext.WriterInterceptor}
-     * and {@link javax.ws.rs.ext.MessageBodyWriter}. The method checks there are some newly added headers
+     * Current container implementations does not support header modification in {@link jakarta.ws.rs.ext.WriterInterceptor}
+     * and {@link jakarta.ws.rs.ext.MessageBodyWriter}. The method checks there are some newly added headers
      * (probably by WI or MBW) and logs {@code WARNING} message about it.
      *
      * @param headersSnapshot first immutable snapshot of headers
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/HeaderValueException.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/HeaderValueException.java
index bc1cb67..75109c1 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/HeaderValueException.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/HeaderValueException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 /**
  * {@link ProcessingException Processing exception} indicating that an attempt to
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/HttpHeaderReader.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/HttpHeaderReader.java
index a2f9eeb..fe5a249 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/HttpHeaderReader.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/HttpHeaderReader.java
@@ -29,9 +29,9 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.NewCookie;
 import org.glassfish.jersey.internal.util.collection.LRU;
 
 /**
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/InboundMessageContext.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/InboundMessageContext.java
index a9c6dc1..8f31f74 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/InboundMessageContext.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/InboundMessageContext.java
@@ -23,39 +23,30 @@
 import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
-import java.net.URI;
 import java.text.ParseException;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.StringTokenizer;
 import java.util.function.Function;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ReaderInterceptor;
 
-import javax.ws.rs.ext.RuntimeDelegate;
 import javax.xml.transform.Source;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.PropertiesDelegate;
-import org.glassfish.jersey.internal.RuntimeDelegateDecorator;
 import org.glassfish.jersey.internal.util.collection.GuardianStringKeyMultivaluedMap;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
 import org.glassfish.jersey.internal.util.collection.Value;
@@ -160,8 +151,8 @@
      *
      * @param configuration the related client/server side {@link Configuration}. If {@code null},
      *                      the default behaviour is expected.
-     * @param translateNce  if {@code true}, the {@link javax.ws.rs.core.NoContentException} thrown by a
-     *                      selected message body reader will be translated into a {@link javax.ws.rs.BadRequestException}
+     * @param translateNce  if {@code true}, the {@link jakarta.ws.rs.core.NoContentException} thrown by a
+     *                      selected message body reader will be translated into a {@link jakarta.ws.rs.BadRequestException}
      *                      as required by JAX-RS specification on the server side.
      */
     public InboundMessageContext(Configuration configuration, boolean translateNce) {
@@ -189,8 +180,8 @@
     /**
      * Create new inbound message context.
      *
-     * @param translateNce  if {@code true}, the {@link javax.ws.rs.core.NoContentException} thrown by a
-     *                      selected message body reader will be translated into a {@link javax.ws.rs.BadRequestException}
+     * @param translateNce  if {@code true}, the {@link jakarta.ws.rs.core.NoContentException} thrown by a
+     *                      selected message body reader will be translated into a {@link jakarta.ws.rs.BadRequestException}
      *                      as required by JAX-RS specification on the server side.     *
      * @see #InboundMessageContext(Configuration)
      */
@@ -288,8 +279,8 @@
      * Get a message header as a single string value.
      * <p/>
      * Each single header value is converted to String using a
-     * {@link javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if one is available
-     * via {@link javax.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
+     * {@link jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if one is available
+     * via {@link jakarta.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
      * for the header value class or using its {@code toString} method  if a header
      * delegate is not available.
      *
@@ -694,7 +685,7 @@
      * Buffer the entity stream (if not empty).
      *
      * @return {@code true} if the entity input stream was successfully buffered.
-     * @throws javax.ws.rs.ProcessingException in case of an IO error.
+     * @throws jakarta.ws.rs.ProcessingException in case of an IO error.
      */
     public boolean bufferEntity() throws ProcessingException {
         entityContent.ensureNotClosed();
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/InputStreamProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/InputStreamProvider.java
index e3663a0..c07dcbf 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/InputStreamProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/InputStreamProvider.java
@@ -23,12 +23,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  *
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/InterceptorExecutor.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/InterceptorExecutor.java
index a3c6ff7..3040bf6 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/InterceptorExecutor.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/InterceptorExecutor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,10 +20,10 @@
 import java.lang.reflect.Type;
 import java.util.Collection;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.InterceptorContext;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.InterceptorContext;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.internal.PropertiesDelegate;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/JerseyLink.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/JerseyLink.java
index a27d248..a6a4707 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/JerseyLink.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/JerseyLink.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,18 +23,18 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.uri.UriTemplate;
 import org.glassfish.jersey.uri.internal.JerseyUriBuilder;
 
 /**
- * Jersey implementation of {@link javax.ws.rs.core.Link JAX-RS Link} contract.
+ * Jersey implementation of {@link jakarta.ws.rs.core.Link JAX-RS Link} contract.
  *
  * @author Marek Potociar
  */
-public final class JerseyLink extends javax.ws.rs.core.Link {
+public final class JerseyLink extends jakarta.ws.rs.core.Link {
     /**
      * Underlying builder for link's URI.
      */
@@ -45,9 +45,9 @@
     private final Map<String, String> params;
 
     /**
-     * Jersey implementation of {@link javax.ws.rs.core.Link.Builder JAX-RS Link.Builder} contract.
+     * Jersey implementation of {@link jakarta.ws.rs.core.Link.Builder JAX-RS Link.Builder} contract.
      */
-    public static class Builder implements javax.ws.rs.core.Link.Builder {
+    public static class Builder implements jakarta.ws.rs.core.Link.Builder {
         /**
          * Underlying builder for link's URI.
          */
@@ -62,7 +62,7 @@
         private Map<String, String> params = new HashMap<String, String>();
 
         @Override
-        public Builder link(javax.ws.rs.core.Link link) {
+        public Builder link(jakarta.ws.rs.core.Link link) {
             uriBuilder.uri(link.getUri());
             params.clear();
             params.putAll(link.getParams());
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/LinkProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/LinkProvider.java
index 91c6f54..0c453f6 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/LinkProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/LinkProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,9 +23,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.Tokenizer;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/LocaleProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/LocaleProvider.java
index 7aedca7..a20236b 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/LocaleProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/LocaleProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.text.ParseException;
 import java.util.Locale;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MatchingEntityTag.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MatchingEntityTag.java
index 1219ea1..9006ad0 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MatchingEntityTag.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MatchingEntityTag.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.EntityTag;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MediaTypeProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MediaTypeProvider.java
index bfd51b4..3351a2d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MediaTypeProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MediaTypeProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,9 +19,9 @@
 import java.text.ParseException;
 import java.util.Map;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
@@ -72,7 +72,7 @@
     }
 
     /**
-     * Create a new {@link javax.ws.rs.core.MediaType} instance from a header reader.
+     * Create a new {@link jakarta.ws.rs.core.MediaType} instance from a header reader.
      *
      * @param reader header reader.
      * @return new {@code MediaType} instance.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MediaTypes.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MediaTypes.java
index 1cfeb01..00a3947 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MediaTypes.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MediaTypes.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,9 +26,9 @@
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Common media types and functionality.
@@ -168,7 +168,7 @@
 
     /**
      * Determine if the two list of media types share a common
-     * {@link #typeEqual(javax.ws.rs.core.MediaType, javax.ws.rs.core.MediaType) type-equal}
+     * {@link #typeEqual(jakarta.ws.rs.core.MediaType, jakarta.ws.rs.core.MediaType) type-equal}
      * sub-list.
      *
      * @param ml1 first media type list.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyFactory.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyFactory.java
index f8d31a2..ab95eaf 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyFactory.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -43,17 +43,17 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import javax.xml.transform.Source;
 
@@ -317,7 +317,7 @@
 
     /**
      * {@link AbstractEntityProviderModel} comparator
-     * which works as it is described in JAX-RS 2.x specification.
+     * which works as it is described in JAX-RS 3.x specification.
      *
      * Pairs are sorted by distance from required type, media type and custom/provided (provided goes first).
      *
@@ -1122,7 +1122,7 @@
     }
 
     /**
-     * Safely invokes {@link javax.ws.rs.ext.MessageBodyWriter#isWriteable isWriteable} method on the supplied provider.
+     * Safely invokes {@link jakarta.ws.rs.ext.MessageBodyWriter#isWriteable isWriteable} method on the supplied provider.
      *
      * Any exceptions will be logged at finer level.
      *
@@ -1130,7 +1130,7 @@
      * @param type        the class of instance that is to be written.
      * @param genericType the type of instance to be written, obtained either
      *                    by reflection of a resource method return type or via inspection
-     *                    of the returned instance. {@link javax.ws.rs.core.GenericEntity}
+     *                    of the returned instance. {@link jakarta.ws.rs.core.GenericEntity}
      *                    provides a way to specify this information at runtime.
      * @param annotations an array of the annotations attached to the message entity instance.
      * @param mediaType   the media type of the HTTP entity.
@@ -1153,12 +1153,12 @@
     }
 
     /**
-     * Safely invokes {@link javax.ws.rs.ext.MessageBodyReader#isReadable isReadable} method on the supplied provider.
+     * Safely invokes {@link jakarta.ws.rs.ext.MessageBodyReader#isReadable isReadable} method on the supplied provider.
      *
      * Any exceptions will be logged at finer level.
      *
      * @param provider    message body reader on which the {@code isReadable} should be invoked.
-     *                    Safely invokes {@link javax.ws.rs.ext.MessageBodyReader#isReadable isReadable} method on the underlying
+     *                    Safely invokes {@link jakarta.ws.rs.ext.MessageBodyReader#isReadable isReadable} method on the underlying
      *                    provider.
      * @param type        the class of instance to be produced.
      * @param genericType the type of instance to be produced. E.g. if the
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyProcessingException.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyProcessingException.java
index 4166470..5efc936 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyProcessingException.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyProcessingException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 /**
  * Jersey exception signaling that error occurred during reading or writing message body (entity).
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyProviderNotFoundException.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyProviderNotFoundException.java
index 9dc6fba..27a0b00 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyProviderNotFoundException.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageBodyProviderNotFoundException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 /**
  * Jersey processing exception signaling that no appropriate MessageBodyReader or MessageBodyWriter was found.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageHeaderMethods.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageHeaderMethods.java
index d2d69b4..cd23505 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageHeaderMethods.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessageHeaderMethods.java
@@ -19,15 +19,15 @@
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.RuntimeDelegateDecorator;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 import java.net.URI;
 import java.text.ParseException;
 import java.util.Collections;
@@ -295,7 +295,7 @@
     }
 
     /**
-     * Convenience method that returns a {@link javax.ws.rs.core.Link.Builder Link.Builder}
+     * Convenience method that returns a {@link jakarta.ws.rs.core.Link.Builder Link.Builder}
      * for the relation.
      *
      * @param relation link relation.
@@ -329,7 +329,7 @@
     /**
      * Get any cookies that accompanied the message.
      *
-     * @return a read-only map of cookie name (String) to {@link javax.ws.rs.core.Cookie}.
+     * @return a read-only map of cookie name (String) to {@link jakarta.ws.rs.core.Cookie}.
      */
     public Map<String, Cookie> getRequestCookies() {
         @SuppressWarnings("unchecked")
@@ -350,7 +350,7 @@
     /**
      * Get any new cookies set on the message.
      *
-     * @return a read-only map of cookie name (String) to a {@link javax.ws.rs.core.NewCookie new cookie}.
+     * @return a read-only map of cookie name (String) to a {@link jakarta.ws.rs.core.NewCookie new cookie}.
      */
     public Map<String, NewCookie> getResponseCookies() {
         @SuppressWarnings("unchecked")
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessagingBinders.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessagingBinders.java
index 95bb518..fa1117a 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MessagingBinders.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MessagingBinders.java
@@ -26,11 +26,11 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.LocalizationMessages;
@@ -169,7 +169,7 @@
 
     private static final class EnabledProvidersBinder {
         private enum Provider {
-            DATASOURCE("javax.activation.DataSource"),
+            DATASOURCE("jakarta.activation.DataSource"),
             DOMSOURCE("javax.xml.transform.dom.DOMSource"),
             RENDEREDIMAGE("java.awt.image.RenderedImage"),
             SAXSOURCE("javax.xml.transform.sax.SAXSource"),
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/MsgTraceEvent.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/MsgTraceEvent.java
index b175a19..1705e31 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/MsgTraceEvent.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/MsgTraceEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,67 +24,67 @@
  */
 public enum MsgTraceEvent implements TracingLogger.Event {
     /**
-     * {@link javax.ws.rs.ext.ReaderInterceptor} invocation before a call to {@code context.proceed()}.
+     * {@link jakarta.ws.rs.ext.ReaderInterceptor} invocation before a call to {@code context.proceed()}.
      */
     RI_BEFORE(TracingLogger.Level.TRACE, "RI", "%s BEFORE context.proceed()"),
     /**
-     * {@link javax.ws.rs.ext.ReaderInterceptor} invocation after a call to {@code context.proceed()}.
+     * {@link jakarta.ws.rs.ext.ReaderInterceptor} invocation after a call to {@code context.proceed()}.
      */
     RI_AFTER(TracingLogger.Level.TRACE, "RI", "%s AFTER context.proceed()"),
     /**
-     * {@link javax.ws.rs.ext.ReaderInterceptor} invocation summary.
+     * {@link jakarta.ws.rs.ext.ReaderInterceptor} invocation summary.
      */
     RI_SUMMARY(TracingLogger.Level.SUMMARY, "RI", "ReadFrom summary: %s interceptors"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyReader} lookup.
+     * {@link jakarta.ws.rs.ext.MessageBodyReader} lookup.
      */
     MBR_FIND(TracingLogger.Level.TRACE, "MBR", "Find MBR for type=[%s] genericType=[%s] mediaType=[%s] annotations=%s"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyReader#isReadable} returned {@code false}.
+     * {@link jakarta.ws.rs.ext.MessageBodyReader#isReadable} returned {@code false}.
      */
     MBR_NOT_READABLE(TracingLogger.Level.VERBOSE, "MBR", "%s is NOT readable"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyReader} selected.
+     * {@link jakarta.ws.rs.ext.MessageBodyReader} selected.
      */
     MBR_SELECTED(TracingLogger.Level.TRACE, "MBR", "%s IS readable"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyReader} skipped as higher-priority reader has been selected already.
+     * {@link jakarta.ws.rs.ext.MessageBodyReader} skipped as higher-priority reader has been selected already.
      */
     MBR_SKIPPED(TracingLogger.Level.VERBOSE, "MBR", "%s is skipped"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyReader#readFrom} invoked.
+     * {@link jakarta.ws.rs.ext.MessageBodyReader#readFrom} invoked.
      */
     MBR_READ_FROM(TracingLogger.Level.TRACE, "MBR", "ReadFrom by %s"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyWriter} lookup.
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter} lookup.
      */
     MBW_FIND(TracingLogger.Level.TRACE, "MBW", "Find MBW for type=[%s] genericType=[%s] mediaType=[%s] annotations=%s"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyWriter#isWriteable} returned {@code false}.
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter#isWriteable} returned {@code false}.
      */
     MBW_NOT_WRITEABLE(TracingLogger.Level.VERBOSE, "MBW", "%s is NOT writeable"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyWriter#isWriteable} selected.
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter#isWriteable} selected.
      */
     MBW_SELECTED(TracingLogger.Level.TRACE, "MBW", "%s IS writeable"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyWriter} skipped as higher-priority writer has been selected already.
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter} skipped as higher-priority writer has been selected already.
      */
     MBW_SKIPPED(TracingLogger.Level.VERBOSE, "MBW", "%s is skipped"),
     /**
-     * {@link javax.ws.rs.ext.MessageBodyWriter#writeTo} invoked.
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter#writeTo} invoked.
      */
     MBW_WRITE_TO(TracingLogger.Level.TRACE, "MBW", "WriteTo by %s"),
     /**
-     * {@link javax.ws.rs.ext.WriterInterceptor} invocation before a call to {@code context.proceed()}.
+     * {@link jakarta.ws.rs.ext.WriterInterceptor} invocation before a call to {@code context.proceed()}.
      */
     WI_BEFORE(TracingLogger.Level.TRACE, "WI", "%s BEFORE context.proceed()"),
     /**
-     * {@link javax.ws.rs.ext.WriterInterceptor} invocation after a call to {@code context.proceed()}.
+     * {@link jakarta.ws.rs.ext.WriterInterceptor} invocation after a call to {@code context.proceed()}.
      */
     WI_AFTER(TracingLogger.Level.TRACE, "WI", "%s AFTER context.proceed()"),
     /**
-     * {@link javax.ws.rs.ext.ReaderInterceptor} invocation summary.
+     * {@link jakarta.ws.rs.ext.ReaderInterceptor} invocation summary.
      */
     WI_SUMMARY(TracingLogger.Level.SUMMARY, "WI", "WriteTo summary: %s interceptors");
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/NewCookieProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/NewCookieProvider.java
index fcfa203..9c53c74 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/NewCookieProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/NewCookieProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.NewCookie;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/OutboundJaxrsResponse.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/OutboundJaxrsResponse.java
index f3fd445..4db8b21 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/OutboundJaxrsResponse.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/OutboundJaxrsResponse.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,18 +30,18 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 
@@ -53,7 +53,7 @@
  *
  * @author Marek Potociar
  */
-public class OutboundJaxrsResponse extends javax.ws.rs.core.Response {
+public class OutboundJaxrsResponse extends jakarta.ws.rs.core.Response {
 
     private final OutboundMessageContext context;
     private final StatusType status;
@@ -375,7 +375,7 @@
         }
 
         @Override
-        public javax.ws.rs.core.Response build() {
+        public jakarta.ws.rs.core.Response build() {
             StatusType st = status;
             if (st == null) {
                 st = context.hasEntity() ? Status.OK : Status.NO_CONTENT;
@@ -390,7 +390,7 @@
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder status(StatusType status) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder status(StatusType status) {
             if (status == null) {
                 throw new IllegalArgumentException("Response status must not be 'null'");
             }
@@ -428,13 +428,13 @@
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder status(int code) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder status(int code) {
             this.status = Statuses.from(code);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder entity(Object entity) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder entity(Object entity) {
             context.setEntity(entity);
             return this;
         }
@@ -446,18 +446,18 @@
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder type(MediaType type) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder type(MediaType type) {
             context.setMediaType(type);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder type(String type) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder type(String type) {
             return type(type == null ? null : MediaType.valueOf(type));
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder variant(Variant variant) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder variant(Variant variant) {
             if (variant == null) {
                 type((MediaType) null);
                 language((String) null);
@@ -473,7 +473,7 @@
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder variants(List<Variant> variants) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder variants(List<Variant> variants) {
             if (variants == null) {
                 header(HttpHeaders.VARY, null);
                 return this;
@@ -531,19 +531,19 @@
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder language(String language) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder language(String language) {
             headerSingle(HttpHeaders.CONTENT_LANGUAGE, language);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder language(Locale language) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder language(Locale language) {
             headerSingle(HttpHeaders.CONTENT_LANGUAGE, language);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder location(URI location) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder location(URI location) {
             URI locationUri = location;
             if (location != null && !location.isAbsolute()) {
                 URI baseUri = getBaseUri();
@@ -556,48 +556,48 @@
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder contentLocation(URI location) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder contentLocation(URI location) {
             headerSingle(HttpHeaders.CONTENT_LOCATION, location);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder encoding(String encoding) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder encoding(String encoding) {
             headerSingle(HttpHeaders.CONTENT_ENCODING, encoding);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder tag(EntityTag tag) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder tag(EntityTag tag) {
             headerSingle(HttpHeaders.ETAG, tag);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder tag(String tag) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder tag(String tag) {
             return tag(tag == null ? null : new EntityTag(tag));
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder lastModified(Date lastModified) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder lastModified(Date lastModified) {
             headerSingle(HttpHeaders.LAST_MODIFIED, lastModified);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder cacheControl(CacheControl cacheControl) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder cacheControl(CacheControl cacheControl) {
             headerSingle(HttpHeaders.CACHE_CONTROL, cacheControl);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder expires(Date expires) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder expires(Date expires) {
             headerSingle(HttpHeaders.EXPIRES, expires);
             return this;
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder cookie(NewCookie... cookies) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder cookie(NewCookie... cookies) {
             if (cookies != null) {
                 for (NewCookie cookie : cookies) {
                     header(HttpHeaders.SET_COOKIE, cookie);
@@ -609,15 +609,15 @@
         }
 
         @Override
-        public javax.ws.rs.core.Response.ResponseBuilder header(String name, Object value) {
+        public jakarta.ws.rs.core.Response.ResponseBuilder header(String name, Object value) {
             return header(name, value, false);
         }
 
-        private javax.ws.rs.core.Response.ResponseBuilder headerSingle(String name, Object value) {
+        private jakarta.ws.rs.core.Response.ResponseBuilder headerSingle(String name, Object value) {
             return header(name, value, true);
         }
 
-        private javax.ws.rs.core.Response.ResponseBuilder header(String name, Object value, boolean single) {
+        private jakarta.ws.rs.core.Response.ResponseBuilder header(String name, Object value, boolean single) {
             if (value != null) {
                 if (single) {
                     context.getHeaders().putSingle(name, value);
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/OutboundMessageContext.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/OutboundMessageContext.java
index dd5816f..c69f173 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/OutboundMessageContext.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/OutboundMessageContext.java
@@ -20,38 +20,27 @@
 import java.io.OutputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
-import java.net.URI;
-import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
-import java.util.Map;
 import java.util.Set;
 import java.util.function.Function;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.RuntimeDelegateDecorator;
-import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 import org.glassfish.jersey.internal.util.collection.GuardianStringKeyMultivaluedMap;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
@@ -87,14 +76,14 @@
     public static interface StreamProvider {
         /**
          * Get the output stream. This method will be called after all the
-         * {@link javax.ws.rs.ext.WriterInterceptor writer interceptors} are called and written entity is buffered
+         * {@link jakarta.ws.rs.ext.WriterInterceptor writer interceptors} are called and written entity is buffered
          * into the buffer or the buffer exceeds.
          *
          * @param contentLength the size of the buffered entity or -1 if the entity exceeded the maximum buffer
          *                      size or if the buffering is disabled.
          * @return the adapted output stream into which the serialized entity should be written. May return null
          * which will cause ignoring the written entity (in that case the entity will
-         * still be written by {@link javax.ws.rs.ext.MessageBodyWriter message body writers}
+         * still be written by {@link jakarta.ws.rs.ext.MessageBodyWriter message body writers}
          * but the output will be ignored).
          * @throws java.io.IOException in case of an IO error.
          */
@@ -173,8 +162,8 @@
      * Get a message header as a single string value.
      * <p>
      * Each single header value is converted to String using a
-     * {@link javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if one is available
-     * via {@link javax.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
+     * {@link jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if one is available
+     * via {@link jakarta.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
      * for the header value class or using its {@code toString} method  if a header
      * delegate is not available.
      *
@@ -375,7 +364,7 @@
      * Set a new message message entity.
      *
      * @param entity entity object.
-     * @see javax.ws.rs.ext.MessageBodyWriter
+     * @see jakarta.ws.rs.ext.MessageBodyWriter
      */
     public void setEntity(Object entity) {
         setEntity(entity, ReflectionHelper.genericTypeFor(entity));
@@ -386,7 +375,7 @@
      *
      * @param entity      entity object.
      * @param annotations annotations attached to the entity.
-     * @see javax.ws.rs.ext.MessageBodyWriter
+     * @see jakarta.ws.rs.ext.MessageBodyWriter
      */
     public void setEntity(Object entity, Annotation[] annotations) {
         setEntity(entity, ReflectionHelper.genericTypeFor(entity));
@@ -398,7 +387,7 @@
      *
      * @param entity entity object.
      * @param type   entity generic type information.
-     * @see javax.ws.rs.ext.MessageBodyWriter
+     * @see jakarta.ws.rs.ext.MessageBodyWriter
      */
     private void setEntity(Object entity, GenericType<?> type) {
         if (entity instanceof GenericEntity) {
@@ -416,7 +405,7 @@
      * @param entity      entity object.
      * @param type        declared entity class.
      * @param annotations annotations attached to the entity.
-     * @see javax.ws.rs.ext.MessageBodyWriter
+     * @see jakarta.ws.rs.ext.MessageBodyWriter
      */
     public void setEntity(Object entity, Type type, Annotation[] annotations) {
         setEntity(entity, new GenericType(type));
@@ -429,7 +418,7 @@
      * @param entity      entity object.
      * @param annotations annotations attached to the entity.
      * @param mediaType   entity media type.
-     * @see javax.ws.rs.ext.MessageBodyWriter
+     * @see jakarta.ws.rs.ext.MessageBodyWriter
      */
     public void setEntity(Object entity, Annotation[] annotations, MediaType mediaType) {
         setEntity(entity, annotations);
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/QualitySourceMediaType.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/QualitySourceMediaType.java
index 261a248..ec06ce3 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/QualitySourceMediaType.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/QualitySourceMediaType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.Comparator;
 import java.util.Map;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * A quality source media type.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderInterceptorExecutor.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderInterceptorExecutor.java
index 5263fff..91738c1 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderInterceptorExecutor.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderInterceptorExecutor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,16 +27,16 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.PropertiesDelegate;
@@ -84,9 +84,9 @@
      * @param workers            {@link org.glassfish.jersey.message.MessageBodyWorkers Message body workers}.
      * @param readerInterceptors Reader interceptor that are to be used to intercept the reading of an entity.
      *                           The interceptors will be executed in the same order as given in this parameter.
-     * @param translateNce       if {@code true}, the {@link javax.ws.rs.core.NoContentException} thrown by a selected message
+     * @param translateNce       if {@code true}, the {@link jakarta.ws.rs.core.NoContentException} thrown by a selected message
      *                           body
-     *                           reader will be translated into a {@link javax.ws.rs.BadRequestException} as required by
+     *                           reader will be translated into a {@link jakarta.ws.rs.BadRequestException} as required by
      * @param injectionManager   injection manager.
      */
     ReaderInterceptorExecutor(final Class<?> rawType, final Type type,
@@ -245,7 +245,7 @@
     }
 
     /**
-     * {@link javax.ws.rs.ext.MessageBodyReader}s should not close the given {@link java.io.InputStream stream}. This input
+     * {@link jakarta.ws.rs.ext.MessageBodyReader}s should not close the given {@link java.io.InputStream stream}. This input
      * stream makes sure that the stream is not closed even if MBR tries to do it.
      */
     private static class UnCloseableInputStream extends InputStream {
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderProvider.java
index be0a9dc..3f87843 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderProvider.java
@@ -27,12 +27,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderWriter.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderWriter.java
index 4c66387..018c9f0 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderWriter.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/ReaderWriter.java
@@ -32,8 +32,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/RenderedImageProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/RenderedImageProvider.java
index 7a53ea2..86a0373 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/RenderedImageProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/RenderedImageProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,16 +25,16 @@
 import java.lang.reflect.Type;
 import java.util.Iterator;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import javax.imageio.ImageIO;
 import javax.imageio.ImageReader;
 import javax.imageio.ImageWriter;
 import javax.imageio.stream.ImageInputStream;
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * Provider for marshalling/un-marshalling of graphical image data represented as
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/SourceProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/SourceProvider.java
index 24de447..dd7bbf7 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/SourceProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/SourceProvider.java
@@ -22,19 +22,19 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParserFactory;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/Statuses.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/Statuses.java
index d72861d..afd64bc 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/Statuses.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/Statuses.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status.Family;
-import javax.ws.rs.core.Response.StatusType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status.Family;
+import jakarta.ws.rs.core.Response.StatusType;
 
 /**
  * Factory for producing custom JAX-RS {@link StatusType response status type}
@@ -97,7 +97,7 @@
     /**
      * Create a new status type instance.
      * <p>
-     * For standard status codes listed in {@link javax.ws.rs.core.Response.Status} enum, the default reason phrase
+     * For standard status codes listed in {@link jakarta.ws.rs.core.Response.Status} enum, the default reason phrase
      * is used. For any other status code an empty string is used as a reason phrase.
      * </p>
      *
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/StreamingOutputProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/StreamingOutputProvider.java
index 4d56506..23a5a36 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/StreamingOutputProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/StreamingOutputProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,13 +21,13 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.StreamingOutput;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * Message body writer that supports {@link StreamingOutput streaming output} marshalling.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/StringHeaderProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/StringHeaderProvider.java
index 49dc845..823541d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/StringHeaderProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/StringHeaderProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,7 +17,7 @@
 package org.glassfish.jersey.message.internal;
 
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/StringMessageProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/StringMessageProvider.java
index 1a6b4f4..8edb39c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/StringMessageProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/StringMessageProvider.java
@@ -22,12 +22,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  *
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/TracingLogger.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/TracingLogger.java
index 8454f26..b1ed54f 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/TracingLogger.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/TracingLogger.java
@@ -19,9 +19,9 @@
 import java.lang.reflect.Method;
 import java.util.logging.Logger;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.JerseyPriorities;
 import org.glassfish.jersey.internal.PropertiesDelegate;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/UriProvider.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/UriProvider.java
index 2feac33..de6b0a4 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/UriProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/UriProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.spi.HeaderDelegateProvider;
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/VariantListBuilder.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/VariantListBuilder.java
index b0e81e1..378a2e1 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/VariantListBuilder.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/VariantListBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,8 +21,8 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Variant;
 
 /**
  * An implementation of {@link VariantListBuilder}.
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/VariantSelector.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/VariantSelector.java
index 292c3ea..3301e8d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/VariantSelector.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/VariantSelector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,9 +25,9 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.internal.util.collection.Ref;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/message/internal/WriterInterceptorExecutor.java b/core-common/src/main/java/org/glassfish/jersey/message/internal/WriterInterceptorExecutor.java
index 29236d0..328ddf8 100644
--- a/core-common/src/main/java/org/glassfish/jersey/message/internal/WriterInterceptorExecutor.java
+++ b/core-common/src/main/java/org/glassfish/jersey/message/internal/WriterInterceptorExecutor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -28,13 +28,13 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.PropertiesDelegate;
@@ -248,7 +248,7 @@
     }
 
     /**
-     * {@link javax.ws.rs.ext.MessageBodyWriter}s should not close the given {@link java.io.OutputStream stream}. This output
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter}s should not close the given {@link java.io.OutputStream stream}. This output
      * stream makes sure that the stream is not closed even if MBW tries to do it.
      */
     private static class UnCloseableOutputStream extends OutputStream {
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/AnnotatedMethod.java b/core-common/src/main/java/org/glassfish/jersey/model/AnnotatedMethod.java
index f612fc5..1551b97 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/AnnotatedMethod.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/AnnotatedMethod.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,19 +18,19 @@
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.MatrixParam;
-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.Context;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.MatrixParam;
+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.Context;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.AnnotatedElement;
 import java.lang.reflect.Method;
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/ContractProvider.java b/core-common/src/main/java/org/glassfish/jersey/model/ContractProvider.java
index d690f1f..4fdcb3c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/ContractProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/ContractProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * Jersey contract provider model.
@@ -298,7 +298,7 @@
      * @param contract provider contract.
      * @return provider priority.
      *
-     * @see javax.annotation.Priority
+     * @see jakarta.annotation.Priority
      */
     public int getPriority(final Class<?> contract) {
         if (contracts.containsKey(contract)) {
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/NameBound.java b/core-common/src/main/java/org/glassfish/jersey/model/NameBound.java
index 2bfa754..6a9f59d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/NameBound.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/NameBound.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
  * the name bindings attached to it.
  *
  * @author Martin Matula
- * @see javax.ws.rs.NameBinding
+ * @see jakarta.ws.rs.NameBinding
  */
 public interface NameBound {
     /**
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/Parameter.java b/core-common/src/main/java/org/glassfish/jersey/model/Parameter.java
index 126621a..4f7af42 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/Parameter.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/Parameter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,17 +22,17 @@
 import org.glassfish.jersey.internal.util.collection.ClassTypePair;
 import org.glassfish.jersey.model.internal.spi.ParameterServiceProvider;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.AnnotatedElement;
 import java.lang.reflect.Constructor;
@@ -47,7 +47,6 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 public class Parameter implements AnnotatedElement {
     private static final Logger LOGGER = Logger.getLogger(Parameter.class.getName());
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/internal/CommonConfig.java b/core-common/src/main/java/org/glassfish/jersey/model/internal/CommonConfig.java
index c53fb81..1afa8c1 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/internal/CommonConfig.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/internal/CommonConfig.java
@@ -35,12 +35,14 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.ExtendedConfig;
 import org.glassfish.jersey.JerseyPriorities;
@@ -57,7 +59,7 @@
 import org.glassfish.jersey.process.Inflector;
 
 /**
- * Common immutable {@link javax.ws.rs.core.Configuration} implementation for
+ * Common immutable {@link jakarta.ws.rs.core.Configuration} implementation for
  * server and client.
  *
  * @author Michal Gajdos
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/internal/ComponentBag.java b/core-common/src/main/java/org/glassfish/jersey/model/internal/ComponentBag.java
index eeac2e8..08f321c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/internal/ComponentBag.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/internal/ComponentBag.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,11 +30,11 @@
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.core.Feature;
 
-import javax.annotation.Priority;
-import javax.inject.Scope;
+import jakarta.annotation.Priority;
+import jakarta.inject.Scope;
 
 import org.glassfish.jersey.Severity;
 import org.glassfish.jersey.internal.Errors;
@@ -58,7 +58,7 @@
  * for the registered component type and stores it with the component registration.
  * <p>
  * The rules for managing components inside a component bag are derived from the
- * rules of JAX-RS {@link javax.ws.rs.core.Configurable} API. In short:
+ * rules of JAX-RS {@link jakarta.ws.rs.core.Configurable} API. In short:
  * <ul>
  * <li>The iteration order of registered components mirrors the registration order
  * of these components.</li>
@@ -73,7 +73,7 @@
 public class ComponentBag {
     /**
      * A filtering strategy that excludes all pure meta-provider models (i.e. models that only contain
-     * recognized meta-provider contracts - {@link javax.ws.rs.core.Feature} and/or {@link Binder} and/or external meta-provider
+     * recognized meta-provider contracts - {@link jakarta.ws.rs.core.Feature} and/or {@link Binder} and/or external meta-provider
      * from {@link org.glassfish.jersey.internal.inject.InjectionManager#isRegistrable(Class)}).
      * <p>
      * This filter predicate returns {@code false} for all {@link org.glassfish.jersey.model.ContractProvider contract provider models}
@@ -429,7 +429,7 @@
      *
      * @param componentClass  registered component class.
      * @param defaultPriority default component priority. If {@value ContractProvider#NO_PRIORITY},
-     *                        the value from the component class {@link javax.annotation.Priority} annotation will be used
+     *                        the value from the component class {@link jakarta.annotation.Priority} annotation will be used
      *                        (if any).
      * @param contractMap     map of contracts and their binding priorities. If {@code null}, the contracts will
      *                        gathered by introspecting the component class. Content of the contract map
@@ -478,7 +478,7 @@
      *
      * @param componentClass  component class to create contract provider model for.
      * @param defaultPriority default component priority. If {@value ContractProvider#NO_PRIORITY},
-     *                        the value from the component class {@link javax.annotation.Priority} annotation will be used
+     *                        the value from the component class {@link jakarta.annotation.Priority} annotation will be used
      *                        (if any).
      * @param contractMap     map of contracts and their binding priorities. If {@code null}, the contracts will
      *                        gathered by introspecting the component class. Content of the contract map
@@ -554,7 +554,7 @@
     }
 
     /**
-     * Get all registered component classes, including {@link javax.ws.rs.core.Feature features}
+     * Get all registered component classes, including {@link jakarta.ws.rs.core.Feature features}
      * and {@link Binder binders} meta-providers.
      *
      * @return all registered component classes.
@@ -564,7 +564,7 @@
     }
 
     /**
-     * Get all registered component instances, including {@link javax.ws.rs.core.Feature features}
+     * Get all registered component instances, including {@link jakarta.ws.rs.core.Feature features}
      * and {@link Binder binders} meta-providers.
      *
      * @return all registered component instances.
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/internal/FeatureContextWrapper.java b/core-common/src/main/java/org/glassfish/jersey/model/internal/FeatureContextWrapper.java
index bf49763..2a9078d 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/internal/FeatureContextWrapper.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/internal/FeatureContextWrapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,14 +18,14 @@
 
 import java.util.Map;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.InjectionManagerSupplier;
 
 /**
- * Wrapper of {@link javax.ws.rs.core.FeatureContext} that can supply instance of
+ * Wrapper of {@link jakarta.ws.rs.core.FeatureContext} that can supply instance of
  * {@link InjectionManager injection manager}.
  *
  * @author Miroslav Fuksa
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/internal/ImmutableCommonConfig.java b/core-common/src/main/java/org/glassfish/jersey/model/internal/ImmutableCommonConfig.java
index 287f8b8..8e7196c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/internal/ImmutableCommonConfig.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/internal/ImmutableCommonConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.Map;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/internal/ManagedObjectsFinalizer.java b/core-common/src/main/java/org/glassfish/jersey/model/internal/ManagedObjectsFinalizer.java
index 3c7f17a..428ad60 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/internal/ManagedObjectsFinalizer.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/internal/ManagedObjectsFinalizer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.annotation.PreDestroy;
-import javax.inject.Singleton;
+import jakarta.annotation.PreDestroy;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
@@ -28,7 +28,7 @@
  * Invokes {@link PreDestroy} methods on all registered objects, when the injection manager is shut down.
  * <p/>
  * Some objects managed by Jersey are created using {@link InjectionManager#createAndInitialize}. This means
- * that such objects are created, dependencies injected and methods annotated with {@link javax.annotation.PostConstruct}
+ * that such objects are created, dependencies injected and methods annotated with {@link jakarta.annotation.PostConstruct}
  * invoked. Therefore methods annotated with {@link PreDestroy} should be invoked on such objects too, when they are destroyed.
  * <p/>
  * This service invokes {@link PreDestroy} on all registered objects when {@link InjectionManager#shutdown()} is invoked
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/internal/RankedComparator.java b/core-common/src/main/java/org/glassfish/jersey/model/internal/RankedComparator.java
index 30c611d..b629b6c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/internal/RankedComparator.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/internal/RankedComparator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 
 /**
  * Comparator used to sort types by their priorities defined by theirs binding priority set during the configuration phase
- * ({@link javax.ws.rs.core.Configuration}) in {@link RankedProvider ranked provider}.
+ * ({@link jakarta.ws.rs.core.Configuration}) in {@link RankedProvider ranked provider}.
  *
  * @param <T> Type of the elements to be sorted.
  *
diff --git a/core-common/src/main/java/org/glassfish/jersey/model/internal/RankedProvider.java b/core-common/src/main/java/org/glassfish/jersey/model/internal/RankedProvider.java
index 417228a..cc255f2 100644
--- a/core-common/src/main/java/org/glassfish/jersey/model/internal/RankedProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/model/internal/RankedProvider.java
@@ -19,7 +19,9 @@
 import java.lang.reflect.Type;
 import java.util.Set;
 
-import javax.ws.rs.Priorities;
+import jakarta.ws.rs.Priorities;
+
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.JerseyPriorities;
 import org.glassfish.jersey.model.ContractProvider;
@@ -37,8 +39,8 @@
     private final Set<Type> contractTypes;
 
     /**
-     * Creates a new {@code RankedProvider} instance. The rank of the provider is obtained from the {@link javax.annotation.Priority}
-     * annotation or is set to {@value javax.ws.rs.Priorities#USER} if the annotation is not present.
+     * Creates a new {@code RankedProvider} instance. The rank of the provider is obtained from the {@link jakarta.annotation.Priority}
+     * annotation or is set to {@value jakarta.ws.rs.Priorities#USER} if the annotation is not present.
      *
      * @param provider service provider to create a {@code RankedProvider} instance from.
      */
diff --git a/core-common/src/main/java/org/glassfish/jersey/process/internal/ExecutorProviders.java b/core-common/src/main/java/org/glassfish/jersey/process/internal/ExecutorProviders.java
index 72a2c5e..2a71beb 100644
--- a/core-common/src/main/java/org/glassfish/jersey/process/internal/ExecutorProviders.java
+++ b/core-common/src/main/java/org/glassfish/jersey/process/internal/ExecutorProviders.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -28,9 +28,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Named;
-import javax.inject.Qualifier;
-import javax.inject.Singleton;
+import jakarta.inject.Named;
+import jakarta.inject.Qualifier;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.inject.Bindings;
diff --git a/core-common/src/main/java/org/glassfish/jersey/process/internal/RequestScoped.java b/core-common/src/main/java/org/glassfish/jersey/process/internal/RequestScoped.java
index 8a2b5ea..f0b297e 100644
--- a/core-common/src/main/java/org/glassfish/jersey/process/internal/RequestScoped.java
+++ b/core-common/src/main/java/org/glassfish/jersey/process/internal/RequestScoped.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import static java.lang.annotation.ElementType.TYPE;
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
-import javax.inject.Scope;
+import jakarta.inject.Scope;
 
 /**
  * Request scope binding annotation.
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/ContentEncoder.java b/core-common/src/main/java/org/glassfish/jersey/spi/ContentEncoder.java
index aee2bee..4ecb1f6 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/ContentEncoder.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/ContentEncoder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,15 +24,15 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 /**
  * Standard contract for plugging in content encoding support. Provides a standard way of implementing encoding
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/ContextResolvers.java b/core-common/src/main/java/org/glassfish/jersey/spi/ContextResolvers.java
index 0163fcc..598c8fd 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/ContextResolvers.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/ContextResolvers.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.lang.reflect.Type;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
 
 /**
  * An injectable interface providing look-up for {@link ContextResolver ContextResolver&lt;T&gt;}
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/ExceptionMappers.java b/core-common/src/main/java/org/glassfish/jersey/spi/ExceptionMappers.java
index a19415c..7fb625b 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/ExceptionMappers.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/ExceptionMappers.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.spi;
 
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * Provides lookup of {@link ExceptionMapper} instances that can be used
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/ExecutorServiceProvider.java b/core-common/src/main/java/org/glassfish/jersey/spi/ExecutorServiceProvider.java
index 9cda634..d90c47a 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/ExecutorServiceProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/ExecutorServiceProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -37,7 +37,7 @@
  * it may not be desirable to shut down the released executor service in the {@link #dispose} method. Instead, to perform the
  * eventual shut-down procedure, the provider may either rely on an explicit invocation of it's specific clean-up method.
  * Since all Jersey providers operate in a <em>container</em> environment, a good clean-up strategy for a shared executor
- * service provider implementation is to expose a {@link javax.annotation.PreDestroy &#64;PreDestroy}-annotated method
+ * service provider implementation is to expose a {@link jakarta.annotation.PreDestroy &#64;PreDestroy}-annotated method
  * that will be invoked for all instances managed by the container, before the container shuts down.
  * </p>
  * <p>
@@ -47,8 +47,8 @@
  * </p>
  * <p>
  * Jersey runtime expects that a concrete executor service provider implementation class is annotated with a
- * {@link javax.inject.Qualifier qualifier} annotation. This qualifier is then used to createAndInitialize a qualified injection point
- * for injecting the executor service instance provided by the annotated provider. {@link javax.inject.Named Named} providers
+ * {@link jakarta.inject.Qualifier qualifier} annotation. This qualifier is then used to createAndInitialize a qualified injection point
+ * for injecting the executor service instance provided by the annotated provider. {@link jakarta.inject.Named Named} providers
  * are also supported. For example:
  * </p>
  * <pre>
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/ExtendedExceptionMapper.java b/core-common/src/main/java/org/glassfish/jersey/spi/ExtendedExceptionMapper.java
index fabebe3..e8878ae 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/ExtendedExceptionMapper.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/ExtendedExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.spi;
 
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * Extension of a {@link ExceptionMapper exception mapper interface}. The exception mapping
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/HeaderDelegateProvider.java b/core-common/src/main/java/org/glassfish/jersey/spi/HeaderDelegateProvider.java
index daa18c3..0e0c6e5 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/HeaderDelegateProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/HeaderDelegateProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.spi;
 
-import javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
+import jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
 
 /**
  * A provider that supports the conversion of an HTTP header, of type T, to and
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/ScheduledExecutorServiceProvider.java b/core-common/src/main/java/org/glassfish/jersey/spi/ScheduledExecutorServiceProvider.java
index fc79865..4dce650 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/ScheduledExecutorServiceProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/ScheduledExecutorServiceProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -31,8 +31,8 @@
  * models and policies specific to each particular environment.
  * </p>
  * Jersey runtime expects that a concrete scheduled executor service provider implementation class is annotated with a
- * {@link javax.inject.Qualifier qualifier} annotation. This qualifier is then used to createAndInitialize a qualified injection point
- * for injecting the scheduled executor service instance provided by the annotated provider. {@link javax.inject.Named Named}
+ * {@link jakarta.inject.Qualifier qualifier} annotation. This qualifier is then used to createAndInitialize a qualified injection point
+ * for injecting the scheduled executor service instance provided by the annotated provider. {@link jakarta.inject.Named Named}
  * providers are also supported. For example:
  * </p>
  * <pre>
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/ScheduledThreadPoolExecutorProvider.java b/core-common/src/main/java/org/glassfish/jersey/spi/ScheduledThreadPoolExecutorProvider.java
index 486226c..e805b23 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/ScheduledThreadPoolExecutorProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/ScheduledThreadPoolExecutorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.ThreadFactory;
 
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PreDestroy;
 
 /**
  * Default implementation of the Jersey {@link org.glassfish.jersey.spi.ScheduledExecutorServiceProvider
@@ -41,7 +41,7 @@
  * it may not be desirable to shut down the released executor service in the {@link #dispose} method. Instead, to perform the
  * eventual shut-down procedure, the provider may either rely on an explicit invocation of it's specific clean-up method.
  * Since all Jersey providers operate in a <em>container</em> environment, a good clean-up strategy for a shared executor
- * service provider implementation is to expose a {@link javax.annotation.PreDestroy &#64;PreDestroy}-annotated method
+ * service provider implementation is to expose a {@link jakarta.annotation.PreDestroy &#64;PreDestroy}-annotated method
  * that will be invoked for all instances managed by the container, before the container shuts down.
  * </p>
  * <p>
diff --git a/core-common/src/main/java/org/glassfish/jersey/spi/ThreadPoolExecutorProvider.java b/core-common/src/main/java/org/glassfish/jersey/spi/ThreadPoolExecutorProvider.java
index dbcec55..09e0770 100644
--- a/core-common/src/main/java/org/glassfish/jersey/spi/ThreadPoolExecutorProvider.java
+++ b/core-common/src/main/java/org/glassfish/jersey/spi/ThreadPoolExecutorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PreDestroy;
 
 /**
  * Default implementation of the Jersey {@link org.glassfish.jersey.spi.ExecutorServiceProvider executor service provider SPI}.
diff --git a/core-common/src/main/java/org/glassfish/jersey/uri/UriComponent.java b/core-common/src/main/java/org/glassfish/jersey/uri/UriComponent.java
index 3f05161..523614c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/uri/UriComponent.java
+++ b/core-common/src/main/java/org/glassfish/jersey/uri/UriComponent.java
@@ -28,8 +28,8 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.PathSegment;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.collection.MultivaluedStringMap;
diff --git a/core-common/src/main/java/org/glassfish/jersey/uri/internal/JerseyUriBuilder.java b/core-common/src/main/java/org/glassfish/jersey/uri/internal/JerseyUriBuilder.java
index 4bd805a..eba649c 100644
--- a/core-common/src/main/java/org/glassfish/jersey/uri/internal/JerseyUriBuilder.java
+++ b/core-common/src/main/java/org/glassfish/jersey/uri/internal/JerseyUriBuilder.java
@@ -28,10 +28,10 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriBuilderException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilderException;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.guava.InetAddresses;
diff --git a/core-common/src/main/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate b/core-common/src/main/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
new file mode 100644
index 0000000..550198c
--- /dev/null
+++ b/core-common/src/main/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
@@ -0,0 +1 @@
+org.glassfish.jersey.internal.RuntimeDelegateImpl
\ No newline at end of file
diff --git a/core-common/src/test/java/org/glassfish/jersey/internal/TestRuntimeDelegate.java b/core-common/src/test/java/org/glassfish/jersey/internal/TestRuntimeDelegate.java
index 33b9fb3..55884e1 100644
--- a/core-common/src/test/java/org/glassfish/jersey/internal/TestRuntimeDelegate.java
+++ b/core-common/src/test/java/org/glassfish/jersey/internal/TestRuntimeDelegate.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.internal;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.Variant;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Variant;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.message.internal.MessagingBinders;
 
diff --git a/core-common/src/test/java/org/glassfish/jersey/internal/config/DisabledProvidersTest.java b/core-common/src/test/java/org/glassfish/jersey/internal/config/DisabledProvidersTest.java
index 57b95d0..c514c0b 100644
--- a/core-common/src/test/java/org/glassfish/jersey/internal/config/DisabledProvidersTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/internal/config/DisabledProvidersTest.java
@@ -24,7 +24,7 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
diff --git a/core-common/src/test/java/org/glassfish/jersey/internal/inject/ProvidersTest.java b/core-common/src/test/java/org/glassfish/jersey/internal/inject/ProvidersTest.java
index 2c80b35..1581f98 100644
--- a/core-common/src/test/java/org/glassfish/jersey/internal/inject/ProvidersTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/internal/inject/ProvidersTest.java
@@ -21,10 +21,10 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 import org.glassfish.jersey.spi.Contract;
 
diff --git a/core-common/src/test/java/org/glassfish/jersey/internal/routing/CombinedMediaTypeTest.java b/core-common/src/test/java/org/glassfish/jersey/internal/routing/CombinedMediaTypeTest.java
index c0c3112..2372607 100644
--- a/core-common/src/test/java/org/glassfish/jersey/internal/routing/CombinedMediaTypeTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/internal/routing/CombinedMediaTypeTest.java
@@ -22,7 +22,7 @@
 import java.util.Comparator;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.junit.jupiter.api.Test;
 import static org.hamcrest.Matchers.equalTo;
diff --git a/core-common/src/test/java/org/glassfish/jersey/internal/util/PropertiesHelperTest.java b/core-common/src/test/java/org/glassfish/jersey/internal/util/PropertiesHelperTest.java
index 68f6aac..67df369 100644
--- a/core-common/src/test/java/org/glassfish/jersey/internal/util/PropertiesHelperTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/internal/util/PropertiesHelperTest.java
@@ -19,7 +19,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-common/src/test/java/org/glassfish/jersey/logging/HasEntityTimeoutTest.java b/core-common/src/test/java/org/glassfish/jersey/logging/HasEntityTimeoutTest.java
index e1886d4..39773c6 100644
--- a/core-common/src/test/java/org/glassfish/jersey/logging/HasEntityTimeoutTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/logging/HasEntityTimeoutTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.logging;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.UriInfo;
 import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
diff --git a/core-common/src/test/java/org/glassfish/jersey/logging/LoggingInterceptorTest.java b/core-common/src/test/java/org/glassfish/jersey/logging/LoggingInterceptorTest.java
index abd4d54..ed4d5dc 100644
--- a/core-common/src/test/java/org/glassfish/jersey/logging/LoggingInterceptorTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/logging/LoggingInterceptorTest.java
@@ -18,7 +18,7 @@
 
 import org.mockito.stubbing.Answer;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
@@ -38,8 +38,8 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import static javax.ws.rs.core.MediaType.APPLICATION_OCTET_STREAM_TYPE;
-import static javax.ws.rs.core.MediaType.TEXT_HTML_TYPE;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_OCTET_STREAM_TYPE;
+import static jakarta.ws.rs.core.MediaType.TEXT_HTML_TYPE;
 
 /**
  * @author Ondrej Kosatka
diff --git a/core-common/src/test/java/org/glassfish/jersey/message/DeflateEncodingTest.java b/core-common/src/test/java/org/glassfish/jersey/message/DeflateEncodingTest.java
index dfeabe6..e7e58ca 100644
--- a/core-common/src/test/java/org/glassfish/jersey/message/DeflateEncodingTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/message/DeflateEncodingTest.java
@@ -29,11 +29,11 @@
 import java.util.zip.Inflater;
 import java.util.zip.InflaterInputStream;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/core-common/src/test/java/org/glassfish/jersey/message/internal/FormMultivaluedMapProviderTest.java b/core-common/src/test/java/org/glassfish/jersey/message/internal/FormMultivaluedMapProviderTest.java
index 695fd4f..16e7935 100644
--- a/core-common/src/test/java/org/glassfish/jersey/message/internal/FormMultivaluedMapProviderTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/message/internal/FormMultivaluedMapProviderTest.java
@@ -23,9 +23,9 @@
 import java.nio.charset.StandardCharsets;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/core-common/src/test/java/org/glassfish/jersey/message/internal/FormProviderTest.java b/core-common/src/test/java/org/glassfish/jersey/message/internal/FormProviderTest.java
index 5dcc075..dd79bd3 100644
--- a/core-common/src/test/java/org/glassfish/jersey/message/internal/FormProviderTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/message/internal/FormProviderTest.java
@@ -23,9 +23,9 @@
 import java.nio.charset.StandardCharsets;
 import java.util.List;
 
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/core-common/src/test/java/org/glassfish/jersey/message/internal/MessageBodyFactoryTest.java b/core-common/src/test/java/org/glassfish/jersey/message/internal/MessageBodyFactoryTest.java
index 5cc89dd..2ce4d80 100644
--- a/core-common/src/test/java/org/glassfish/jersey/message/internal/MessageBodyFactoryTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/message/internal/MessageBodyFactoryTest.java
@@ -21,9 +21,9 @@
 import java.lang.annotation.Annotation;
 import java.util.ArrayList;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.message.WriterModel;
 
diff --git a/core-common/src/test/java/org/glassfish/jersey/message/internal/ResponseTest.java b/core-common/src/test/java/org/glassfish/jersey/message/internal/ResponseTest.java
index d43c4f6..ec4421b 100644
--- a/core-common/src/test/java/org/glassfish/jersey/message/internal/ResponseTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/message/internal/ResponseTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.message.internal;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.Response.Status.Family;
-import javax.ws.rs.core.Response.StatusType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status.Family;
+import jakarta.ws.rs.core.Response.StatusType;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-common/src/test/java/org/glassfish/jersey/message/internal/VariantListBuilderTest.java b/core-common/src/test/java/org/glassfish/jersey/message/internal/VariantListBuilderTest.java
index 7fb708c..77e70d5 100644
--- a/core-common/src/test/java/org/glassfish/jersey/message/internal/VariantListBuilderTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/message/internal/VariantListBuilderTest.java
@@ -19,8 +19,8 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Variant;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-common/src/test/java/org/glassfish/jersey/process/internal/RankedComparatorTest.java b/core-common/src/test/java/org/glassfish/jersey/process/internal/RankedComparatorTest.java
index 78df231..3cf996d 100644
--- a/core-common/src/test/java/org/glassfish/jersey/process/internal/RankedComparatorTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/process/internal/RankedComparatorTest.java
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.model.internal.RankedComparator;
 import org.glassfish.jersey.model.internal.RankedProvider;
diff --git a/core-common/src/test/java/org/glassfish/jersey/uri/UriComponentTest.java b/core-common/src/test/java/org/glassfish/jersey/uri/UriComponentTest.java
index a98f8ae..0c205bf 100644
--- a/core-common/src/test/java/org/glassfish/jersey/uri/UriComponentTest.java
+++ b/core-common/src/test/java/org/glassfish/jersey/uri/UriComponentTest.java
@@ -18,8 +18,8 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.PathSegment;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-common/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate b/core-common/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
new file mode 100644
index 0000000..550198c
--- /dev/null
+++ b/core-common/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
@@ -0,0 +1 @@
+org.glassfish.jersey.internal.RuntimeDelegateImpl
\ No newline at end of file
diff --git a/core-common/src/test/resources/META-INF/services/org.glassfish.jersey.internal.spi.AutoDiscoverable b/core-common/src/test/resources/META-INF/services/org.glassfish.jersey.internal.spi.AutoDiscoverable
new file mode 100644
index 0000000..371b37b
--- /dev/null
+++ b/core-common/src/test/resources/META-INF/services/org.glassfish.jersey.internal.spi.AutoDiscoverable
@@ -0,0 +1 @@
+org.glassfish.jersey.logging.LoggingFeatureAutoDiscoverable
\ No newline at end of file
diff --git a/core-server/pom.xml b/core-server/pom.xml
index b4d9c5f..f0af2e8 100644
--- a/core-server/pom.xml
+++ b/core-server/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.core</groupId>
@@ -94,16 +94,16 @@
                             com.sun.research.ws.wadl.*;version=${project.version}
                         </Export-Package>
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
-                            javax.xml.bind;version="!";resolution:=optional,
-                            javax.xml.bind.annotation;version="!";resolution:=optional,
-                            javax.xml.bind.annotation.adapters;version="!";resolution:=optional,
+                            ${jakarta.annotation.osgi.version},
+                            jakarta.xml.bind;version="!";resolution:=optional,
+                            jakarta.xml.bind.annotation;version="!";resolution:=optional,
+                            jakarta.xml.bind.annotation.adapters;version="!";resolution:=optional,
                             javax.xml.namespace;resolution:=optional,
                             javax.xml.parsers;resolution:=optional,
                             javax.xml.transform;resolution:=optional,
                             javax.xml.transform.sax;resolution:=optional,
                             javax.xml.transform.stream;resolution:=optional,
-                            javax.validation.*;resolution:=optional;version="${range;[==,3);${javax.validation.api.version}}",
+                            jakarta.validation.*;resolution:=optional;version="[3,4)",
                             *
                         </Import-Package>
                     </instructions>
@@ -122,7 +122,7 @@
                     <dependency>
                         <groupId>jakarta.xml.bind</groupId>
                         <artifactId>jakarta.xml.bind-api</artifactId>
-                        <version>${jaxb.api.version}</version>
+                        <version>${jakarta.jaxb.api.version}</version>
                     </dependency>
                     <dependency>
                         <groupId>com.sun.xml.bind</groupId>
@@ -187,8 +187,8 @@
         </dependency>
 
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
 
         <dependency>
@@ -197,6 +197,12 @@
         </dependency>
 
         <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
             <scope>provided</scope>
@@ -241,19 +247,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>securityOff</id>
             <properties>
                 <surefire.security.argline />
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Application.java b/core-server/src/main/java/com/sun/research/ws/wadl/Application.java
index e950615..d14728f 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Application.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Application.java
@@ -10,13 +10,13 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-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.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.w3c.dom.Element;
 
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Doc.java b/core-server/src/main/java/com/sun/research/ws/wadl/Doc.java
index ba8d04b..f7ba006 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Doc.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Doc.java
@@ -12,17 +12,17 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlMixed;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlMixed;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Grammars.java b/core-server/src/main/java/com/sun/research/ws/wadl/Grammars.java
index 4ca29c0..78342a5 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Grammars.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Grammars.java
@@ -10,11 +10,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-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.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.w3c.dom.Element;
 
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/HTTPMethods.java b/core-server/src/main/java/com/sun/research/ws/wadl/HTTPMethods.java
index 4a06ac4..63195cc 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/HTTPMethods.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/HTTPMethods.java
@@ -7,8 +7,8 @@
 
 package com.sun.research.ws.wadl;
 
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * <p>Java class for HTTPMethods.
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Include.java b/core-server/src/main/java/com/sun/research/ws/wadl/Include.java
index 960c55b..9d9e807 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Include.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Include.java
@@ -12,13 +12,13 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
 /**
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Link.java b/core-server/src/main/java/com/sun/research/ws/wadl/Link.java
index 6c70484..1f7d18a 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Link.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Link.java
@@ -12,16 +12,16 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Method.java b/core-server/src/main/java/com/sun/research/ws/wadl/Method.java
index 64a06de..ede15e3 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Method.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Method.java
@@ -12,17 +12,17 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/ObjectFactory.java b/core-server/src/main/java/com/sun/research/ws/wadl/ObjectFactory.java
index 3bacfbb..3ac8cec 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/ObjectFactory.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/ObjectFactory.java
@@ -7,7 +7,7 @@
 
 package com.sun.research.ws.wadl;
 
-import javax.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.annotation.XmlRegistry;
 
 /**
  * This object contains factory methods for each
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Option.java b/core-server/src/main/java/com/sun/research/ws/wadl/Option.java
index 07b9882..299074b 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Option.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Option.java
@@ -12,13 +12,13 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-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.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Param.java b/core-server/src/main/java/com/sun/research/ws/wadl/Param.java
index 9071315..5f3bf6a 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Param.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Param.java
@@ -12,17 +12,17 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/ParamStyle.java b/core-server/src/main/java/com/sun/research/ws/wadl/ParamStyle.java
index ed8e07a..954c01d 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/ParamStyle.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/ParamStyle.java
@@ -8,9 +8,9 @@
 
 package com.sun.research.ws.wadl;
 
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
 
 
 /**
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Representation.java b/core-server/src/main/java/com/sun/research/ws/wadl/Representation.java
index b30d44d..c483673 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Representation.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Representation.java
@@ -12,17 +12,17 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Request.java b/core-server/src/main/java/com/sun/research/ws/wadl/Request.java
index c2279a6..0da963b 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Request.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Request.java
@@ -12,12 +12,12 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-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.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Resource.java b/core-server/src/main/java/com/sun/research/ws/wadl/Resource.java
index a89e0ac..28686e6 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Resource.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Resource.java
@@ -12,19 +12,19 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/ResourceType.java b/core-server/src/main/java/com/sun/research/ws/wadl/ResourceType.java
index 4dd0e99..406d196 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/ResourceType.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/ResourceType.java
@@ -12,19 +12,19 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElements;
+import jakarta.xml.bind.annotation.XmlID;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Resources.java b/core-server/src/main/java/com/sun/research/ws/wadl/Resources.java
index 2b2579d..af8f88c 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Resources.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Resources.java
@@ -12,15 +12,15 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSchemaType;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/Response.java b/core-server/src/main/java/com/sun/research/ws/wadl/Response.java
index 6a50d75..17b8d1b 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/Response.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/Response.java
@@ -12,13 +12,13 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-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.XmlAnyAttribute;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
diff --git a/core-server/src/main/java/com/sun/research/ws/wadl/package-info.java b/core-server/src/main/java/com/sun/research/ws/wadl/package-info.java
index ef32f1f..eae8a9e 100644
--- a/core-server/src/main/java/com/sun/research/ws/wadl/package-info.java
+++ b/core-server/src/main/java/com/sun/research/ws/wadl/package-info.java
@@ -5,5 +5,5 @@
 // Generated on: 2014.08.06 at 11:57:31 AM CEST
 //
 
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://wadl.dev.java.net/2009/02", elementFormDefault = javax.xml.bind
+@jakarta.xml.bind.annotation.XmlSchema(namespace = "http://wadl.dev.java.net/2009/02", elementFormDefault = jakarta.xml.bind
         .annotation.XmlNsForm.QUALIFIED) package com.sun.research.ws.wadl;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ApplicationConfigurator.java b/core-server/src/main/java/org/glassfish/jersey/server/ApplicationConfigurator.java
index 0db35c8..08e1460 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ApplicationConfigurator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ApplicationConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,9 +19,9 @@
 import java.util.Collection;
 import java.util.Collections;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ApplicationHandler.java b/core-server/src/main/java/org/glassfish/jersey/server/ApplicationHandler.java
index 2e0447f..42d11dd 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ApplicationHandler.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ApplicationHandler.java
@@ -36,14 +36,14 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.AutoDiscoverableConfigurator;
@@ -109,7 +109,7 @@
  * method on a configured application  handler instance.
  * </p>
  * <p>
- * {@code ApplicationHandler} provides two implementations of {@link javax.ws.rs.core.Configuration config} that can be injected
+ * {@code ApplicationHandler} provides two implementations of {@link jakarta.ws.rs.core.Configuration config} that can be injected
  * into the application classes. The first is {@link ResourceConfig resource config} which implements {@code Configuration}
  * itself and is configured by the user. The resource config is not modified by this application handler so the future reloads of
  * the application is not disrupted by providers found on a classpath. This config can
@@ -136,7 +136,7 @@
  * @author Marek Potociar
  * @author Libor Kramolis
  * @see ResourceConfig
- * @see javax.ws.rs.core.Configuration
+ * @see jakarta.ws.rs.core.Configuration
  * @see org.glassfish.jersey.server.spi.ContainerProvider
  */
 public final class ApplicationHandler implements ContainerLifecycleListener {
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/AsyncContext.java b/core-server/src/main/java/org/glassfish/jersey/server/AsyncContext.java
index 664a384..bd50075 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/AsyncContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/AsyncContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server;
 
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.util.Producer;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/BackgroundScheduler.java b/core-server/src/main/java/org/glassfish/jersey/server/BackgroundScheduler.java
index 95eed23..fbf9b0f 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/BackgroundScheduler.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/BackgroundScheduler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Injection qualifier that can be used to inject a {@link java.util.concurrent.ScheduledExecutorService}
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ChunkedOutput.java b/core-server/src/main/java/org/glassfish/jersey/server/ChunkedOutput.java
index 79f98f9..2ce0542 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ChunkedOutput.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ChunkedOutput.java
@@ -27,11 +27,11 @@
 import java.util.concurrent.LinkedBlockingDeque;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import javax.ws.rs.container.ConnectionCallback;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.container.ConnectionCallback;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.process.internal.RequestContext;
 import org.glassfish.jersey.process.internal.RequestScope;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ChunkedResponseWriter.java b/core-server/src/main/java/org/glassfish/jersey/server/ChunkedResponseWriter.java
index 201efc4..5bfa7e8 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ChunkedResponseWriter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ChunkedResponseWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,10 +21,10 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 /**
  * Used for writing {@link ChunkedOutput}.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ClientBinding.java b/core-server/src/main/java/org/glassfish/jersey/server/ClientBinding.java
index 7714517..9b418fe 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ClientBinding.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ClientBinding.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,11 +22,11 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 /**
  * Meta-annotation that provides a facility for creating bindings between an {@link Uri &#64;Uri}-injectable
- * {@link javax.ws.rs.client.WebTarget WebTarget} instances and clients (and their configurations) that are used to create
+ * {@link jakarta.ws.rs.client.WebTarget WebTarget} instances and clients (and their configurations) that are used to create
  * the injected web target instances.
  * <p>
  * Jersey refers to client instance configured using custom bound configurations as <em>managed clients</em>. As a first step,
@@ -79,7 +79,7 @@
  * </pre>
  * Note that the easiest way how to provide a custom client-side {@code Configuration} implementation in Jersey is to extend
  * the {@link org.glassfish.jersey.client.ClientConfig} class that provides reusable implementation of JAX-RS
- * {@link Configuration} as well as {@link javax.ws.rs.core.Configurable Configurable} APIs.
+ * {@link Configuration} as well as {@link jakarta.ws.rs.core.Configurable Configurable} APIs.
  * </p>
  * <p>
  * In case a managed client needs special properties, these properties can also be provided via custom {@code Configuration}
@@ -169,7 +169,7 @@
     public boolean inheritServerProviders() default true;
 
     /**
-     * Define a custom base URI for managed {@link javax.ws.rs.client.WebTarget WebTarget} instances injected using
+     * Define a custom base URI for managed {@link jakarta.ws.rs.client.WebTarget WebTarget} instances injected using
      * {@link Uri &#64;Uri} annotation with a relative web target URI value. By default, the base
      * URI is empty indicating that the current application base URI should be used.
      * <p>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/CloseableService.java b/core-server/src/main/java/org/glassfish/jersey/server/CloseableService.java
index 8c59ed7..37a6aaa 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/CloseableService.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/CloseableService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
  * are required to be closed.
  * <p>
  * This interface may be injected onto server-side components using
- * the {@link javax.ws.rs.core.Context} annotation.
+ * the {@link jakarta.ws.rs.core.Context} annotation.
  * <p>
  * The service may be used within the scope of a request to add instances
  * of {@link Closeable} that are to be closed when the request goes out
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ContainerException.java b/core-server/src/main/java/org/glassfish/jersey/server/ContainerException.java
index d3d0709..ef50211 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ContainerException.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ContainerException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 /**
  * Exception thrown by the container components in to notify Jersey runtime about
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ContainerFactory.java b/core-server/src/main/java/org/glassfish/jersey/server/ContainerFactory.java
index d7c1ab3..230a6e7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ContainerFactory.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.internal.ServiceFinder;
 import org.glassfish.jersey.server.spi.ContainerProvider;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ContainerFilteringStage.java b/core-server/src/main/java/org/glassfish/jersey/server/ContainerFilteringStage.java
index 9782a09..bd25f91 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ContainerFilteringStage.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ContainerFilteringStage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.ArrayList;
 
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.inject.Providers;
 import org.glassfish.jersey.message.internal.TracingLogger;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ContainerMessageBodyWorkersInitializer.java b/core-server/src/main/java/org/glassfish/jersey/server/ContainerMessageBodyWorkersInitializer.java
index a24b9c5..59328b7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ContainerMessageBodyWorkersInitializer.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ContainerMessageBodyWorkersInitializer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.function.Function;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.server.internal.process.RequestProcessingContext;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ContainerProviderConfigurator.java b/core-server/src/main/java/org/glassfish/jersey/server/ContainerProviderConfigurator.java
index bba6966..cc2d670 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ContainerProviderConfigurator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ContainerProviderConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.internal.AbstractServiceFinderConfigurator;
 import org.glassfish.jersey.internal.BootstrapBag;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ContainerRequest.java b/core-server/src/main/java/org/glassfish/jersey/server/ContainerRequest.java
index 9684ecb..3105c2f 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ContainerRequest.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ContainerRequest.java
@@ -31,21 +31,21 @@
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.Variant;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.Variant;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.http.HttpHeaders;
 import org.glassfish.jersey.internal.PropertiesDelegate;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ContainerResponse.java b/core-server/src/main/java/org/glassfish/jersey/server/ContainerResponse.java
index cf6799e..bd7f7a3 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ContainerResponse.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ContainerResponse.java
@@ -29,16 +29,16 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.message.internal.OutboundJaxrsResponse;
 import org.glassfish.jersey.message.internal.OutboundMessageContext;
@@ -91,7 +91,7 @@
 
     /**
      * Returns true if the response is result of the exception (for example created during
-     * {@link javax.ws.rs.ext.ExceptionMapper exception mapping}).
+     * {@link jakarta.ws.rs.ext.ExceptionMapper exception mapping}).
      *
      * @return True if this response was created based on the exception, false otherwise.
      */
@@ -102,7 +102,7 @@
     /**
      * Sets the flag indicating whether the response was created based on the exception.
      * @param mappedFromException True if this exception if result of the exception (for example result of
-     *                      {@link javax.ws.rs.ext.ExceptionMapper exception mapping}).
+     *                      {@link jakarta.ws.rs.ext.ExceptionMapper exception mapping}).
      */
     public void setMappedFromException(final boolean mappedFromException) {
         this.mappedFromException = mappedFromException;
@@ -243,7 +243,7 @@
      * Set a new message message entity.
      *
      * @param entity entity object.
-     * @see javax.ws.rs.ext.MessageBodyWriter
+     * @see jakarta.ws.rs.ext.MessageBodyWriter
      */
     public void setEntity(final Object entity) {
         messageContext.setEntity(entity);
@@ -254,7 +254,7 @@
      *
      * @param entity      entity object.
      * @param annotations annotations attached to the entity.
-     * @see javax.ws.rs.ext.MessageBodyWriter
+     * @see jakarta.ws.rs.ext.MessageBodyWriter
      */
     public void setEntity(final Object entity, final Annotation[] annotations) {
         messageContext.setEntity(entity, annotations);
@@ -266,7 +266,7 @@
      * @param entity      entity object.
      * @param type        declared entity class.
      * @param annotations annotations attached to the entity.
-     * @see javax.ws.rs.ext.MessageBodyWriter
+     * @see jakarta.ws.rs.ext.MessageBodyWriter
      */
     public void setEntity(final Object entity, final Type type, final Annotation[] annotations) {
         messageContext.setEntity(entity, type, annotations);
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ExtendedResourceContext.java b/core-server/src/main/java/org/glassfish/jersey/server/ExtendedResourceContext.java
index 33f333e..3a72d76 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ExtendedResourceContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ExtendedResourceContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server;
 
-import javax.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.container.ResourceContext;
 
 import org.glassfish.jersey.server.model.ResourceModel;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ExtendedUriInfo.java b/core-server/src/main/java/org/glassfish/jersey/server/ExtendedUriInfo.java
index 3b2c877..972f973 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ExtendedUriInfo.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ExtendedUriInfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.List;
 import java.util.regex.MatchResult;
 
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.model.Resource;
 import org.glassfish.jersey.server.model.ResourceMethod;
@@ -59,7 +59,7 @@
     /**
      * Get a read-only list of {@link org.glassfish.jersey.uri.UriTemplate} for matched resources.
      * Each entry is a URI template that is the value of the
-     * {@link javax.ws.rs.Path} that is a partial path that matched a resource
+     * {@link jakarta.ws.rs.Path} that is a partial path that matched a resource
      * class, a sub-resource method or a sub-resource locator.
      * Entries are ordered in reverse request URI matching order, with the
      * root resource URI template last.
@@ -170,7 +170,7 @@
      * itself such a locator will be already in the returned list as a first element.
      * <p>
      * The resource locator is
-     * a {@link ResourceMethod resource method} which is annotated by the {@link javax.ws.rs.Path @Path}
+     * a {@link ResourceMethod resource method} which is annotated by the {@link jakarta.ws.rs.Path @Path}
      * and returns a sub resource.
      * <p/>
      * @return List of matched resource locators.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/JSONP.java b/core-server/src/main/java/org/glassfish/jersey/server/JSONP.java
index 753ac9f..49475cb 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/JSONP.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/JSONP.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,7 +24,7 @@
 
 /**
  * Annotation can be used to define the JavaScript callback function name if the valid JSONP format is requested as an
- * acceptable {@link javax.ws.rs.core.MediaType media type} of this request. At the moment only resource methods are supported to
+ * acceptable {@link jakarta.ws.rs.core.MediaType media type} of this request. At the moment only resource methods are supported to
  * be annotated with this annotation.
  * <p/>
  * The acceptable JavaScript media types for JSONP compatible with this annotation are:
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/JerseyResourceContextConfigurator.java b/core-server/src/main/java/org/glassfish/jersey/server/JerseyResourceContextConfigurator.java
index b72a0b4..942237b 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/JerseyResourceContextConfigurator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/JerseyResourceContextConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.function.Consumer;
 import java.util.function.Function;
 
-import javax.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.container.ResourceContext;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ManagedAsyncExecutor.java b/core-server/src/main/java/org/glassfish/jersey/server/ManagedAsyncExecutor.java
index b0c0b18..e7c3214 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ManagedAsyncExecutor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ManagedAsyncExecutor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Injection qualifier that can be used to inject an {@link java.util.concurrent.ExecutorService}
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ParamException.java b/core-server/src/main/java/org/glassfish/jersey/server/ParamException.java
index d1df398..d0acb40 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ParamException.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ParamException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,15 +18,15 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * An abstract extension of {@link WebApplicationException} for the class of
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ProcessingProvidersConfigurator.java b/core-server/src/main/java/org/glassfish/jersey/server/ProcessingProvidersConfigurator.java
index e6c8124..a4d9540 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ProcessingProvidersConfigurator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ProcessingProvidersConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,15 +25,15 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ResourceConfig.java b/core-server/src/main/java/org/glassfish/jersey/server/ResourceConfig.java
index 1b13d05..291b76f 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ResourceConfig.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ResourceConfig.java
@@ -25,17 +25,19 @@
 import java.util.HashSet;
 import java.util.IdentityHashMap;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.internal.Errors;
 import org.glassfish.jersey.internal.config.ExternalPropertiesConfigurationFactory;
@@ -57,6 +59,7 @@
 import org.glassfish.jersey.server.internal.scanning.FilesScanner;
 import org.glassfish.jersey.server.internal.scanning.PackageNamesScanner;
 import org.glassfish.jersey.server.model.Resource;
+import org.glassfish.jersey.uri.UriComponent;
 
 
 /**
@@ -311,8 +314,8 @@
      * <p/>
      * This method provides an option of supplying the set of classes that should be returned from {@link #getClasses()}
      * method if the application defined by the supplied application class returns empty sets from
-     * {@link javax.ws.rs.core.Application#getClasses()}
-     * and {@link javax.ws.rs.core.Application#getSingletons()} methods.
+     * {@link jakarta.ws.rs.core.Application#getClasses()}
+     * and {@link jakarta.ws.rs.core.Application#getSingletons()} methods.
      *
      * @param applicationClass Class representing a JAX-RS application.
      * @param defaultClasses   Default set of classes that should be returned from {@link #getClasses()} if the underlying
@@ -998,6 +1001,32 @@
     }
 
     /**
+     * Returns encoded value of {@link ApplicationPath} annotation of the Application corresponding
+     * with this ResourceConfig or {@code null} when the annotation is not present.
+     *
+     * @return Returns encoded value of {@link ApplicationPath} annotation of the Application
+     * corresponding with this ResourceConfig.
+     */
+    public final String getApplicationPath() {
+        final Application application;
+        if (ResourceConfig.class.isInstance(_getApplication())) {
+              final Application unwrap = unwrapCustomRootApplication((ResourceConfig) _getApplication());
+              application = unwrap != null ? unwrap : _getApplication();
+        } else {
+            application = _getApplication();
+        }
+        final ApplicationPath appPath = application.getClass().getAnnotation(ApplicationPath.class);
+        final String value;
+        if (appPath != null && !appPath.value().isEmpty() && !appPath.value().trim().equals("/")) {
+            final String val = appPath.value().trim();
+            value = UriComponent.encode(val.startsWith("/") ? val.substring(1) : val, UriComponent.Type.PATH);
+        } else {
+            value = null;
+        }
+        return value;
+    }
+
+    /**
      * Allows overriding the {@link #getApplication()} method functionality in {@link WrappingResourceConfig}.
      *
      * @return JAX-RS application corresponding with this ResourceConfig.
@@ -1070,7 +1099,7 @@
         }
 
         /**
-         * Set the {@link javax.ws.rs.core.Application JAX-RS Application instance}
+         * Set the {@link jakarta.ws.rs.core.Application JAX-RS Application instance}
          * in the {@code ResourceConfig}.
          * <p/>
          * This method is used by the {@link org.glassfish.jersey.server.ApplicationHandler} in case this resource
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ResourceModelConfigurator.java b/core-server/src/main/java/org/glassfish/jersey/server/ResourceModelConfigurator.java
index 5f0cd98..e6f5006 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ResourceModelConfigurator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ResourceModelConfigurator.java
@@ -25,7 +25,7 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ServerBinder.java b/core-server/src/main/java/org/glassfish/jersey/server/ServerBinder.java
index 3e3be7b..03482f9 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ServerBinder.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ServerBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server;
 
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ServerBootstrapBag.java b/core-server/src/main/java/org/glassfish/jersey/server/ServerBootstrapBag.java
index 531f011..cbcf741 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ServerBootstrapBag.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ServerBootstrapBag.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.Collection;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ServerProperties.java b/core-server/src/main/java/org/glassfish/jersey/server/ServerProperties.java
index 6055e2c..4c06c5c 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ServerProperties.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ServerProperties.java
@@ -18,7 +18,7 @@
 
 import java.util.Map;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.util.PropertiesClass;
@@ -42,8 +42,8 @@
      * providers.
      *
      * If the property is set, the specified packages will be scanned for
-     * JAX-RS root resources (annotated with {@link javax.ws.rs.Path @Path}) and
-     * providers (annotated with {@link javax.ws.rs.ext.Provider @Provider}).
+     * JAX-RS root resources (annotated with {@link jakarta.ws.rs.Path @Path}) and
+     * providers (annotated with {@link jakarta.ws.rs.ext.Provider @Provider}).
      * <p>
      * The property value MUST be an instance of {@link String} or {@code String[]}
      * array. Each {@code String} instance represents one or more package names
@@ -88,8 +88,8 @@
      * providers.
      *
      * If the property is set, the specified class-path will be scanned
-     * for JAX-RS root resources (annotated with {@link javax.ws.rs.Path @Path})
-     * and providers (annotated with {@link javax.ws.rs.ext.Provider @Provider}).
+     * for JAX-RS root resources (annotated with {@link jakarta.ws.rs.Path @Path})
+     * and providers (annotated with {@link jakarta.ws.rs.ext.Provider @Provider}).
      * Each path element MUST be an absolute or relative directory, or a Jar file.
      * The contents of a directory, including Java class files, jars files
      * and sub-directories are scanned (recursively).
@@ -116,8 +116,8 @@
      *
      * If the property is set, the specified classes will be instantiated
      * and registered as either application JAX-RS root resources (annotated with
-     * {@link javax.ws.rs.Path @Path}) or providers (annotated with
-     * {@link javax.ws.rs.ext.Provider @Provider}).
+     * {@link jakarta.ws.rs.Path @Path}) or providers (annotated with
+     * {@link jakarta.ws.rs.ext.Provider @Provider}).
      * <p>
      * The property value MUST be an instance of {@link String} or {@code String[]}
      * array. Each {@code String} instance represents one or more class names
@@ -246,7 +246,7 @@
      * A Bean Validation (JSR-349) support customization property.
      *
      * If {@code true} the check whether the overriding / implementing methods are annotated with
-     * {@link javax.validation.executable.ValidateOnExecution} as well as one of their predecessor (in hierarchy)
+     * {@link jakarta.validation.executable.ValidateOnExecution} as well as one of their predecessor (in hierarchy)
      * is disabled.
      * <p>
      * By default this checks is automatically enabled, unless the Bean Validation support is disabled explicitly (see
@@ -259,7 +259,7 @@
      * The name of the configuration property is <tt>{@value}</tt>.
      * </p>
      *
-     * @see javax.validation.executable.ValidateOnExecution
+     * @see jakarta.validation.executable.ValidateOnExecution
      */
     public static final String BV_DISABLE_VALIDATE_ON_EXECUTABLE_OVERRIDE_CHECK =
             "jersey.config.beanValidation.disable.validateOnExecutableCheck.server";
@@ -269,7 +269,7 @@
      *
      * If set to {@code true} and Bean Validation support has not been explicitly disabled (see
      * {@link #BV_FEATURE_DISABLE}), the validation error information will be sent in the entity of the
-     * returned {@link javax.ws.rs.core.Response}.
+     * returned {@link jakarta.ws.rs.core.Response}.
      * <p>
      * The default value is {@code false}. This means that in case of an error response caused by a Bean Validation
      * error, only a status code is sent in the server {@code Response} by default.
@@ -322,7 +322,7 @@
 
     /**
      * An integer value that defines the buffer size used to buffer server-side response entity in order to
-     * determine its size and set the value of HTTP <tt>{@value javax.ws.rs.core.HttpHeaders#CONTENT_LENGTH}</tt> header.
+     * determine its size and set the value of HTTP <tt>{@value jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH}</tt> header.
      * <p>
      * If the entity size exceeds the configured buffer size, the buffering would be cancelled and the entity size
      * would not be determined. Value less or equal to zero disable the buffering of the entity at all.
@@ -365,7 +365,7 @@
      * If {@code true} then disable META-INF/services lookup on server.
      *
      * By default Jersey looks up SPI implementations described by META-INF/services/* files.
-     * Then you can register appropriate provider classes by {@link javax.ws.rs.core.Application}.
+     * Then you can register appropriate provider classes by {@link jakarta.ws.rs.core.Application}.
      * <p>
      * The default value is {@code false}.
      * </p>
@@ -730,7 +730,7 @@
      * The {@code CompletionStage} value will be unwrapped and the message body writer will be invoked with the unwrapped type.
      *
      * <p>
-     * The default value is {@code false}.
+     * The default value is {@code true}.
      * </p>
      * <p>
      * The name of the configuration property is <tt>{@value}</tt>.
@@ -742,6 +742,28 @@
             "jersey.config.server.unwrap.completion.stage.writer.enable";
 
     /**
+     * <p>
+     * Jakarta RESTful WebServices provides {@code @Consumes} annotation to accept only HTTP requests with compatible
+     * {@code Content-Type} header. However, when the header is missing a wildcard media type is used to
+     * match the {@code @Consumes} annotation.
+     * </p>
+     * <p><a href="https://datatracker.ietf.org/doc/html/rfc7231#section-3.1.1.5">HTTP/1.1 RFC</a>recommends that missing
+     * {@code Content-Type} header MAY default to {@code application/octet-stream}. This property makes Jersey consider the
+     * missing HTTP {@code Content-Type} header to be {@code application/octet-stream} rather than a wildcard
+     * media type. However, for a resource method without an entity argument, such as for HTTP GET, a wildcard media type
+     * is still considered to accept the HTTP request for the missing HTTP {@code Content-Type} header.
+     * </p>
+     * <p>
+     * Set this property to false, if the empty request media type should not to match applied {@code @Consumes} annotation
+     * on a resource method with an entity argument. The default is {@code true}. The name of the configuration property is
+     * <tt>{@value}</tt>.
+     * </p>
+     * @since 3.1.0
+     */
+    public static final String EMPTY_REQUEST_MEDIA_TYPE_MATCHES_ANY_CONSUMES =
+            "jersey.config.server.empty.request.media.matches.any.consumes";
+
+    /**
      * JVM argument to define the value of
      * {@link org.glassfish.jersey.server.internal.monitoring.core.ReservoirConstants#COLLISION_BUFFER_POWER}.
      * Lower values reduce the memory footprint.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/ServerRuntime.java b/core-server/src/main/java/org/glassfish/jersey/server/ServerRuntime.java
index bae3a0e..04d820d 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/ServerRuntime.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/ServerRuntime.java
@@ -37,22 +37,22 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.ServiceUnavailableException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.CompletionCallback;
-import javax.ws.rs.container.ConnectionCallback;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.ServiceUnavailableException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.CompletionCallback;
+import jakarta.ws.rs.container.ConnectionCallback;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.guava.Preconditions;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/SubjectSecurityContext.java b/core-server/src/main/java/org/glassfish/jersey/server/SubjectSecurityContext.java
index c0601ec..fe23bf7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/SubjectSecurityContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/SubjectSecurityContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,13 +18,13 @@
 
 import java.security.PrivilegedAction;
 
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
 
 /**
  * Security context that allows establishing a subject before a resource method
  * or a sub-resource locator is called. Container or filters should set an
  * implementation of this interface to the request context using
- * {@link ContainerRequest#setSecurityContext(javax.ws.rs.core.SecurityContext)}.
+ * {@link ContainerRequest#setSecurityContext(jakarta.ws.rs.core.SecurityContext)}.
  *
  * When Jersey detects this kind of context is in the request scope,
  * it will use {@link #doAsSubject(java.security.PrivilegedAction)} method to
@@ -45,7 +45,7 @@
      * {@link javax.security.auth.Subject#doAs(javax.security.auth.Subject, java.security.PrivilegedAction)}.
      * <p>
      * The privileged action passed into the method may, when invoked, fail with either
-     * {@link javax.ws.rs.WebApplicationException} or {@link javax.ws.rs.ProcessingException}.
+     * {@link jakarta.ws.rs.WebApplicationException} or {@link jakarta.ws.rs.ProcessingException}.
      * Both these exceptions must be propagated to the caller without a modification.
      * </p>
      *
@@ -55,11 +55,11 @@
      * @throws NullPointerException if the {@code PrivilegedAction} is {@code null}.
      * @throws SecurityException    if the caller does not have permission to invoke the
      *                              {@code Subject#doAs(Subject, PrivilegedAction)} method.
-     * @throws javax.ws.rs.WebApplicationException
+     * @throws jakarta.ws.rs.WebApplicationException
      *                              propagated exception from the privileged action. May be thrown in case the invocation
      *                              of resource or sub-resource locator method in the privileged action results in
      *                              this exception.
-     * @throws javax.ws.rs.ProcessingException
+     * @throws jakarta.ws.rs.ProcessingException
      *                              propagated exception from the privileged action. May be thrown in case the invocation
      *                              of resource or sub-resource locator method in the privileged action has failed
      *                              or resulted in a non-checked exception.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/TracingUtils.java b/core-server/src/main/java/org/glassfish/jersey/server/TracingUtils.java
index 44635a9..49f4d45 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/TracingUtils.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/TracingUtils.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.glassfish.jersey.message.internal.TracingLogger;
 import org.glassfish.jersey.server.internal.ServerTraceEvent;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/Uri.java b/core-server/src/main/java/org/glassfish/jersey/server/Uri.java
index 3b7db08..4bc359f 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/Uri.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/Uri.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,14 +25,14 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Injects a {@link javax.ws.rs.client.WebTarget resource target} pointing at
+ * Injects a {@link jakarta.ws.rs.client.WebTarget resource target} pointing at
  * a resource identified by the resolved URI into a method parameter,
  * class field or a bean property.
  * <p/>
- * Injected variable must be of type {@link javax.ws.rs.client.WebTarget}.
+ * Injected variable must be of type {@link jakarta.ws.rs.client.WebTarget}.
  *
  * @author Marek Potociar
- * @see javax.ws.rs.client.WebTarget
+ * @see jakarta.ws.rs.client.WebTarget
  * @since 2.0
  */
 @java.lang.annotation.Target({PARAMETER, FIELD, METHOD})
@@ -41,7 +41,7 @@
 public @interface Uri {
 
     /**
-     * Specifies the URI of the injected {@link javax.ws.rs.client.WebTarget
+     * Specifies the URI of the injected {@link jakarta.ws.rs.client.WebTarget
      * resource target}.
      *
      * The value must be in the form of absolute URI if not used from inside of
@@ -81,7 +81,7 @@
      * In case the annotation is used from a JAX-RS resource class, an absolute
      * or relative URI template value may be provided. The template parameter (e.g. {@code {id}})
      * values are automatically resolved in the context of the enclosing resource class
-     * {@link javax.ws.rs.Path path template} as well as the context of the processed request.
+     * {@link jakarta.ws.rs.Path path template} as well as the context of the processed request.
      * Other defined template parameters have to be resolved before invocation of managed web target.
      * For example:
      * <pre>
@@ -97,8 +97,8 @@
      * }
      * </pre>
      *
-     * @see javax.ws.rs.client.WebTarget
-     * @see javax.ws.rs.Path
+     * @see jakarta.ws.rs.client.WebTarget
+     * @see jakarta.ws.rs.Path
      */
     String value();
 }
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/filter/CsrfProtectionFilter.java b/core-server/src/main/java/org/glassfish/jersey/server/filter/CsrfProtectionFilter.java
index 3efb5ba..3ca65af 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/filter/CsrfProtectionFilter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/filter/CsrfProtectionFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,13 +21,13 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Response.Status;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 /**
  * Simple server-side request filter that implements CSRF protection as per the
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/filter/EncodingFilter.java b/core-server/src/main/java/org/glassfish/jersey/server/filter/EncodingFilter.java
index 61f4a24..98120f2 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/filter/EncodingFilter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/filter/EncodingFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,15 +26,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.NotAcceptableException;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.NotAcceptableException;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.HttpHeaders;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.message.internal.HttpHeaderReader;
@@ -47,7 +47,7 @@
  * {@link org.glassfish.jersey.spi.ContentEncoder encoders}) and decides what encoding should be chosen
  * based on the encodings listed in the Accept-Encoding request header and their associated quality values.
  * If none of the acceptable encodings is supported and identity encoding is explicitly forbidden by the client,
- * the filter generates {@link javax.ws.rs.core.Response.Status#NOT_ACCEPTABLE} response.
+ * the filter generates {@link jakarta.ws.rs.core.Response.Status#NOT_ACCEPTABLE} response.
  * <p>
  *     The filter also ensures Accept-Encoding is added to the Vary header, for proper interaction with web caches.
  * </p>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/filter/HttpMethodOverrideFilter.java b/core-server/src/main/java/org/glassfish/jersey/server/filter/HttpMethodOverrideFilter.java
index 6a583ce..031fb68 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/filter/HttpMethodOverrideFilter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/filter/HttpMethodOverrideFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,19 +22,19 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.util.Tokenizer;
 import org.glassfish.jersey.server.ContainerRequest;
@@ -59,7 +59,7 @@
  * when replacing the POST method with GET, the filter will convert the form parameters
  * to query parameters. If the filter is configured to look for both the X-HTTP-Method-Override
  * header as well as the _method query parameter (the default setting), both are present in the
- * request and they differ, the filter returns {@link javax.ws.rs.core.Response.Status#BAD_REQUEST} response.
+ * request and they differ, the filter returns {@link jakarta.ws.rs.core.Response.Status#BAD_REQUEST} response.
  * </p>
  * <p>
  * The filter behavior can be configured using {@link org.glassfish.jersey.server.ServerProperties#HTTP_METHOD_OVERRIDE}
@@ -144,7 +144,7 @@
      * from the provided {@link org.glassfish.jersey.server.ResourceConfig} instance.
      * <p/>
      * This constructor will be called by the Jersey runtime when the filter class is returned from
-     * {@link javax.ws.rs.core.Application#getClasses()}. The {@link org.glassfish.jersey.server.ResourceConfig}
+     * {@link jakarta.ws.rs.core.Application#getClasses()}. The {@link org.glassfish.jersey.server.ResourceConfig}
      * instance will get auto-injected.
      *
      * @param rc ResourceConfig instance that holds the configuration for the filter.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/filter/RolesAllowedDynamicFeature.java b/core-server/src/main/java/org/glassfish/jersey/server/filter/RolesAllowedDynamicFeature.java
index fb1a8bf..e443604 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/filter/RolesAllowedDynamicFeature.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/filter/RolesAllowedDynamicFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,30 +18,30 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.NotAuthorizedException;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ForbiddenException;
+import jakarta.ws.rs.NotAuthorizedException;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
-import javax.annotation.security.DenyAll;
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
+import jakarta.annotation.Priority;
+import jakarta.annotation.security.DenyAll;
+import jakarta.annotation.security.PermitAll;
+import jakarta.annotation.security.RolesAllowed;
 
 import org.glassfish.jersey.server.internal.LocalizationMessages;
 import org.glassfish.jersey.server.model.AnnotatedMethod;
 
 /**
- * A {@link DynamicFeature} supporting the {@code javax.annotation.security.RolesAllowed},
- * {@code javax.annotation.security.PermitAll} and {@code javax.annotation.security.DenyAll}
+ * A {@link DynamicFeature} supporting the {@code jakarta.annotation.security.RolesAllowed},
+ * {@code jakarta.annotation.security.PermitAll} and {@code jakarta.annotation.security.DenyAll}
  * on resource methods and sub-resource methods.
  * <p/>
- * The {@link javax.ws.rs.core.SecurityContext} is utilized, using the
- * {@link javax.ws.rs.core.SecurityContext#isUserInRole(String) } method,
+ * The {@link jakarta.ws.rs.core.SecurityContext} is utilized, using the
+ * {@link jakarta.ws.rs.core.SecurityContext#isUserInRole(String) } method,
  * to ascertain if the user is in one
  * of the roles declared in by a {@code &#64;RolesAllowed}. If a user is in none of
  * the declared roles then a 403 (Forbidden) response is returned.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/filter/UriConnegFilter.java b/core-server/src/main/java/org/glassfish/jersey/server/filter/UriConnegFilter.java
index 488647f..2ccf7c7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/filter/UriConnegFilter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/filter/UriConnegFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,18 +22,18 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.message.internal.LanguageTag;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -85,7 +85,7 @@
      * Create a filter that reads the configuration (media type and language mappings)
      * from the provided {@link ResourceConfig} instance.
      * This constructor will be called by the Jersey runtime when the filter
-     * class is returned from {@link javax.ws.rs.core.Application#getClasses()}.
+     * class is returned from {@link jakarta.ws.rs.core.Application#getClasses()}.
      * The {@link ResourceConfig} instance will get auto-injected.
      *
      * @param rc ResourceConfig instance that holds the configuration for the filter.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/filter/internal/ServerFiltersAutoDiscoverable.java b/core-server/src/main/java/org/glassfish/jersey/server/filter/internal/ServerFiltersAutoDiscoverable.java
index e8379ad..0255752 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/filter/internal/ServerFiltersAutoDiscoverable.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/filter/internal/ServerFiltersAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.filter.internal;
 
-import javax.annotation.Priority;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/InternalServerProperties.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/InternalServerProperties.java
index 7df5d27..f7ae793 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/InternalServerProperties.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/InternalServerProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -28,13 +28,13 @@
 
 
     /**
-     * Used internally for storing {@link javax.ws.rs.core.Form} instance with original (not url-decoded) values in
+     * Used internally for storing {@link jakarta.ws.rs.core.Form} instance with original (not url-decoded) values in
      * {@link org.glassfish.jersey.server.ContainerRequest} properties.
      */
     public static final String FORM_PROPERTY = "jersey.config.server.representation.form";
 
     /**
-     * Used internally for storing {@link javax.ws.rs.core.Form} instance with url-decoded values in
+     * Used internally for storing {@link jakarta.ws.rs.core.Form} instance with url-decoded values in
      * {@link org.glassfish.jersey.server.ContainerRequest} properties.
      */
     public static final String FORM_DECODED_PROPERTY = "jersey.config.server.representation.decoded.form";
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/JerseyRequestTimeoutHandler.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/JerseyRequestTimeoutHandler.java
index c4e6846..761065e 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/JerseyRequestTimeoutHandler.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/JerseyRequestTimeoutHandler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.AsyncResponse;
 
 import org.glassfish.jersey.server.spi.ContainerResponseWriter;
 import org.glassfish.jersey.server.spi.ContainerResponseWriter.TimeoutHandler;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/JerseyResourceContext.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/JerseyResourceContext.java
index 8cefbf2..f8abbed 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/JerseyResourceContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/JerseyResourceContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,10 +26,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.container.ResourceContext;
 
-import javax.inject.Scope;
-import javax.inject.Singleton;
+import jakarta.inject.Scope;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.Binding;
 import org.glassfish.jersey.internal.inject.Bindings;
@@ -102,7 +102,7 @@
      *
      * @param <T>           type of the resource class.
      * @param resourceClass resource class that should be bound. If the class is not
-     *                      annotated with {@link javax.inject.Singleton Singleton annotation} it
+     *                      annotated with {@link jakarta.inject.Singleton Singleton annotation} it
      *                      will be ignored by this method.
      */
     public <T> void bindResource(Class<T> resourceClass) {
@@ -125,7 +125,7 @@
      * as a singleton is silently ignored.
      *
      * @param resource singleton resource instance that should be bound as singleton. If the class is not
-     *                 annotated with {@link javax.inject.Singleton Singleton annotation} it
+     *                 annotated with {@link jakarta.inject.Singleton Singleton annotation} it
      *                 will be ignored by this method.
      */
     @SuppressWarnings("unchecked")
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/JsonWithPaddingInterceptor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/JsonWithPaddingInterceptor.java
index e7ac80e..03ed589 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/JsonWithPaddingInterceptor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/JsonWithPaddingInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,17 +25,17 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.InterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.InterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.JerseyPriorities;
 import org.glassfish.jersey.message.MessageUtils;
@@ -132,7 +132,7 @@
      *
      * @param context an {@link InterceptorContext interceptor context} to obtain the annotation from.
      * @return {@link JSONP} annotation or {@code null} if the resource method is not annotated with this annotation.
-     * @see javax.ws.rs.ext.InterceptorContext#getAnnotations()
+     * @see jakarta.ws.rs.ext.InterceptorContext#getAnnotations()
      */
     private JSONP getJsonpAnnotation(final InterceptorContext context) {
         final Annotation[] annotations = context.getAnnotations();
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/MappableExceptionWrapperInterceptor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/MappableExceptionWrapperInterceptor.java
index d6e3e34..13d5e3f 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/MappableExceptionWrapperInterceptor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/MappableExceptionWrapperInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,15 +18,15 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/ProcessingProviders.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/ProcessingProviders.java
index 76dbcb4..289f1f7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/ProcessingProviders.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/ProcessingProviders.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,12 @@
 import java.lang.annotation.Annotation;
 import java.util.List;
 
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.inject.Providers;
 import org.glassfish.jersey.model.internal.RankedComparator;
@@ -74,7 +74,7 @@
      * @param nameBoundWriterInterceptors Name bound {@link WriterInterceptor writer interceptors}.
      * @param nameBoundWriterInterceptorsInverse Inverse map with name bound {@link WriterInterceptor writer interceptors}.
      * @param globalRequestFilters Global {@link ContainerRequestFilter request filters}.
-     * @param preMatchFilters {@link javax.ws.rs.container.PreMatching Pre-matching}
+     * @param preMatchFilters {@link jakarta.ws.rs.container.PreMatching Pre-matching}
      *                          {@link ContainerRequestFilter request filters}.
      * @param globalResponseFilters Global {@link ContainerResponseFilter response filters}.
      * @param globalReaderInterceptors Global {@link ReaderInterceptor reader interceptors}.
@@ -121,7 +121,7 @@
      * Get name bound request filters.
      *
      * @return Name bound {@link ContainerRequestFilter request filter} map. Keys are request filters and
-     *         values are {@link javax.ws.rs.NameBinding name bound annotations} attached to these filters.
+     *         values are {@link jakarta.ws.rs.NameBinding name bound annotations} attached to these filters.
      */
     public MultivaluedMap<Class<? extends Annotation>, RankedProvider<ContainerRequestFilter>> getNameBoundRequestFilters() {
         return nameBoundRequestFilters;
@@ -131,7 +131,7 @@
      * Get name bound request filter inverse map.
      *
      * @return Name bound {@link ContainerRequestFilter request filter} map. Keys are request filters and
-     *         values are {@link javax.ws.rs.NameBinding name bound annotations} attached to these filters.
+     *         values are {@link jakarta.ws.rs.NameBinding name bound annotations} attached to these filters.
      */
     public
     MultivaluedMap<RankedProvider<ContainerRequestFilter>, Class<? extends Annotation>> getNameBoundRequestFiltersInverse() {
@@ -142,7 +142,7 @@
      * Get name bound response filters.
      *
      * @return Name bound {@link ContainerResponseFilter response filter} map. Keys are response filters and
-     *         values are {@link javax.ws.rs.NameBinding name bound annotations} attached to these filters.
+     *         values are {@link jakarta.ws.rs.NameBinding name bound annotations} attached to these filters.
      */
     public MultivaluedMap<Class<? extends Annotation>, RankedProvider<ContainerResponseFilter>> getNameBoundResponseFilters() {
         return nameBoundResponseFilters;
@@ -152,7 +152,7 @@
      * Get name bound response filter inverse map.
      *
      * @return Name bound {@link ContainerRequestFilter response filter} map. Keys are response filters and
-     *         values are {@link javax.ws.rs.NameBinding name bound annotations} attached to these filters.
+     *         values are {@link jakarta.ws.rs.NameBinding name bound annotations} attached to these filters.
      */
     public
     MultivaluedMap<RankedProvider<ContainerResponseFilter>, Class<? extends Annotation>> getNameBoundResponseFiltersInverse() {
@@ -162,7 +162,7 @@
     /**
      * Get name bound reader interceptor map.
      *
-     * @return Returns Name bound {@link ReaderInterceptor reader interceptor} map. Keys are {@link javax.ws.rs.NameBinding name
+     * @return Returns Name bound {@link ReaderInterceptor reader interceptor} map. Keys are {@link jakarta.ws.rs.NameBinding name
      *         bound annotations} and values are providers which are annotated with these annotations.
      */
     public MultivaluedMap<Class<? extends Annotation>, RankedProvider<ReaderInterceptor>> getNameBoundReaderInterceptors() {
@@ -173,7 +173,7 @@
      * Get name bound reader interceptor inverse map.
      *
      * @return Name bound {@link ReaderInterceptor reader interceptor} map. Keys are reader interceptors and
-     *         values are {@link javax.ws.rs.NameBinding name bound annotations} attached to these interceptors.
+     *         values are {@link jakarta.ws.rs.NameBinding name bound annotations} attached to these interceptors.
      */
     public
     MultivaluedMap<RankedProvider<ReaderInterceptor>, Class<? extends Annotation>> getNameBoundReaderInterceptorsInverse() {
@@ -183,7 +183,7 @@
     /**
      * Get name bound writer interceptor map.
      *
-     * @return Returns Name bound {@link WriterInterceptor writer interceptor} map. Keys are {@link javax.ws.rs.NameBinding name
+     * @return Returns Name bound {@link WriterInterceptor writer interceptor} map. Keys are {@link jakarta.ws.rs.NameBinding name
      *         bound annotations} and values are interceptors which are annotated with these annotations.
      */
     public MultivaluedMap<Class<? extends Annotation>, RankedProvider<WriterInterceptor>> getNameBoundWriterInterceptors() {
@@ -194,7 +194,7 @@
      * Get name bound writer interceptor inverse map.
      *
      * @return Name bound {@link WriterInterceptor writer interceptor} map. Keys are reader interceptors and
-     *         values are {@link javax.ws.rs.NameBinding name bound annotations} attached to these interceptors.
+     *         values are {@link jakarta.ws.rs.NameBinding name bound annotations} attached to these interceptors.
      */
     public
     MultivaluedMap<RankedProvider<WriterInterceptor>, Class<? extends Annotation>> getNameBoundWriterInterceptorsInverse() {
@@ -283,7 +283,7 @@
     }
 
     /**
-     * Get {@link javax.ws.rs.container.PreMatching pre-matching} request filters.
+     * Get {@link jakarta.ws.rs.container.PreMatching pre-matching} request filters.
      * @return Pre-matching request filter ranked providers.
      */
     public List<RankedProvider<ContainerRequestFilter>> getPreMatchFilters() {
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/RuntimeDelegateImpl.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/RuntimeDelegateImpl.java
index be60dcf..ab70a02 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/RuntimeDelegateImpl.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/RuntimeDelegateImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.server.internal;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.internal.AbstractRuntimeDelegate;
 import org.glassfish.jersey.message.internal.MessagingBinders;
 import org.glassfish.jersey.server.ContainerFactory;
 
 /**
- * Server-side implementation of JAX-RS {@link javax.ws.rs.ext.RuntimeDelegate}.
- * This overrides the default implementation of {@link javax.ws.rs.ext.RuntimeDelegate} from
- * jersey-common which does not implement {@link #createEndpoint(javax.ws.rs.core.Application, java.lang.Class)}
+ * Server-side implementation of JAX-RS {@link jakarta.ws.rs.ext.RuntimeDelegate}.
+ * This overrides the default implementation of {@link jakarta.ws.rs.ext.RuntimeDelegate} from
+ * jersey-common which does not implement {@link #createEndpoint(jakarta.ws.rs.core.Application, java.lang.Class)}
  * method.
  *
  * @author Jakub Podlesak
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/ServerTraceEvent.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/ServerTraceEvent.java
index b3fcbab..dfd2f87 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/ServerTraceEvent.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/ServerTraceEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.internal;
 
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.message.internal.TracingLogger;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AbstractParamValueExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AbstractParamValueExtractor.java
index e638ca5..e316763 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AbstractParamValueExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AbstractParamValueExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.ParamConverter;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.internal.util.collection.UnsafeValue;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AbstractValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AbstractValueParamProvider.java
index 70dcaae..53f6042 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AbstractValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AbstractValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.Set;
 import java.util.function.Function;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.model.Parameter;
@@ -30,7 +30,7 @@
 /**
  * A parameter value provider that provides parameter value factories
  * which are using {@link MultivaluedParameterExtractorProvider} to extract parameter
- * values from the supplied {@link javax.ws.rs.core.MultivaluedMap multivalued
+ * values from the supplied {@link jakarta.ws.rs.core.MultivaluedMap multivalued
  * parameter map}.
  *
  * @author Paul Sandoz
@@ -57,7 +57,7 @@
      * Get a parameter extractor.
      * The extractor returned from this method will use the default value
      * set on the parameter, in case the parameter is not found in the supplied
-     * {@link javax.ws.rs.core.MultivaluedMap multivalued parameter map}.
+     * {@link jakarta.ws.rs.core.MultivaluedMap multivalued parameter map}.
      *
      * @param parameter parameter supported by the returned extractor.
      * @return extractor supporting the parameter. The returned instance ignores
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ArrayExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ArrayExtractor.java
index bef6379..ce6bb29 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ArrayExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ArrayExtractor.java
@@ -20,9 +20,9 @@
 import java.util.List;
 import java.util.function.Function;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ParamConverter;
 
 /**
  * Extract parameter value as an array.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AsyncResponseValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AsyncResponseValueParamProvider.java
index cc583f5..3bb3c9e 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AsyncResponseValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/AsyncResponseValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.function.Function;
 
-import javax.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.AsyncResponse;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.AsyncContext;
@@ -28,7 +28,7 @@
 import org.glassfish.jersey.server.spi.internal.ValueParamProvider;
 
 /**
- * Value factory provider supporting the {@link javax.ws.rs.container.Suspended} injection annotation.
+ * Value factory provider supporting the {@link jakarta.ws.rs.container.Suspended} injection annotation.
  *
  * @author Marek Potociar
  */
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/BeanParamValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/BeanParamValueParamProvider.java
index 8bd0a7a..117ce26 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/BeanParamValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/BeanParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.util.function.Function;
 
-import javax.ws.rs.BeanParam;
+import jakarta.ws.rs.BeanParam;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.Bindings;
 import org.glassfish.jersey.internal.inject.ForeignDescriptor;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/CollectionExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/CollectionExtractor.java
index d759f23..0811758 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/CollectionExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/CollectionExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,9 +24,9 @@
 import java.util.SortedSet;
 import java.util.TreeSet;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ParamConverter;
 
 import org.glassfish.jersey.server.internal.LocalizationMessages;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ConfiguredValidator.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ConfiguredValidator.java
index 94d2f3c..7bc752a 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ConfiguredValidator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ConfiguredValidator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.validation.ConstraintViolationException;
-import javax.validation.Validator;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.Validator;
 
 import org.glassfish.jersey.server.model.Invocable;
 import org.glassfish.jersey.spi.Contract;
@@ -37,7 +37,7 @@
      * @param resource resource class instance.
      * @param resourceMethod invocable containing handling and validation methods.
      * @param args input method parameters.
-     * @throws ConstraintViolationException if {@link javax.validation.ConstraintViolation} occurs (should be mapped to HTTP
+     * @throws ConstraintViolationException if {@link jakarta.validation.ConstraintViolation} occurs (should be mapped to HTTP
      * 400 status).
      */
     void validateResourceAndInputParams(final Object resource, final Invocable resourceMethod, final Object[] args)
@@ -50,7 +50,7 @@
      * @param resource resource class instance.
      * @param resourceMethod invocable containing handling and validation methods.
      * @param result response entity.
-     * @throws ConstraintViolationException if {@link javax.validation.ConstraintViolation} occurs (should be mapped to HTTP
+     * @throws ConstraintViolationException if {@link jakarta.validation.ConstraintViolation} occurs (should be mapped to HTTP
      * 500 status).
      */
     void validateResult(final Object resource, final Invocable resourceMethod, final Object result)
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/CookieParamValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/CookieParamValueParamProvider.java
index 224f0ab..d4d1d8c 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/CookieParamValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/CookieParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,12 @@
 import java.util.Map;
 import java.util.function.Function;
 
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.internal.util.collection.MultivaluedStringMap;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/DelegatedInjectionValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/DelegatedInjectionValueParamProvider.java
index 89842e0..63466f0 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/DelegatedInjectionValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/DelegatedInjectionValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.reflect.ParameterizedType;
 import java.util.function.Function;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.Binding;
 import org.glassfish.jersey.internal.inject.Bindings;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/EntityParamValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/EntityParamValueParamProvider.java
index 5e6aa84..a852b15 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/EntityParamValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/EntityParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,13 +18,13 @@
 
 import java.util.function.Function;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.internal.LocalizationMessages;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/FormParamValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/FormParamValueParamProvider.java
index 8896f89..f1fcbeb 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/FormParamValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/FormParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,16 +25,16 @@
 import java.util.Set;
 import java.util.function.Function;
 
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.internal.util.collection.NullableMultivaluedHashMap;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/HeaderParamValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/HeaderParamValueParamProvider.java
index bbfe3e1..57f6faf 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/HeaderParamValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/HeaderParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.util.function.Function;
 
-import javax.ws.rs.HeaderParam;
+import jakarta.ws.rs.HeaderParam;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MatrixParamValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MatrixParamValueParamProvider.java
index d7a3046..582d479 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MatrixParamValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MatrixParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.List;
 import java.util.function.Function;
 
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.core.PathSegment;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.core.PathSegment;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MultivaluedParameterExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MultivaluedParameterExtractor.java
index e070163..18a85b0 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MultivaluedParameterExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MultivaluedParameterExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * Provider that converts the values of an entry of a given {@link #getName() name}
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MultivaluedParameterExtractorFactory.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MultivaluedParameterExtractorFactory.java
index 017b2db..06c4f58 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MultivaluedParameterExtractorFactory.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/MultivaluedParameterExtractorFactory.java
@@ -25,9 +25,10 @@
 import java.util.Set;
 import java.util.SortedSet;
 
-import javax.inject.Singleton;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.ext.ParamConverter;
+
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.internal.inject.ParamConverterFactory;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ParamExtractorConfigurator.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ParamExtractorConfigurator.java
index 796ce20..ef540e2 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ParamExtractorConfigurator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ParamExtractorConfigurator.java
@@ -17,7 +17,7 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ParamInjectionResolver.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ParamInjectionResolver.java
index 7ff0dfd..d932144 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ParamInjectionResolver.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ParamInjectionResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,9 +24,9 @@
 import java.util.function.Function;
 import java.util.function.Supplier;
 
-import javax.ws.rs.Encoded;
+import jakarta.ws.rs.Encoded;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.Injectee;
 import org.glassfish.jersey.internal.inject.InjectionResolver;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PathParamValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PathParamValueParamProvider.java
index d89725e..918f585 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PathParamValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PathParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
 import java.util.List;
 import java.util.function.Function;
 
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.PathSegment;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.PathSegment;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PrimitiveCharacterExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PrimitiveCharacterExtractor.java
index 1f26333..f78dd17 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PrimitiveCharacterExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PrimitiveCharacterExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.server.internal.LocalizationMessages;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PrimitiveValueOfExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PrimitiveValueOfExtractor.java
index 38bad67..3ee9b83 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PrimitiveValueOfExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/PrimitiveValueOfExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,9 +19,9 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/QueryParamValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/QueryParamValueParamProvider.java
index 99bdfe8..dd76474 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/QueryParamValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/QueryParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.util.function.Function;
 
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.QueryParam;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/SingleStringValueExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/SingleStringValueExtractor.java
index 93f1bb4..8b682a1 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/SingleStringValueExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/SingleStringValueExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * Extract value of the parameter by returning the first string parameter value
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/SingleValueExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/SingleValueExtractor.java
index 8eb21d5..87d16a5 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/SingleValueExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/SingleValueExtractor.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ParamConverter;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/StringCollectionExtractor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/StringCollectionExtractor.java
index ca313ae..d0f031b 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/StringCollectionExtractor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/StringCollectionExtractor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,7 +24,7 @@
 import java.util.SortedSet;
 import java.util.TreeSet;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * Extract parameter value as a specific {@code String} Java collection type.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ValueParamProviderConfigurator.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ValueParamProviderConfigurator.java
index f2a6979..b9ddc55 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ValueParamProviderConfigurator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/ValueParamProviderConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,17 +23,17 @@
 import java.util.List;
 import java.util.function.Supplier;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Configuration;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/WebTargetValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/WebTargetValueParamProvider.java
index 6257618..64fefb7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/WebTargetValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/inject/WebTargetValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -28,12 +28,12 @@
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.Errors;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/ApplicationInfoListener.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/ApplicationInfoListener.java
index 030e133..5c668b7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/ApplicationInfoListener.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/ApplicationInfoListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,9 +23,9 @@
 import org.glassfish.jersey.server.monitoring.RequestEvent;
 import org.glassfish.jersey.server.monitoring.RequestEventListener;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 import java.util.Date;
 
 /**
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/EmptyRequestEventBuilder.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/EmptyRequestEventBuilder.java
index 766c216..34e3411 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/EmptyRequestEventBuilder.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/EmptyRequestEventBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.internal.monitoring;
 
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringAutodiscoverable.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringAutodiscoverable.java
index cf2ca09..588b797 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringAutodiscoverable.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringAutodiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.internal.monitoring;
 
-import javax.annotation.Priority;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringContainerListener.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringContainerListener.java
index 33c96a4..6444d5b 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringContainerListener.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringContainerListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.internal.monitoring;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.monitoring.ApplicationEvent;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringEventListener.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringEventListener.java
index dd397bf..bcff62e 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringEventListener.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringEventListener.java
@@ -25,9 +25,9 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.ws.rs.ProcessingException;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.ProcessingException;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.server.internal.LocalizationMessages;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringFeature.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringFeature.java
index 79f9fda..365b24c 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringFeature.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,13 +19,13 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.ReferencingFactory;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringStatisticsProcessor.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringStatisticsProcessor.java
index 580c1db..8ee3414 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringStatisticsProcessor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/MonitoringStatisticsProcessor.java
@@ -26,8 +26,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/RequestEventBuilder.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/RequestEventBuilder.java
index 02cbc77..0f9d563 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/RequestEventBuilder.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/RequestEventBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.internal.monitoring;
 
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/RequestEventImpl.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/RequestEventImpl.java
index 58346dd..f216ff5 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/RequestEventImpl.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/RequestEventImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.internal.monitoring;
 
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/jmx/MBeanExposer.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/jmx/MBeanExposer.java
index 1f0849c..a7d5829 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/jmx/MBeanExposer.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/monitoring/jmx/MBeanExposer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,10 +24,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 import javax.management.JMException;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/MappableException.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/MappableException.java
index 2105b94..02ce352 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/MappableException.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/MappableException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.server.internal.process;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 /**
  * A runtime exception that contains a cause, a checked or runtime exception,
- * that may be mapped to a {@link javax.ws.rs.core.Response} instance.
+ * that may be mapped to a {@link jakarta.ws.rs.core.Response} instance.
  * <p>
  * The runtime will catch such exceptions and attempt to map the cause
- * exception to a registered {@link javax.ws.rs.ext.ExceptionMapper} that
- * provides an appropriate {@link javax.ws.rs.core.Response} instance.
+ * exception to a registered {@link jakarta.ws.rs.ext.ExceptionMapper} that
+ * provides an appropriate {@link jakarta.ws.rs.core.Response} instance.
  *
  * @author Paul Sandoz
  * @author Marek Potociar
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/ReferencesInitializer.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/ReferencesInitializer.java
index 26ead31..035a6fb 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/ReferencesInitializer.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/ReferencesInitializer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.function.Function;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.server.spi.RequestScopedInitializer;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/RequestProcessingConfigurator.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/RequestProcessingConfigurator.java
index 1e703c1..9194c47 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/RequestProcessingConfigurator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/RequestProcessingConfigurator.java
@@ -18,15 +18,15 @@
 
 import java.util.function.Supplier;
 
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/RequestProcessingContext.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/RequestProcessingContext.java
index 5403aaf..2bfaf73 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/RequestProcessingContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/RequestProcessingContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -109,9 +109,9 @@
      * <p>
      * This instance is used  by {@link RequestProcessingConfigurator} to satisfy injection of multiple types, namely:
      * <ul>
-     * <li>{@link javax.ws.rs.core.UriInfo}<li>
+     * <li>{@link jakarta.ws.rs.core.UriInfo}<li>
      * </li>{@link org.glassfish.jersey.server.ExtendedUriInfo}<li>
-     * </li>{@link javax.ws.rs.container.ResourceInfo}</li>
+     * </li>{@link jakarta.ws.rs.container.ResourceInfo}</li>
      * </ul>
      * </p>
      *
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/SecurityContextInjectee.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/SecurityContextInjectee.java
index 87ce07a..8026423 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/process/SecurityContextInjectee.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/process/SecurityContextInjectee.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.security.Principal;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.server.internal.LocalizationMessages;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/MethodSelectingRouter.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/AbstractMethodSelectingRouter.java
similarity index 93%
rename from core-server/src/main/java/org/glassfish/jersey/server/internal/routing/MethodSelectingRouter.java
rename to core-server/src/main/java/org/glassfish/jersey/server/internal/routing/AbstractMethodSelectingRouter.java
index 46e20cb..6416ed4 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/MethodSelectingRouter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/AbstractMethodSelectingRouter.java
@@ -16,6 +16,31 @@
 
 package org.glassfish.jersey.server.internal.routing;
 
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.NotAcceptableException;
+import jakarta.ws.rs.NotAllowedException;
+import jakarta.ws.rs.NotSupportedException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import org.glassfish.jersey.internal.guava.Primitives;
+import org.glassfish.jersey.internal.routing.CombinedMediaType;
+import org.glassfish.jersey.internal.routing.ContentTypeDeterminer;
+import org.glassfish.jersey.internal.routing.RequestSpecificConsumesProducesAcceptor;
+import org.glassfish.jersey.message.MessageBodyWorkers;
+import org.glassfish.jersey.message.ReaderModel;
+import org.glassfish.jersey.message.WriterModel;
+import org.glassfish.jersey.message.internal.AcceptableMediaType;
+import org.glassfish.jersey.message.internal.MediaTypes;
+import org.glassfish.jersey.server.ContainerRequest;
+import org.glassfish.jersey.server.ContainerResponse;
+import org.glassfish.jersey.server.internal.LocalizationMessages;
+import org.glassfish.jersey.server.internal.process.RequestProcessingContext;
+import org.glassfish.jersey.server.model.Invocable;
+import org.glassfish.jersey.server.model.Parameter;
+import org.glassfish.jersey.server.model.ResourceMethod;
+
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
 import java.util.Collections;
@@ -32,47 +57,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.NotAcceptableException;
-import javax.ws.rs.NotAllowedException;
-import javax.ws.rs.NotSupportedException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+abstract class AbstractMethodSelectingRouter extends ContentTypeDeterminer implements Router {
 
-import org.glassfish.jersey.internal.guava.Primitives;
-import org.glassfish.jersey.internal.routing.ContentTypeDeterminer;
-import org.glassfish.jersey.internal.routing.CombinedMediaType;
-import org.glassfish.jersey.internal.routing.RequestSpecificConsumesProducesAcceptor;
-import org.glassfish.jersey.message.MessageBodyWorkers;
-import org.glassfish.jersey.message.ReaderModel;
-import org.glassfish.jersey.message.WriterModel;
-import org.glassfish.jersey.message.internal.AcceptableMediaType;
-import org.glassfish.jersey.message.internal.MediaTypes;
-import org.glassfish.jersey.server.ContainerRequest;
-import org.glassfish.jersey.server.ContainerResponse;
-import org.glassfish.jersey.server.internal.LocalizationMessages;
-import org.glassfish.jersey.server.internal.process.RequestProcessingContext;
-import org.glassfish.jersey.server.model.Invocable;
-import org.glassfish.jersey.server.model.Parameter;
-import org.glassfish.jersey.server.model.ResourceMethod;
-
-/**
- * A single router responsible for selecting a single method from all the methods
- * bound to the same routed request path.
- *
- * The method selection algorithm selects the handling method based on the HTTP request
- * method name, requested media type as well as defined resource method media type
- * capabilities.
- *
- * @author Jakub Podlesak
- * @author Marek Potociar
- */
-final class MethodSelectingRouter extends ContentTypeDeterminer implements Router {
-
-    private static final Logger LOGGER = Logger.getLogger(MethodSelectingRouter.class.getName());
+    private static final Logger LOGGER = Logger.getLogger(AbstractMethodSelectingRouter.class.getName());
 
     private static final Comparator<ConsumesProducesAcceptor> CONSUMES_PRODUCES_ACCEPTOR_COMPARATOR =
             new Comparator<ConsumesProducesAcceptor>() {
@@ -124,7 +111,7 @@
      * @param workers        message body workers.
      * @param methodRoutings [method model, method methodAcceptorPair] pairs.
      */
-    MethodSelectingRouter(MessageBodyWorkers workers, List<MethodRouting> methodRoutings) {
+    AbstractMethodSelectingRouter(MessageBodyWorkers workers, List<MethodRouting> methodRoutings) {
         super(workers);
 
         this.consumesProducesAcceptors = new HashMap<>();
@@ -160,6 +147,10 @@
         return consumesProducesAcceptors.keySet();
     }
 
+    protected abstract ConsumesProducesAcceptor createConsumesProducesAcceptor(CombinedMediaType.EffectiveMediaType consumes,
+                                                      CombinedMediaType.EffectiveMediaType produces,
+                                                      MethodRouting methodRouting);
+
     /**
      * Represents a 1-1-1 relation between input and output media type and an methodAcceptorPair.
      * <p>E.g. for a single resource method
@@ -192,13 +183,13 @@
      * </tr>
      * </table>
      */
-    private static class ConsumesProducesAcceptor {
+    protected abstract static class ConsumesProducesAcceptor {
 
         final CombinedMediaType.EffectiveMediaType consumes;
         final CombinedMediaType.EffectiveMediaType produces;
         final MethodRouting methodRouting;
 
-        private ConsumesProducesAcceptor(
+        protected ConsumesProducesAcceptor(
                 CombinedMediaType.EffectiveMediaType consumes,
                 CombinedMediaType.EffectiveMediaType produces,
                 MethodRouting methodRouting) {
@@ -210,12 +201,10 @@
         /**
          * Determines whether this {@code ConsumesProducesAcceptor} router can process the {@code request}.
          *
-         * @param requestContext The request to be tested.
+         * @param contentType The media type of the {@code request} to be tested (can be NULL).
          * @return True if the {@code request} can be processed by this router, false otherwise.
          */
-        boolean isConsumable(ContainerRequest requestContext, MediaType contentType) {
-            return contentType == null || consumes.getMediaType().isCompatible(contentType);
-        }
+        abstract boolean isConsumable(MediaType contentType);
 
         @Override
         public String toString() {
@@ -320,7 +309,7 @@
         for (MediaType consumes : effectiveInputTypes) {
             for (MediaType produces : effectiveOutputTypes) {
 
-                acceptorSet.add(new ConsumesProducesAcceptor(
+                acceptorSet.add(createConsumesProducesAcceptor(
                         new CombinedMediaType.EffectiveMediaType(consumes, consumesFromWorkers),
                         new CombinedMediaType.EffectiveMediaType(produces, producesFromWorkers),
                         methodRouting));
@@ -405,14 +394,14 @@
         final List<ConsumesProducesAcceptor> acceptors = consumesProducesAcceptors.get(request.getMethod());
         if (acceptors == null) {
             throw new NotAllowedException(
-                    Response.status(Status.METHOD_NOT_ALLOWED).allow(consumesProducesAcceptors.keySet()).build());
+                    Response.status(Response.Status.METHOD_NOT_ALLOWED).allow(consumesProducesAcceptors.keySet()).build());
         }
 
         final List<ConsumesProducesAcceptor> satisfyingAcceptors = new LinkedList<>();
         final Set<ResourceMethod> differentInvokableMethods = Collections.newSetFromMap(new IdentityHashMap<>());
         final MediaType requestContentType = request.getMediaType();
-        for (ConsumesProducesAcceptor cpi : acceptors) {
-            if (cpi.isConsumable(request, requestContentType)) {
+        for (final ConsumesProducesAcceptor cpi : acceptors) {
+            if (cpi.isConsumable(requestContentType)) {
                 satisfyingAcceptors.add(cpi);
                 differentInvokableMethods.add(cpi.methodRouting.method);
             }
@@ -583,9 +572,9 @@
      * @return method to be invoked.
      */
     private MethodSelector selectMethod(final List<AcceptableMediaType> acceptableMediaTypes,
-                                        final List<ConsumesProducesAcceptor> satisfyingAcceptors,
-                                        final MediaType effectiveContentType,
-                                        final boolean singleInvokableMethod) {
+                                                              final List<ConsumesProducesAcceptor> satisfyingAcceptors,
+                                                              final MediaType effectiveContentType,
+                                                              final boolean singleInvokableMethod) {
 
         // Selected method we have a reader and writer for.
         final MethodSelector method = new MethodSelector(null);
@@ -603,10 +592,10 @@
                             CombinedMediaType.create(effectiveContentType, satisfiable.consumes);
                     final RequestSpecificConsumesProducesAcceptor<MethodRouting> candidate =
                             new RequestSpecificConsumesProducesAcceptor<>(
-                            consumes,
-                            produces,
-                            satisfiable.produces.isDerived(),
-                            satisfiable.methodRouting);
+                                    consumes,
+                                    produces,
+                                    satisfiable.produces.isDerived(),
+                                    satisfiable.methodRouting);
 
                     if (singleInvokableMethod) {
                         // Only one possible method and it's compatible.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/OctetStreamMethodSelectingRouter.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/OctetStreamMethodSelectingRouter.java
new file mode 100644
index 0000000..c7cc880
--- /dev/null
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/OctetStreamMethodSelectingRouter.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2012, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.server.internal.routing;
+
+import java.util.List;
+import jakarta.ws.rs.core.MediaType;
+import org.glassfish.jersey.internal.routing.CombinedMediaType;
+import org.glassfish.jersey.message.MessageBodyWorkers;
+import org.glassfish.jersey.server.ContainerRequest;
+import org.glassfish.jersey.server.model.ResourceMethod;
+
+/**
+ * A single router responsible for selecting a single method from all the methods
+ * bound to the same routed request path.
+ *
+ * The method selection algorithm selects the handling method based on the HTTP request
+ * method name, requested media type as well as defined resource method media type
+ * capabilities.
+ */
+final class OctetStreamMethodSelectingRouter extends AbstractMethodSelectingRouter implements Router {
+
+    /**
+     * Create a new {@code MethodSelectingRouter} for all the methods on the same path.
+     *
+     * The router selects the method that best matches the request based on
+     * produce/consume information from the resource method models.
+     *
+     * @param workers        message body workers.
+     * @param methodRoutings [method model, method methodAcceptorPair] pairs.
+     */
+    OctetStreamMethodSelectingRouter(MessageBodyWorkers workers, List<MethodRouting> methodRoutings) {
+        super(workers, methodRoutings);
+    }
+
+    @Override
+    protected AbstractMethodSelectingRouter.ConsumesProducesAcceptor createConsumesProducesAcceptor(
+            CombinedMediaType.EffectiveMediaType consumes,
+            CombinedMediaType.EffectiveMediaType produces,
+            MethodRouting methodRouting) {
+        return new ConsumesProducesAcceptor(consumes, produces, methodRouting);
+    }
+
+    private static class ConsumesProducesAcceptor extends AbstractMethodSelectingRouter.ConsumesProducesAcceptor {
+        private ConsumesProducesAcceptor(
+                CombinedMediaType.EffectiveMediaType consumes,
+                CombinedMediaType.EffectiveMediaType produces,
+                MethodRouting methodRouting) {
+            super(consumes, produces, methodRouting);
+        }
+
+        /**
+         * Determines whether this {@code ConsumesProducesAcceptor} router can process the {@code request}.
+         *
+         * @param contentType The media type of the {@code request} to be tested (can be NULL).
+         * @return True if the {@code request} can be processed by this router, false otherwise.
+         */
+        @Override
+        boolean isConsumable(MediaType contentType) {
+            if (contentType == null && methodRouting.method.getType() != ResourceMethod.JaxrsType.SUB_RESOURCE_LOCATOR
+                    && methodRouting.method.getInvocable().requiresEntity()) {
+                contentType = MediaType.APPLICATION_OCTET_STREAM_TYPE;
+            }
+            return contentType == null || consumes.getMediaType().isCompatible(contentType);
+        }
+    }
+}
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PathMatchingRouterBuilder.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PathMatchingRouterBuilder.java
index 1eebab9..50570b8 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PathMatchingRouterBuilder.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PathMatchingRouterBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -65,8 +65,9 @@
 
     @Override
     public PathMatchingRouterBuilder to(final Router router) {
-        if (MethodSelectingRouter.class.isInstance(router)) {
-            acceptedRoutes.get(acceptedRoutes.size() - 1).setHttpMethods(((MethodSelectingRouter) router).getHttpMethods());
+        if (AbstractMethodSelectingRouter.class.isInstance(router)) {
+            acceptedRoutes.get(acceptedRoutes.size() - 1)
+                    .setHttpMethods(((AbstractMethodSelectingRouter) router).getHttpMethods());
         }
         currentRouters.add(router);
         return this;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PushMatchedUriRouter.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PushMatchedUriRouter.java
index ae66432..f325f69 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PushMatchedUriRouter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PushMatchedUriRouter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 
 /**
  * Terminal router that pushes the URI matched so far to the stack returned
- * by {@link javax.ws.rs.core.UriInfo#getMatchedURIs()} method.
+ * by {@link jakarta.ws.rs.core.UriInfo#getMatchedURIs()} method.
  *
  * @author Marek Potociar
  */
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PushMethodHandlerRouter.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PushMethodHandlerRouter.java
index 088f692..aab05f4 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PushMethodHandlerRouter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/PushMethodHandlerRouter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 
 /**
  * Terminal router that pushes the matched method's handler instance to the stack
- * returned by {@link javax.ws.rs.core.UriInfo#getMatchedResources()} method.
+ * returned by {@link jakarta.ws.rs.core.UriInfo#getMatchedResources()} method.
  *
  * @author Marek Potociar
  */
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/Routing.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/Routing.java
index b5203cc..f2d0fe1 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/Routing.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/Routing.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.Collection;
 import java.util.function.Function;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.process.internal.ChainableStage;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RoutingContext.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RoutingContext.java
index 73895a3..856d90f 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RoutingContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RoutingContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.regex.MatchResult;
 
-import javax.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.container.ResourceInfo;
 
 import org.glassfish.jersey.server.ExtendedUriInfo;
 import org.glassfish.jersey.server.internal.process.Endpoint;
@@ -85,7 +85,7 @@
 
     /**
      * Add currently matched left-hand side part of request path to the list of
-     * matched paths returned by {@link javax.ws.rs.core.UriInfo#getMatchedURIs()}.
+     * matched paths returned by {@link jakarta.ws.rs.core.UriInfo#getMatchedURIs()}.
      * <p/>
      * Left-hand side request path is the request path excluding the suffix
      * part of the path matched by the {@link #getFinalMatchingGroup() final
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RuntimeLocatorModelBuilder.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RuntimeLocatorModelBuilder.java
index 0945bdd..aa5c0f3 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RuntimeLocatorModelBuilder.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RuntimeLocatorModelBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,8 +23,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.internal.Errors;
 import org.glassfish.jersey.internal.guava.CacheBuilder;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RuntimeModelBuilder.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RuntimeModelBuilder.java
index 3c2719e..10ce903 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RuntimeModelBuilder.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/RuntimeModelBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,11 +22,12 @@
 import java.util.List;
 import java.util.function.Function;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.internal.util.collection.Value;
 import org.glassfish.jersey.internal.util.collection.Values;
 import org.glassfish.jersey.message.MessageBodyWorkers;
+import org.glassfish.jersey.server.ServerProperties;
 import org.glassfish.jersey.server.internal.JerseyResourceContext;
 import org.glassfish.jersey.server.internal.ProcessingProviders;
 import org.glassfish.jersey.server.internal.process.Endpoint;
@@ -55,6 +56,7 @@
 
     // SubResourceLocator Model Builder.
     private final Value<RuntimeLocatorModelBuilder> locatorBuilder;
+    private final boolean isWildcardMethodSelectingRouter;
 
     /**
      * Create a new instance of the runtime model builder.
@@ -83,6 +85,8 @@
         this.locatorBuilder = Values.lazy((Value<RuntimeLocatorModelBuilder>)
                 () -> new RuntimeLocatorModelBuilder(config, messageBodyWorkers, valueSuppliers, resourceContext,
                         RuntimeModelBuilder.this, modelProcessors, createServiceFunction));
+        this.isWildcardMethodSelectingRouter = ServerProperties.getValue(config.getProperties(),
+                ServerProperties.EMPTY_REQUEST_MEDIA_TYPE_MATCHES_ANY_CONSUMES, true);
     }
 
     private Router createMethodRouter(final ResourceMethod resourceMethod) {
@@ -149,7 +153,9 @@
             // resource methods
             if (!resource.getResourceMethods().isEmpty()) {
                 final List<MethodRouting> methodRoutings = createResourceMethodRouters(resource, subResourceMode);
-                final Router methodSelectingRouter = new MethodSelectingRouter(messageBodyWorkers, methodRoutings);
+                final Router methodSelectingRouter = isWildcardMethodSelectingRouter
+                        ? new WildcardMethodSelectingRouter(messageBodyWorkers, methodRoutings)
+                        : new OctetStreamMethodSelectingRouter(messageBodyWorkers, methodRoutings);
                 if (subResourceMode) {
                     currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.END_OF_PATH_PATTERN)
                             .to(resourcePushingRouter)
@@ -178,7 +184,9 @@
                         srRoutedBuilder = startNextRoute(srRoutedBuilder, childClosedPattern)
                                 .to(uriPushingRouter)
                                 .to(childResourcePushingRouter)
-                                .to(new MethodSelectingRouter(messageBodyWorkers, childMethodRoutings));
+                                .to(isWildcardMethodSelectingRouter
+                                        ? new WildcardMethodSelectingRouter(messageBodyWorkers, childMethodRoutings)
+                                        : new OctetStreamMethodSelectingRouter(messageBodyWorkers, childMethodRoutings));
                     }
 
                     // sub resource locator
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/SubResourceLocatorRouter.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/SubResourceLocatorRouter.java
index c0c2e54..73281f9 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/SubResourceLocatorRouter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/SubResourceLocatorRouter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,10 +24,10 @@
 import java.util.List;
 import java.util.function.Function;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.SecurityContext;
 
 import org.glassfish.jersey.server.SubjectSecurityContext;
 import org.glassfish.jersey.server.internal.JerseyResourceContext;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/UriRoutingContext.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/UriRoutingContext.java
index fd29b34..40faecc 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/UriRoutingContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/UriRoutingContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -28,10 +28,10 @@
 import java.util.regex.MatchResult;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.internal.util.collection.ImmutableMultivaluedMap;
 import org.glassfish.jersey.message.internal.TracingLogger;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/WildcardMethodSelectingRouter.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/WildcardMethodSelectingRouter.java
new file mode 100644
index 0000000..6559d33
--- /dev/null
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/routing/WildcardMethodSelectingRouter.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2012, 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.server.internal.routing;
+
+import jakarta.ws.rs.core.MediaType;
+import org.glassfish.jersey.internal.routing.CombinedMediaType;
+import org.glassfish.jersey.message.MessageBodyWorkers;
+import org.glassfish.jersey.server.ContainerRequest;
+import java.util.List;
+
+/**
+ * A single router responsible for selecting a single method from all the methods
+ * bound to the same routed request path.
+ *
+ * The method selection algorithm selects the handling method based on the HTTP request
+ * method name, requested media type as well as defined resource method media type
+ * capabilities.
+ *
+ * @author Jakub Podlesak
+ * @author Marek Potociar
+ */
+final class WildcardMethodSelectingRouter extends AbstractMethodSelectingRouter implements Router {
+
+    /**
+     * Create a new {@code MethodSelectingRouter} for all the methods on the same path.
+     *
+     * The router selects the method that best matches the request based on
+     * produce/consume information from the resource method models.
+     *
+     * @param workers        message body workers.
+     * @param methodRoutings [method model, method methodAcceptorPair] pairs.
+     */
+    WildcardMethodSelectingRouter(MessageBodyWorkers workers, List<MethodRouting> methodRoutings) {
+        super(workers, methodRoutings);
+    }
+
+    @Override
+    protected AbstractMethodSelectingRouter.ConsumesProducesAcceptor createConsumesProducesAcceptor(
+            CombinedMediaType.EffectiveMediaType consumes,
+            CombinedMediaType.EffectiveMediaType produces,
+            MethodRouting methodRouting) {
+        return new ConsumesProducesAcceptor(consumes, produces, methodRouting);
+    }
+
+     private static class ConsumesProducesAcceptor extends AbstractMethodSelectingRouter.ConsumesProducesAcceptor {
+
+        private ConsumesProducesAcceptor(
+                CombinedMediaType.EffectiveMediaType consumes,
+                CombinedMediaType.EffectiveMediaType produces,
+                MethodRouting methodRouting) {
+            super(consumes, produces, methodRouting);
+        }
+
+        /**
+         * Determines whether this {@code ConsumesProducesAcceptor} router can process the {@code request}.
+         *
+         * @param contentType The media type of the {@code request} to be tested (can be NULL).
+         * @return True if the {@code request} can be processed by this router, false otherwise.
+         */
+        @Override
+        boolean isConsumable(MediaType contentType) {
+            return contentType == null || consumes.getMediaType().isCompatible(contentType);
+        }
+    }
+}
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/scanning/AnnotationAcceptingListener.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/scanning/AnnotationAcceptingListener.java
index 68b2573..f5384f8 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/scanning/AnnotationAcceptingListener.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/scanning/AnnotationAcceptingListener.java
@@ -27,8 +27,8 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ext.Provider;
 
 import jersey.repackaged.org.objectweb.asm.RecordComponentVisitor;
 import org.glassfish.jersey.internal.OsgiRegistry;
@@ -71,10 +71,10 @@
 
     /**
      * Create a scanning listener to check for Java classes in Java
-     * class files annotated with {@link javax.ws.rs.Path} or {@link javax.ws.rs.ext.Provider}.
+     * class files annotated with {@link jakarta.ws.rs.Path} or {@link jakarta.ws.rs.ext.Provider}.
      *
      * @return new instance of {@link AnnotationAcceptingListener} which looks for
-     * {@link javax.ws.rs.Path} or {@link javax.ws.rs.ext.Provider} annotated classes.
+     * {@link jakarta.ws.rs.Path} or {@link jakarta.ws.rs.ext.Provider} annotated classes.
      *
      */
     @SuppressWarnings({"unchecked"})
@@ -89,7 +89,7 @@
      * @param classLoader the class loader to use to load Java classes that
      *        are annotated with any one of the annotations.
      * @return new instance of {@link AnnotationAcceptingListener} which looks for
-     * {@link javax.ws.rs.Path} or {@link javax.ws.rs.ext.Provider} annotated classes.
+     * {@link jakarta.ws.rs.Path} or {@link jakarta.ws.rs.ext.Provider} annotated classes.
      */
     @SuppressWarnings({"unchecked"})
     public static AnnotationAcceptingListener newJaxrsResourceAndProviderListener(final ClassLoader classLoader) {
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScanner.java b/core-server/src/main/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScanner.java
index c2c3f7b..06a9432 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScanner.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScanner.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -269,7 +269,7 @@
                     + " supported for such URIs."
                     + "\nTry using a different deployment mechanism such as"
                     + " explicitly declaring root resource and provider classes"
-                    + " using an extension of javax.ws.rs.core.Application");
+                    + " using an extension of jakarta.ws.rs.core.Application");
         }
     }
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/Consuming.java b/core-server/src/main/java/org/glassfish/jersey/server/model/Consuming.java
index 2968929..93d88ea 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/Consuming.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/Consuming.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Model component that is able to consume media types.
@@ -29,7 +29,7 @@
  * @author Jakub Podlesak
  * @author Marek Potociar
  *
- * @see javax.ws.rs.Consumes
+ * @see jakarta.ws.rs.Consumes
  * @see Producing
  */
 public interface Consuming {
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/Inflecting.java b/core-server/src/main/java/org/glassfish/jersey/server/model/Inflecting.java
index 9595a97..30b999a 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/Inflecting.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/Inflecting.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.core.Request;
+import jakarta.ws.rs.core.Request;
 
 import org.glassfish.jersey.process.Inflector;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/IntrospectionModeller.java b/core-server/src/main/java/org/glassfish/jersey/server/model/IntrospectionModeller.java
index b2a42c9..be89131 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/IntrospectionModeller.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/IntrospectionModeller.java
@@ -31,15 +31,16 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Encoded;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.SseEventSink;
 
 import org.glassfish.jersey.internal.Errors;
 import org.glassfish.jersey.internal.util.Producer;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/Invocable.java b/core-server/src/main/java/org/glassfish/jersey/server/model/Invocable.java
index af22f59..6b41b0f 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/Invocable.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/Invocable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,8 +23,8 @@
 import java.util.Collections;
 import java.util.List;
 
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Request;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Request;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 import org.glassfish.jersey.internal.util.collection.ClassTypePair;
@@ -148,9 +148,9 @@
      *                            {@link #getHandlingMethod() the Java handling method}) for purposes of
      *                            resource method selection. This might be useful in cases when resource
      *                            method returns a type {@code A} but thanks to registered providers
-     *                            (eg. {@link javax.ws.rs.ext.WriterInterceptor}) it will be always converted
+     *                            (eg. {@link jakarta.ws.rs.ext.WriterInterceptor}) it will be always converted
      *                            to type {@code B}. Then the method selecting algorithm would check presence of
-     *                            {@link javax.ws.rs.ext.MessageBodyWriter} for type {@code A} (which will
+     *                            {@link jakarta.ws.rs.ext.MessageBodyWriter} for type {@code A} (which will
      *                            never be actually needed) and might result in choosing undesired method.
      *                            If the parameter is {@code null} then the default response type will be used.
      *
@@ -322,7 +322,7 @@
      * is in most cases equal to the {@link #getResponseType() response type}.
      * If returned value is different then it overrides the response type for
      * purposes of resource method selection and will be used to look for available
-     * {@link javax.ws.rs.ext.MessageBodyWriter message body writers}.
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter message body writers}.
      *
      * @return Response type used for the routing.
      */
@@ -337,7 +337,7 @@
      * is in most cases equal to the {@link #getResponseType() response type}.
      * If returned value is different then it overrides the response type for
      * purposes of resource method selection and will be used to look for available
-     * {@link javax.ws.rs.ext.MessageBodyWriter message body writers}.
+     * {@link jakarta.ws.rs.ext.MessageBodyWriter message body writers}.
      *
      * @return Response type used for the routing.
      */
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/InvocableValidator.java b/core-server/src/main/java/org/glassfish/jersey/server/model/InvocableValidator.java
index 7279bf2..388d6b7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/InvocableValidator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/InvocableValidator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.Errors;
 import org.glassfish.jersey.internal.inject.PerLookup;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/MethodHandler.java b/core-server/src/main/java/org/glassfish/jersey/server/model/MethodHandler.java
index 7915a8b..dda6a44 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/MethodHandler.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/MethodHandler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.Encoded;
+import jakarta.ws.rs.Encoded;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Injections;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/ModelProcessor.java b/core-server/src/main/java/org/glassfish/jersey/server/model/ModelProcessor.java
index 91599d3..b645520 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/ModelProcessor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/ModelProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.spi.Contract;
 
@@ -32,7 +32,7 @@
  * processor will be executed with resource model processed by the previous model processor. The first model
  * processor in the chain will be invoked with the initial resource model from which the application was initiated.
  * <p/>
- * Model processors implementations can define {@link javax.annotation.Priority binding priority}
+ * Model processors implementations can define {@link jakarta.annotation.Priority binding priority}
  * to define the order in which they are executed (processors with a lower priority is invoked
  * before processor with a higher priority). The highest possible priority (Integer.MAX_VALUE) is used for
  * model processor which enhance resource models by the default OPTIONS method defined by JAX-RS specification and therefore
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/Parameter.java b/core-server/src/main/java/org/glassfish/jersey/server/model/Parameter.java
index 9cfee23..8f704c7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/Parameter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/Parameter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,8 +30,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.WeakHashMap;
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.Encoded;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.Encoded;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 import org.glassfish.jersey.model.internal.spi.ParameterServiceProvider;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/Producing.java b/core-server/src/main/java/org/glassfish/jersey/server/model/Producing.java
index 6fb6074..65e4645 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/Producing.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/Producing.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Model component that is able to produce media types.
@@ -29,7 +29,7 @@
  * @author Jakub Podlesak
  * @author Marek Potociar
  *
- * @see javax.ws.rs.Produces
+ * @see jakarta.ws.rs.Produces
  * @see Consuming
  */
 public interface Producing {
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/Resource.java b/core-server/src/main/java/org/glassfish/jersey/server/model/Resource.java
index bb7961f..ecdbfb0 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/Resource.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -29,9 +29,9 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.Severity;
 import org.glassfish.jersey.internal.Errors;
@@ -1016,7 +1016,7 @@
      * Get the flag indicating whether the resource is extended.
      * <p/>
      * I.e. it is not part of the resource set that forms the REST API explicitly defined by the application developer (resource
-     * classes and instances returned from the {@link javax.ws.rs.core.Application} subclass getters).
+     * classes and instances returned from the {@link jakarta.ws.rs.core.Application} subclass getters).
      * <p>
      * Extended resource model components are helper components that are not part of the explicitly defined REST API of
      * a JAX-RS application, instead they are generated by Jersey runtime. For example, extended resource model components
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethod.java b/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethod.java
index d76a280..124b30a 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethod.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethod.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -32,10 +32,10 @@
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.internal.MediaTypes;
 import org.glassfish.jersey.model.NameBound;
@@ -285,7 +285,7 @@
         }
 
         /**
-         * Adds name bindings. The passed annotation types not annotated with {@link javax.ws.rs.NameBinding}
+         * Adds name bindings. The passed annotation types not annotated with {@link jakarta.ws.rs.NameBinding}
          * meta-annotation will be ignored.
          *
          * @param nameBindings collection of name binding annotation types.
@@ -301,7 +301,7 @@
         }
 
         /**
-         * Adds name bindings. The passed annotation types not annotated with {@link javax.ws.rs.NameBinding}
+         * Adds name bindings. The passed annotation types not annotated with {@link jakarta.ws.rs.NameBinding}
          * meta-annotation will be ignored.
          *
          * @param nameBindings name binding annotation types.
@@ -313,7 +313,7 @@
         }
 
         /**
-         * Adds name bindings. The passed annotations not annotated with {@link javax.ws.rs.NameBinding}
+         * Adds name bindings. The passed annotations not annotated with {@link jakarta.ws.rs.NameBinding}
          * meta-annotation will be ignored.
          *
          * @param nameBindings name binding annotations.
@@ -376,7 +376,7 @@
          * @param value {@code true} if the automatic parameter decoding should be
          *              disabled, false otherwise.
          * @return updated builder object.
-         * @see javax.ws.rs.Encoded
+         * @see jakarta.ws.rs.Encoded
          */
         public Builder encodedParameters(boolean value) {
             encodedParams = value;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodConfig.java b/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodConfig.java
index 90c3cde..ccaa65d 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodConfig.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,11 +23,11 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.model.ContractProvider;
 import org.glassfish.jersey.model.internal.CommonConfig;
@@ -36,7 +36,7 @@
 import org.glassfish.jersey.server.internal.LocalizationMessages;
 
 /**
- * Default {@link javax.ws.rs.core.Configuration configuration} for resource methods.
+ * Default {@link jakarta.ws.rs.core.Configuration configuration} for resource methods.
  * The only allowed contract types for this configuration are:
  * <ul>
  * <li>ContainerRequestFilter</li>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodInvoker.java b/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodInvoker.java
index 52d812f..7cf46ee 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodInvoker.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodInvoker.java
@@ -35,17 +35,17 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.InjectionManager;
@@ -489,7 +489,7 @@
 
     private Type unwrapInvocableResponseType(ContainerRequest request, Type entityType) {
         if (isCompletionStageResponseType
-                && request.resolveProperty(ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE, Boolean.FALSE)) {
+                && request.resolveProperty(ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE, Boolean.TRUE)) {
             return isCompletionStageResponseResponseType ? entityType : completionStageResponseType;
         }
         return invocableResponseType;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodValidator.java b/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodValidator.java
index aa20dc8..ac0c1da 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodValidator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/ResourceMethodValidator.java
@@ -28,15 +28,16 @@
 import java.util.Set;
 import java.util.function.Function;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.sse.SseEventSink;
 
 import org.glassfish.jersey.internal.Errors;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/RuntimeResourceModelValidator.java b/core-server/src/main/java/org/glassfish/jersey/server/model/RuntimeResourceModelValidator.java
index fc935b0..a7fe44b 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/RuntimeResourceModelValidator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/RuntimeResourceModelValidator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.Severity;
 import org.glassfish.jersey.internal.Errors;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/AbstractJavaResourceMethodDispatcher.java b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/AbstractJavaResourceMethodDispatcher.java
index cb1fdee..b54300a 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/AbstractJavaResourceMethodDispatcher.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/AbstractJavaResourceMethodDispatcher.java
@@ -25,12 +25,12 @@
 import java.util.concurrent.CompletionStage;
 import java.util.concurrent.ExecutionException;
 
-import javax.validation.ValidationException;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ResponseProcessingException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.validation.ValidationException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ResponseProcessingException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 import org.glassfish.jersey.message.internal.OutboundJaxrsResponse;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/JavaResourceMethodDispatcherProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/JavaResourceMethodDispatcherProvider.java
index c4598ac..49b83ef 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/JavaResourceMethodDispatcherProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/JavaResourceMethodDispatcherProvider.java
@@ -23,10 +23,10 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.sse.SseEventSink;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.internal.inject.ConfiguredValidator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ModelHelper.java b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ModelHelper.java
index e50176d..f8f8f5f 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ModelHelper.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ModelHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.model.internal;
 
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
 
 /**
  * Common model helper methods.
@@ -28,10 +28,10 @@
 
     /**
      * Get the class in the provided resource class ancestor hierarchy that
-     * is actually annotated with the {@link javax.ws.rs.Path &#64;Path} annotation.
+     * is actually annotated with the {@link jakarta.ws.rs.Path &#64;Path} annotation.
      *
      * @param resourceClass resource class.
-     * @return resource class or it's ancestor that is annotated with the {@link javax.ws.rs.Path &#64;Path}
+     * @return resource class or it's ancestor that is annotated with the {@link jakarta.ws.rs.Path &#64;Path}
      *         annotation.
      */
     public static Class<?> getAnnotatedResourceClass(final Class<?> resourceClass) {
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ModelProcessorUtil.java b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ModelProcessorUtil.java
index 468a3d6..3965263 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ModelProcessorUtil.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ModelProcessorUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,10 +21,10 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.model.Resource;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ResourceMethodDispatcherFactory.java b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ResourceMethodDispatcherFactory.java
index 30b9616..3cc6d21 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ResourceMethodDispatcherFactory.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ResourceMethodDispatcherFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.internal.LocalizationMessages;
 import org.glassfish.jersey.server.internal.inject.ConfiguredValidator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ResourceMethodInvocationHandlerFactory.java b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ResourceMethodInvocationHandlerFactory.java
index b98eee8..ca0ea60 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ResourceMethodInvocationHandlerFactory.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/ResourceMethodInvocationHandlerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Providers;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/SseTypeResolver.java b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/SseTypeResolver.java
index c9abef4..f8b0ea0 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/SseTypeResolver.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/SseTypeResolver.java
@@ -33,7 +33,7 @@
         Set<Class<?>> set = new HashSet<>(8);
 
         set.add(org.glassfish.jersey.internal.jsr166.Flow.Subscriber.class);
-        set.add(javax.ws.rs.sse.SseEventSink.class);
+        set.add(jakarta.ws.rs.sse.SseEventSink.class);
         Class<?> clazz = AccessController
                 .doPrivileged(ReflectionHelper.classForNamePA("java.util.concurrent.Flow$Subscriber", null));
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/VoidVoidDispatcherProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/VoidVoidDispatcherProvider.java
index c78689a..963e9df 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/model/internal/VoidVoidDispatcherProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/model/internal/VoidVoidDispatcherProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,11 +18,11 @@
 
 import java.lang.reflect.InvocationHandler;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.internal.inject.ConfiguredValidator;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationEvent.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationEvent.java
index 9d4f9d0..3de181a 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationEvent.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -115,9 +115,9 @@
     /**
      * Get registered providers available in the runtime. The registered providers
      * are providers like {@link org.glassfish.jersey.server.model.MethodList.Filter filters},
-     * {@link javax.ws.rs.ext.ReaderInterceptor reader} and {@link javax.ws.rs.ext.WriterInterceptor writer}
+     * {@link jakarta.ws.rs.ext.ReaderInterceptor reader} and {@link jakarta.ws.rs.ext.WriterInterceptor writer}
      * interceptors which are explicitly registered by configuration, or annotated by
-     * {@link javax.ws.rs.ext.Provider @Provider} or registered in META-INF/services. The
+     * {@link jakarta.ws.rs.ext.Provider @Provider} or registered in META-INF/services. The
      * set does not include providers that are by default built in Jersey.
      *
      * @return Set of provider classes.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationEventListener.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationEventListener.java
index 28116f6..7b91039 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationEventListener.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationEventListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.monitoring;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.spi.Contract;
 
@@ -32,10 +32,10 @@
  * }
  * <p/>
  * The implementation of this interface can be registered as a standard Jersey/JAX-RS provider
- * by annotating with {@link javax.ws.rs.ext.Provider @Provider} annotation in the case of
+ * by annotating with {@link jakarta.ws.rs.ext.Provider @Provider} annotation in the case of
  * class path scanning, by registering as a provider using {@link org.glassfish.jersey.server.ResourceConfig}
- * or by returning from {@link javax.ws.rs.core.Application#getClasses()}
- * or {@link javax.ws.rs.core.Application#getSingletons()}}. The provider can be registered only on the server
+ * or by returning from {@link jakarta.ws.rs.core.Application#getClasses()}
+ * or {@link jakarta.ws.rs.core.Application#getSingletons()}}. The provider can be registered only on the server
  * side.
  * <p/>
  * Application event listener can read data of events but must not modify them in any way. The implementation
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationInfo.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationInfo.java
index 2ca6599..1e3d104 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationInfo.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationInfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -40,7 +40,7 @@
  *       }
  *   }
  * </pre>
- * Note usage of {@link javax.inject.Provider} to retrieve application info. Info changes over time and this will
+ * Note usage of {@link jakarta.inject.Provider} to retrieve application info. Info changes over time and this will
  * inject the latest info. In the case of singleton resources usage of {@code Provider} is the only way how
  * to inject application info that are up to date.
  * <p/>
@@ -99,9 +99,9 @@
     /**
      * Get registered providers available in the runtime. The registered providers
      * are providers like {@link org.glassfish.jersey.server.model.MethodList.Filter filters},
-     * {@link javax.ws.rs.ext.ReaderInterceptor reader} and {@link javax.ws.rs.ext.WriterInterceptor writer}
+     * {@link jakarta.ws.rs.ext.ReaderInterceptor reader} and {@link jakarta.ws.rs.ext.WriterInterceptor writer}
      * interceptors which are explicitly registered by configuration, or annotated by
-     * {@link javax.ws.rs.ext.Provider @Provider} or registered in META-INF/services. The
+     * {@link jakarta.ws.rs.ext.Provider @Provider} or registered in META-INF/services. The
      * set does not include providers that are by default built in Jersey.
      *
      * @return Set of provider classes.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationMXBean.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationMXBean.java
index 1f1b391..7dda940 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationMXBean.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ApplicationMXBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -34,7 +34,7 @@
     public String getApplicationName();
 
     /**
-     * Get the {@link javax.ws.rs.core.Application application class} used for configuration of Jersey application.
+     * Get the {@link jakarta.ws.rs.core.Application application class} used for configuration of Jersey application.
      *
      * @return Application class name.
      */
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/DestroyListener.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/DestroyListener.java
index f69726f..1c98a5b 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/DestroyListener.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/DestroyListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.monitoring;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.spi.Contract;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ExceptionMapperMXBean.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ExceptionMapperMXBean.java
index d9fc884..ea49f19 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ExceptionMapperMXBean.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ExceptionMapperMXBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.Map;
 
 /**
- * MXBean interface of the {@link javax.ws.rs.ext.ExceptionMapper exception mapper} statistics.
+ * MXBean interface of the {@link jakarta.ws.rs.ext.ExceptionMapper exception mapper} statistics.
  *
  * @author Miroslav Fuksa
  */
@@ -28,14 +28,14 @@
     /**
      * Get the statistics of execution of exception mappers.
      *
-     * @return Map where keys are string class names of {@link javax.ws.rs.ext.ExceptionMapper exception mappers}
+     * @return Map where keys are string class names of {@link jakarta.ws.rs.ext.ExceptionMapper exception mappers}
      *         and values are counts of execution of these mappers.
      */
     public Map<String, Long> getExceptionMapperCount();
 
     /**
      * Get count of all successful exception mappings. Successful exception mapping occurs when
-     * any {@link javax.ws.rs.ext.ExceptionMapper exception mapper} returns an valid response
+     * any {@link jakarta.ws.rs.ext.ExceptionMapper exception mapper} returns an valid response
      * (even if response contains non-successful response status code).
      *
      * @return Count of successfully mapped exception.
@@ -45,7 +45,7 @@
     /**
      * Get count of all unsuccessful exception mappings. Unsuccessful exception mapping occurs when
      * any exception mapping process does not produce an valid response. The reason can be that the
-     * {@link javax.ws.rs.ext.ExceptionMapper exception mapper} is not found, or is found but throws
+     * {@link jakarta.ws.rs.ext.ExceptionMapper exception mapper} is not found, or is found but throws
      * exception.
      *
      * @return Count of unmapped exception.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ExceptionMapperStatistics.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ExceptionMapperStatistics.java
index a1af0d4..1e2e957 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ExceptionMapperStatistics.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/ExceptionMapperStatistics.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.Map;
 
 /**
- * Monitoring statistics of {@link javax.ws.rs.ext.ExceptionMapper exception mapper} executions.
+ * Monitoring statistics of {@link jakarta.ws.rs.ext.ExceptionMapper exception mapper} executions.
  * <p/>
  * Statistics retrieved from Jersey runtime might be mutable and thanks to it might provide inconsistent data
  * as not all statistics are updated in the same time. To retrieve the immutable and consistent
@@ -33,9 +33,9 @@
 
     /**
      * Get the count of exception mapper executions. The returned map contains {@link Class classes}
-     * of {@link javax.ws.rs.ext.ExceptionMapper exception mappers} and corresponding execution count
+     * of {@link jakarta.ws.rs.ext.ExceptionMapper exception mappers} and corresponding execution count
      * as values. One execution of exception mapper is one call
-     * of {@link javax.ws.rs.ext.ExceptionMapper#toResponse(Throwable)} method.
+     * of {@link jakarta.ws.rs.ext.ExceptionMapper#toResponse(Throwable)} method.
      *
      * @return Map with exception mappers as keys and execution count as values.
      */
@@ -43,7 +43,7 @@
 
     /**
      * Get count of all successful exception mappings. Successful exception mapping occurs when
-     * any {@link javax.ws.rs.ext.ExceptionMapper exception mapper} returns an valid response
+     * any {@link jakarta.ws.rs.ext.ExceptionMapper exception mapper} returns an valid response
      * (even if response contains non-successful response status code).
      *
      * @return Count of successfully mapped exception.
@@ -53,7 +53,7 @@
     /**
      * Get count of all unsuccessful exception mappings. Unsuccessful exception mapping occurs when
      * any exception mapping process does not produce an valid response. The reason can be that the
-     * {@link javax.ws.rs.ext.ExceptionMapper exception mapper} is not found, or is found but throws
+     * {@link jakarta.ws.rs.ext.ExceptionMapper exception mapper} is not found, or is found but throws
      * exception.
      *
      * @return Count of unmapped exception.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/MonitoringStatistics.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/MonitoringStatistics.java
index b10f401..7f7bd01 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/MonitoringStatistics.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/MonitoringStatistics.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -41,7 +41,7 @@
  *       }
  *   }
  * </pre>
- * Note usage of {@link javax.inject.Provider} to retrieve statistics. Statistics change over time and this will
+ * Note usage of {@link jakarta.inject.Provider} to retrieve statistics. Statistics change over time and this will
  * inject the latest statistics. In the case of singleton resources usage of {@code Provider} is the only way how
  * to inject statistics that are up to date.
  * <p/>
@@ -107,7 +107,7 @@
     public ResponseStatistics getResponseStatistics();
 
     /**
-     * Get statistics about registered {@link javax.ws.rs.ext.ExceptionMapper exception mappers}.
+     * Get statistics about registered {@link jakarta.ws.rs.ext.ExceptionMapper exception mappers}.
      *
      * @return Exception mapper statistics.
      */
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/MonitoringStatisticsListener.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/MonitoringStatisticsListener.java
index 8341f0d..e8b99df 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/MonitoringStatisticsListener.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/MonitoringStatisticsListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.monitoring;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.spi.Contract;
 
@@ -29,10 +29,10 @@
  * The provider must not throw any exception.
  * <p/>
  * The implementation of this interface can be registered as a standard Jersey/JAX-RS provider
- * by annotating with {@link javax.ws.rs.ext.Provider @Provider} annotation in the case of
+ * by annotating with {@link jakarta.ws.rs.ext.Provider @Provider} annotation in the case of
  * class path scanning, by registering as a provider using {@link org.glassfish.jersey.server.ResourceConfig}
- * or by returning from {@link javax.ws.rs.core.Application#getClasses()}
- * or {@link javax.ws.rs.core.Application#getSingletons()}}. The provider can be registered only on the server
+ * or by returning from {@link jakarta.ws.rs.core.Application#getClasses()}
+ * or {@link jakarta.ws.rs.core.Application#getSingletons()}}. The provider can be registered only on the server
  * side.
  * <p/>
  *
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/RequestEvent.java b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/RequestEvent.java
index a460ca0..68c109e 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/monitoring/RequestEvent.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/monitoring/RequestEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.monitoring;
 
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/Container.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/Container.java
index b865a74..5115ca9 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/Container.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/Container.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spi;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerLifecycleListener.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerLifecycleListener.java
index c6add33..d5fd1f9 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerLifecycleListener.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerLifecycleListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spi;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.spi.Contract;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerProvider.java
index cf12216..d6aca3c 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.spi;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.spi.Contract;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerResponseWriter.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerResponseWriter.java
index 0ae35ab..44ea76c 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerResponseWriter.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/ContainerResponseWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -168,7 +168,7 @@
      *
      * If enabled, the outbound entity is buffered by Jersey runtime up to a configured amount of bytes
      * prior to being written to the output stream to determine its size that may be used to set the value
-     * of HTTP <tt>{@value javax.ws.rs.core.HttpHeaders#CONTENT_LENGTH}</tt> header.
+     * of HTTP <tt>{@value jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH}</tt> header.
      * <p>
      * Containers that provide it's own solution for determining the message payload size may decide to
      * return {@code false} to prevent Jersey from buffering message entities unnecessarily.
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/ResponseErrorMapper.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/ResponseErrorMapper.java
index b71b4c6..f904753 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/ResponseErrorMapper.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/ResponseErrorMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,17 +16,17 @@
 
 package org.glassfish.jersey.server.spi;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.spi.Contract;
 
 /**
- * Contract for a provider that maps response processing errors to {@link javax.ws.rs.core.Response}.
+ * Contract for a provider that maps response processing errors to {@link jakarta.ws.rs.core.Response}.
  * <p>
  * Providers implementing {@code ResponseErrorMapper} contract must be either programmatically registered in a JAX-RS runtime or
- * must be annotated with {@link javax.ws.rs.ext.Provider &#64;Provider} annotation to be automatically discovered by the JAX-RS
+ * must be annotated with {@link jakarta.ws.rs.ext.Provider &#64;Provider} annotation to be automatically discovered by the JAX-RS
  * runtime during a provider scanning phase.
  * </p>
  * <p>
@@ -35,8 +35,8 @@
  * </p>
  *
  * @author Michal Gajdos
- * @see javax.ws.rs.ext.Provider
- * @see javax.ws.rs.core.Response
+ * @see jakarta.ws.rs.ext.Provider
+ * @see jakarta.ws.rs.core.Response
  * @since 2.8
  */
 @Contract
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/ValidationInterceptor.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/ValidationInterceptor.java
index f5c6ce2..5bf7195 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/ValidationInterceptor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/ValidationInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spi;
 
-import javax.validation.ConstraintViolationException;
-import javax.validation.ValidationException;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.ValidationException;
 
 import org.glassfish.jersey.spi.Contract;
 
@@ -25,7 +25,7 @@
  * Interceptor for method validation processing.
  *
  * Allows to override the default Jersey behaviour. By default, the Jersey runtime throws a
- * {@link javax.validation.ValidationException} or one of its subclasses,
+ * {@link jakarta.validation.ValidationException} or one of its subclasses,
  * that gets mapped to a HTTP 400 response, if any validation issues occur. In such case
  * the actual resource method does not get invoked at all.
  * <p>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/ValidationInterceptorContext.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/ValidationInterceptorContext.java
index bc5d88f..6fcb03e 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/ValidationInterceptorContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/ValidationInterceptorContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spi;
 
-import javax.validation.ValidationException;
+import jakarta.validation.ValidationException;
 
 import org.glassfish.jersey.server.model.Invocable;
 
@@ -71,7 +71,7 @@
      *
      * This method must be invoked by a validation interceptor implementation.
      *
-     * @throws javax.validation.ValidationException in case the further validation processing failed with a validation error.
+     * @throws jakarta.validation.ValidationException in case the further validation processing failed with a validation error.
      */
     public void proceed() throws ValidationException;
 }
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ParameterValueHelper.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ParameterValueHelper.java
index 03d0c40..c234504 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ParameterValueHelper.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ParameterValueHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,9 +24,9 @@
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.NotSupportedException;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.NotSupportedException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
 
 import org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ResourceMethodDispatcher.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ResourceMethodDispatcher.java
index 7a86550..7597364 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ResourceMethodDispatcher.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ResourceMethodDispatcher.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.lang.reflect.InvocationHandler;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.inject.Binder;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ValueParamProvider.java b/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ValueParamProvider.java
index 23e1461..041ddee 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ValueParamProvider.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/spi/internal/ValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.function.Function;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.model.Parameter;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlApplicationContext.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlApplicationContext.java
index dfc3997..11f1f96 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlApplicationContext.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlApplicationContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.wadl;
 
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBContext;
 
 import org.glassfish.jersey.server.wadl.internal.ApplicationDescription;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlFeature.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlFeature.java
index 422638c..314d267 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlFeature.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.wadl;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlGenerator.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlGenerator.java
index f3fe533..fdd5354 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlGenerator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/WadlGenerator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,10 +21,10 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.annotation.XmlRegistry;
 import javax.xml.namespace.QName;
 
 import org.glassfish.jersey.server.model.Parameter;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfig.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfig.java
index 38b4943..6351c96 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfig.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.util.List;
 import java.util.Properties;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.server.internal.LocalizationMessages;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigLoader.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigLoader.java
index 4ab91cb..5070e25 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigLoader.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigLoader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.ProcessingException;
+import jakarta.ws.rs.ProcessingException;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/ApplicationDescription.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/ApplicationDescription.java
index a7a9deb..c3d7d58 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/ApplicationDescription.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/ApplicationDescription.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.Set;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import javax.xml.namespace.QName;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlApplicationContextImpl.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlApplicationContextImpl.java
index 9f31dd8..6caa901 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlApplicationContextImpl.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlApplicationContextImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,15 +21,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Inject;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
+import jakarta.inject.Inject;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
 import javax.xml.namespace.QName;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlAutoDiscoverable.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlAutoDiscoverable.java
index c52c273..8cc3eda 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlAutoDiscoverable.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.wadl.internal;
 
-import javax.annotation.Priority;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlBuilder.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlBuilder.java
index cdf6caf..6edb1a8 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlBuilder.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,11 +25,11 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.FormParam;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
 import javax.xml.namespace.QName;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlGeneratorImpl.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlGeneratorImpl.java
index 2a703e4..e059377 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlGeneratorImpl.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlGeneratorImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import javax.xml.namespace.QName;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlResource.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlResource.java
index 8f32cf3..5a7188a 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlResource.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,17 +22,17 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Singleton;
-import javax.xml.bind.Marshaller;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.Marshaller;
 
 import org.glassfish.jersey.server.internal.LocalizationMessages;
 import org.glassfish.jersey.server.model.ExtendedResource;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlUtils.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlUtils.java
index 144644d..670d22e 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlUtils.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/WadlUtils.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,12 +20,12 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Unmarshaller;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/ApplicationDocs.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/ApplicationDocs.java
index 8d4dbc9..16d591c 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/ApplicationDocs.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/ApplicationDocs.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.ArrayList;
 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 com.sun.research.ws.wadl.Doc;
 
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/ObjectFactory.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/ObjectFactory.java
index e0dc89d..6df5a90 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/ObjectFactory.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/ObjectFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators;
 
-import javax.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.annotation.XmlRegistry;
 
 /**
  * The object factory for application docs jaxb bindings.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorApplicationDoc.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorApplicationDoc.java
index 249c2a5..250e30b 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorApplicationDoc.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorApplicationDoc.java
@@ -21,10 +21,10 @@
 import java.nio.file.Files;
 import java.util.List;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.glassfish.jersey.server.model.Parameter;
@@ -140,7 +140,7 @@
      * @param mediaType
      * @return representation type
      * @see org.glassfish.jersey.server.wadl.WadlGenerator#createRequestRepresentation(org.glassfish.jersey.server.model.Resource,
-     *      org.glassfish.jersey.server.model.ResourceMethod, javax.ws.rs.core.MediaType)
+     *      org.glassfish.jersey.server.model.ResourceMethod, jakarta.ws.rs.core.MediaType)
      */
     public Representation createRequestRepresentation(org.glassfish.jersey.server.model.Resource r,
                                                       org.glassfish.jersey.server.model.ResourceMethod m,
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorGrammarsSupport.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorGrammarsSupport.java
index 2a623e3..79d3a5b 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorGrammarsSupport.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorGrammarsSupport.java
@@ -22,10 +22,10 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.glassfish.jersey.server.model.Parameter;
@@ -187,7 +187,7 @@
      * @param mt  media type
      * @return respresentation type
      * @see org.glassfish.jersey.server.wadl.WadlGenerator#createRequestRepresentation(org.glassfish.jersey.server.model.Resource,
-     * org.glassfish.jersey.server.model.ResourceMethod, javax.ws.rs.core.MediaType)
+     * org.glassfish.jersey.server.model.ResourceMethod, jakarta.ws.rs.core.MediaType)
      */
     public Representation createRequestRepresentation(
             org.glassfish.jersey.server.model.Resource ar, org.glassfish.jersey.server.model.ResourceMethod arm, MediaType mt) {
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorJAXBGrammarGenerator.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorJAXBGrammarGenerator.java
index 2f303e8..57468eb 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorJAXBGrammarGenerator.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/WadlGeneratorJAXBGrammarGenerator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -35,15 +35,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.JAXBIntrospector;
-import javax.xml.bind.SchemaOutputResolver;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSeeAlso;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBIntrospector;
+import jakarta.xml.bind.SchemaOutputResolver;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.namespace.QName;
 import javax.xml.transform.Result;
 import javax.xml.transform.stream.StreamResult;
@@ -198,7 +198,7 @@
      * @param mt  media type
      * @return respresentation type
      * @see org.glassfish.jersey.server.wadl.WadlGenerator#createRequestRepresentation(org.glassfish.jersey.server.model.Resource,
-     * org.glassfish.jersey.server.model.ResourceMethod, javax.ws.rs.core.MediaType)
+     * org.glassfish.jersey.server.model.ResourceMethod, jakarta.ws.rs.core.MediaType)
      */
     public Representation createRequestRepresentation(
             final org.glassfish.jersey.server.model.Resource ar,
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/WadlGeneratorResourceDocSupport.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/WadlGeneratorResourceDocSupport.java
index 45a297d..8855b11 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/WadlGeneratorResourceDocSupport.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/WadlGeneratorResourceDocSupport.java
@@ -22,10 +22,10 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.glassfish.jersey.server.model.Parameter;
@@ -202,7 +202,7 @@
      * @param mediaType media type.
      * @return the enhanced {@link com.sun.research.ws.wadl.Representation}.
      * @see org.glassfish.jersey.server.wadl.WadlGenerator#createRequestRepresentation(org.glassfish.jersey.server.model.Resource,
-     * org.glassfish.jersey.server.model.ResourceMethod, javax.ws.rs.core.MediaType)
+     * org.glassfish.jersey.server.model.ResourceMethod, jakarta.ws.rs.core.MediaType)
      */
     public Representation createRequestRepresentation(final org.glassfish.jersey.server.model.Resource r,
                                                       final org.glassfish.jersey.server.model.ResourceMethod m,
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/AnnotationDocType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/AnnotationDocType.java
index c12fd27..d2eb5a6 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/AnnotationDocType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/AnnotationDocType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The documentation type for annotations.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ClassDocType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ClassDocType.java
index 90ac6e2..f45097a 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ClassDocType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ClassDocType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The documentation type for classes.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/MethodDocType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/MethodDocType.java
index 316dd44..50a4782 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/MethodDocType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/MethodDocType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The documentation type for methods.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/NamedValueType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/NamedValueType.java
index f00b1cc..a847569 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/NamedValueType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/NamedValueType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The documentation type for named values.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ObjectFactory.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ObjectFactory.java
index 5acb128..d4b3c04 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ObjectFactory.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ObjectFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model;
 
-import javax.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.annotation.XmlRegistry;
 
 /**
  * The object factory for xhtml supporting jaxb bindings.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ParamDocType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ParamDocType.java
index 298d25a..9bcd434 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ParamDocType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ParamDocType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The documentation type for params: method params, path params on a class etc.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/RepresentationDocType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/RepresentationDocType.java
index 381181c..078f61c 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/RepresentationDocType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/RepresentationDocType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
 /**
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/RequestDocType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/RequestDocType.java
index c27a5e2..025bd69 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/RequestDocType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/RequestDocType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The documentation type for requests.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ResourceDocType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ResourceDocType.java
index 8223b5d..87fb343 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ResourceDocType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ResourceDocType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElementWrapper;
-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.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The documentation type for resources.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ResponseDocType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ResponseDocType.java
index 0ce3fa9..7406ad2 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ResponseDocType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/ResponseDocType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The documentation type for a response.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/WadlParamType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/WadlParamType.java
index 724e531..0a985a7 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/WadlParamType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/model/WadlParamType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
 /**
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/Elements.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/Elements.java
index 9a4284a..4a5bf3a 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/Elements.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/Elements.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.xhtml;
 
-import javax.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBElement;
 import javax.xml.namespace.QName;
 
 /**
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/ObjectFactory.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/ObjectFactory.java
index c654dc1..0330ff4 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/ObjectFactory.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/ObjectFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.xhtml;
 
-import javax.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.annotation.XmlRegistry;
 
 /**
  * The object factory for xhtml supporting jaxb bindings.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/XhtmlElementType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/XhtmlElementType.java
index 5c63c48..a1cdae6 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/XhtmlElementType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/XhtmlElementType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-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.XmlAnyElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * The type for an element holding child nodes.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/XhtmlValueType.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/XhtmlValueType.java
index d0b7481..99dafc4 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/XhtmlValueType.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/internal/generators/resourcedoc/xhtml/XhtmlValueType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.xhtml;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlValue;
 
 /**
  * The type for an element holding a string value.<br>
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/processor/OptionsMethodProcessor.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/processor/OptionsMethodProcessor.java
index 7198b74..0fec580 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/processor/OptionsMethodProcessor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/processor/OptionsMethodProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,16 +20,16 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ExtendedUriInfo;
diff --git a/core-server/src/main/java/org/glassfish/jersey/server/wadl/processor/WadlModelProcessor.java b/core-server/src/main/java/org/glassfish/jersey/server/wadl/processor/WadlModelProcessor.java
index 9a715fd..6dd5b37 100644
--- a/core-server/src/main/java/org/glassfish/jersey/server/wadl/processor/WadlModelProcessor.java
+++ b/core-server/src/main/java/org/glassfish/jersey/server/wadl/processor/WadlModelProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,19 +22,19 @@
 import java.util.Date;
 import java.util.List;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.xml.bind.Marshaller;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.xml.bind.Marshaller;
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.message.internal.MediaTypes;
diff --git a/core-server/src/main/resources/META-INF/services/javax.ws.rs.ext.RuntimeDelegate b/core-server/src/main/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
similarity index 100%
rename from core-server/src/main/resources/META-INF/services/javax.ws.rs.ext.RuntimeDelegate
rename to core-server/src/main/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/AnnotatedEntityTest.java b/core-server/src/test/java/org/glassfish/jersey/server/AnnotatedEntityTest.java
index 772e32c..7177420 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/AnnotatedEntityTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/AnnotatedEntityTest.java
@@ -20,12 +20,12 @@
 import java.lang.annotation.RetentionPolicy;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.glassfish.jersey.server.model.ModelValidationException;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ApplicationHandlerTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ApplicationHandlerTest.java
index b926dc7..8be58b4 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/ApplicationHandlerTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ApplicationHandlerTest.java
@@ -28,32 +28,32 @@
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException;
 import org.glassfish.jersey.process.Inflector;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ApplicationTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ApplicationTest.java
index 781d390..dbdfef7 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/ApplicationTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ApplicationTest.java
@@ -20,8 +20,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/AsyncApplicationBuildingTest.java b/core-server/src/test/java/org/glassfish/jersey/server/AsyncApplicationBuildingTest.java
index dd511e2..1974aca 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/AsyncApplicationBuildingTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/AsyncApplicationBuildingTest.java
@@ -26,22 +26,22 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.model.Resource;
@@ -191,7 +191,7 @@
     public static class ResourceB {
 
         @Context
-        javax.ws.rs.core.Application application;
+        jakarta.ws.rs.core.Application application;
 
         @GET
         public String get() {
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/AsyncCallbackServerTest.java b/core-server/src/test/java/org/glassfish/jersey/server/AsyncCallbackServerTest.java
index 95de589..732c0d7 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/AsyncCallbackServerTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/AsyncCallbackServerTest.java
@@ -23,17 +23,17 @@
 import java.lang.annotation.Target;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.CompletionCallback;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.CompletionCallback;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.Suspended;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/AutoDiscoverableServerTest.java b/core-server/src/test/java/org/glassfish/jersey/server/AutoDiscoverableServerTest.java
index 6d51742..84f74c7 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/AutoDiscoverableServerTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/AutoDiscoverableServerTest.java
@@ -18,16 +18,16 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ContainerRequestTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ContainerRequestTest.java
index 2167154..499ecef 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/ContainerRequestTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ContainerRequestTest.java
@@ -25,12 +25,12 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.junit.jupiter.api.Assertions;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ExtendedResourceContextTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ExtendedResourceContextTest.java
index f3f96df..86c12f9 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/ExtendedResourceContextTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ExtendedResourceContextTest.java
@@ -19,10 +19,10 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.server.model.Resource;
 import org.glassfish.jersey.server.model.ResourceModel;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/JaxRsFeatureRegistrationTest.java b/core-server/src/test/java/org/glassfish/jersey/server/JaxRsFeatureRegistrationTest.java
index 4e2fa53..194898d 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/JaxRsFeatureRegistrationTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/JaxRsFeatureRegistrationTest.java
@@ -20,10 +20,10 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 public class JaxRsFeatureRegistrationTest {
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ModelProcessorScopeTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ModelProcessorScopeTest.java
index 3a64bd5..379e47f 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/ModelProcessorScopeTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ModelProcessorScopeTest.java
@@ -18,15 +18,15 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.model.ModelProcessor;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/RequestContextBuilder.java b/core-server/src/test/java/org/glassfish/jersey/server/RequestContextBuilder.java
index 1647f13..99e5022 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/RequestContextBuilder.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/RequestContextBuilder.java
@@ -27,17 +27,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.internal.PropertiesDelegate;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigBuilderTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigBuilderTest.java
index 9393e57..e69de29 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigBuilderTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigBuilderTest.java
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 2012, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server;
-
-import java.io.IOException;
-import java.util.Set;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-
-/**
- * @author Pavel Bucek
- */
-public class ResourceConfigBuilderTest {
-    @Test
-    public void testEmpty() {
-        ResourceConfig resourceConfig = new ResourceConfig();
-
-        assertTrue(resourceConfig.getClasses() != null);
-        assertTrue(resourceConfig.getClasses().isEmpty());
-
-        assertTrue(resourceConfig.getSingletons() != null);
-        assertTrue(resourceConfig.getSingletons().isEmpty());
-
-    }
-
-    @Test
-    public void testClasses() {
-        ResourceConfig resourceConfig = new ResourceConfig(ResourceConfigBuilderTest.class);
-
-        assertTrue(resourceConfig.getClasses() != null);
-        assertTrue(resourceConfig.getClasses().size() == 1);
-        assertTrue(resourceConfig.getClasses().contains(ResourceConfigBuilderTest.class));
-
-        assertTrue(resourceConfig.getSingletons() != null);
-        assertTrue(resourceConfig.getSingletons().isEmpty());
-    }
-
-    @Test
-    public void testSingletons() {
-        final ResourceConfigBuilderTest resourceConfigBuilderTest = new ResourceConfigBuilderTest();
-
-        ResourceConfig resourceConfig = new ResourceConfig().registerInstances(resourceConfigBuilderTest);
-
-        assertTrue(resourceConfig.getClasses() != null);
-        assertTrue(resourceConfig.getClasses().isEmpty());
-
-        assertTrue(resourceConfig.getSingletons() != null);
-        assertTrue(resourceConfig.getSingletons().size() == 1);
-        assertTrue(resourceConfig.getSingletons().contains(resourceConfigBuilderTest));
-    }
-
-    @Test
-    public void testApplication() {
-        final javax.ws.rs.core.Application application = new Application() {
-            @Override
-            public Set<Class<?>> getClasses() {
-                return super.getClasses();
-            }
-
-            @Override
-            public Set<Object> getSingletons() {
-                return super.getSingletons();
-            }
-        };
-
-        ApplicationHandler ah = new ApplicationHandler(application);
-        assertTrue(ah.getInjectionManager().getInstance(Application.class).equals(application));
-    }
-
-    /**
-     * test that I can initialize resource config with application class instead of an application instance
-     * and then read the app properties
-     */
-    @Test
-    public void testApplicationClassProperties() {
-        ResourceConfig resourceConfig = initApp(MyApplication.class);
-
-        assertTrue(resourceConfig.getProperties().containsKey("myProperty"));
-        assertTrue(resourceConfig.getProperties().get("myProperty").equals("myValue"));
-    }
-
-    /**
-     * test that I can initialize resource config with application class instead of an application instance
-     * and then read the app classes
-     */
-    @Test
-    public void testApplicationClassClasses() {
-        ResourceConfig resourceConfig = initApp(MyApplication2.class);
-
-        assertTrue(!resourceConfig.getClasses().isEmpty());
-    }
-
-    private static class MyApplication extends ResourceConfig {
-        public MyApplication() {
-            property("myProperty", "myValue");
-        }
-    }
-
-    public static class MyApplication2 extends ResourceConfig {
-        public MyApplication2() {
-            super(MyResource.class);
-        }
-    }
-
-    @Path("resource")
-    public static class MyResource {
-        @GET
-        public String getIt() {
-            return "get it";
-        }
-    }
-
-    private static ResourceConfig initApp(Class<? extends Application> appClass) {
-        return new ApplicationHandler(appClass).getConfiguration();
-    }
-
-    public static class TestProvider implements ReaderInterceptor {
-
-        @Override
-        public Object aroundReadFrom(ReaderInterceptorContext context) throws IOException, WebApplicationException {
-            return context.proceed();
-        }
-    }
-
-    // Reproducer JERSEY-1637
-    @Test
-    public void testRegisterNullOrEmptyContracts() {
-        final TestProvider provider = new TestProvider();
-
-        final ResourceConfig resourceConfig = new ResourceConfig();
-        resourceConfig.register(TestProvider.class, (Class<?>[]) null);
-        assertFalse(resourceConfig.getConfiguration().isRegistered(TestProvider.class));
-
-        resourceConfig.register(provider,  (Class<?>[]) null);
-        assertFalse(resourceConfig.getConfiguration().isRegistered(TestProvider.class));
-        assertFalse(resourceConfig.getConfiguration().isRegistered(provider));
-
-        resourceConfig.register(TestProvider.class,  new Class[0]);
-        assertFalse(resourceConfig.getConfiguration().isRegistered(TestProvider.class));
-
-        resourceConfig.register(provider,  new Class[0]);
-        assertFalse(resourceConfig.getConfiguration().isRegistered(TestProvider.class));
-        assertFalse(resourceConfig.getConfiguration().isRegistered(provider));
-    }
-}
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigTest.java
index 0fd7416..ec88461 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ResourceConfigTest.java
@@ -21,11 +21,11 @@
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.util.Tokenizer;
@@ -347,7 +347,7 @@
 
     @Test
     public void testResourceFinderStreamsClosed() throws IOException {
-        System.out.println(new ResourceConfig().packages("javax.ws.rs").getClasses());
+        System.out.println(new ResourceConfig().packages("jakarta.ws.rs").getClasses());
     }
 
     private ResourceConfig createConfigWithClassPathProperty(final File jarFile) {
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/ResourceMergeTest.java b/core-server/src/test/java/org/glassfish/jersey/server/ResourceMergeTest.java
index 2c2a865..67653da 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/ResourceMergeTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/ResourceMergeTest.java
@@ -18,12 +18,12 @@
 
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.model.Resource;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/SecurityContextTest.java b/core-server/src/test/java/org/glassfish/jersey/server/SecurityContextTest.java
index 881f7cc..6533a7b 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/SecurityContextTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/SecurityContextTest.java
@@ -19,14 +19,14 @@
 import java.io.IOException;
 import java.security.Principal;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/TestInjectionManagerFactory.java b/core-server/src/test/java/org/glassfish/jersey/server/TestInjectionManagerFactory.java
index 7d4626f..53501e6 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/TestInjectionManagerFactory.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/TestInjectionManagerFactory.java
@@ -20,7 +20,7 @@
 import java.util.Arrays;
 import java.util.List;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.internal.AutoDiscoverableConfigurator;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/UriInfoMatchedResourcesTest.java b/core-server/src/test/java/org/glassfish/jersey/server/UriInfoMatchedResourcesTest.java
index 9ef0fbc..4d4b298 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/UriInfoMatchedResourcesTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/UriInfoMatchedResourcesTest.java
@@ -18,10 +18,10 @@
 
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/UriInfoMatchedUrisTest.java b/core-server/src/test/java/org/glassfish/jersey/server/UriInfoMatchedUrisTest.java
index 7edee54..8e12d53 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/UriInfoMatchedUrisTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/UriInfoMatchedUrisTest.java
@@ -18,10 +18,10 @@
 
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/config/innerstatic/InnerStaticClass.java b/core-server/src/test/java/org/glassfish/jersey/server/config/innerstatic/InnerStaticClass.java
index f2fa048..3230aff 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/config/innerstatic/InnerStaticClass.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/config/innerstatic/InnerStaticClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.config.innerstatic;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Paul Sandoz
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/config/toplevel/PackageRootResourceClass.java b/core-server/src/test/java/org/glassfish/jersey/server/config/toplevel/PackageRootResourceClass.java
index ddfebad..6145b7c 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/config/toplevel/PackageRootResourceClass.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/config/toplevel/PackageRootResourceClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.config.toplevel;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Paul Sandoz
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/config/toplevel/PublicRootResourceClass.java b/core-server/src/test/java/org/glassfish/jersey/server/config/toplevel/PublicRootResourceClass.java
index 77f32c0..f253a2a 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/config/toplevel/PublicRootResourceClass.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/config/toplevel/PublicRootResourceClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.config.toplevel;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Paul Sandoz
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/config/toplevelinnerstatic/PublicRootResourceInnerStaticClass.java b/core-server/src/test/java/org/glassfish/jersey/server/config/toplevelinnerstatic/PublicRootResourceInnerStaticClass.java
index c9cf3dd..5229227 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/config/toplevelinnerstatic/PublicRootResourceInnerStaticClass.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/config/toplevelinnerstatic/PublicRootResourceInnerStaticClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.config.toplevelinnerstatic;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Paul Sandoz
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/ApplicationFilterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/ApplicationFilterTest.java
index a0312aa..d301bcf 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/ApplicationFilterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/ApplicationFilterTest.java
@@ -21,15 +21,15 @@
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.process.Inflector;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/ContainerResponseFilterOrderingTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/ContainerResponseFilterOrderingTest.java
index 153bc17..457f1b6 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/ContainerResponseFilterOrderingTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/ContainerResponseFilterOrderingTest.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/CsrfProtectionFilterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/CsrfProtectionFilterTest.java
index ec7f881..7f26ec3 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/CsrfProtectionFilterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/CsrfProtectionFilterTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.filter;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/EncodingFilterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/EncodingFilterTest.java
index a4ba302..1d8b4b5 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/EncodingFilterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/EncodingFilterTest.java
@@ -25,10 +25,10 @@
 import org.glassfish.jersey.spi.ContentEncoder;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/EntityTypeFilterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/EntityTypeFilterTest.java
index 733b348..952bfed 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/EntityTypeFilterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/EntityTypeFilterTest.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/FilterSetMethodTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/FilterSetMethodTest.java
index 295722e..ad50f9b 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/FilterSetMethodTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/FilterSetMethodTest.java
@@ -20,18 +20,18 @@
 import java.net.URI;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/HttpMethodOverrideFilterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/HttpMethodOverrideFilterTest.java
index 753a0c6..0cdfe36 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/HttpMethodOverrideFilterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/HttpMethodOverrideFilterTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.filter;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/LayeredFiltersTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/LayeredFiltersTest.java
index 3013f9f..ab35ec3 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/LayeredFiltersTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/LayeredFiltersTest.java
@@ -22,18 +22,18 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/UriConnegFilterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/UriConnegFilterTest.java
index daa238c..9a1680e 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/UriConnegFilterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/UriConnegFilterTest.java
@@ -19,10 +19,10 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/filter/UriModificationFilterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/filter/UriModificationFilterTest.java
index 7c8faec..e50df63 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/filter/UriModificationFilterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/filter/UriModificationFilterTest.java
@@ -20,16 +20,16 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/BackgroundSchedulerProviderTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/BackgroundSchedulerProviderTest.java
index ae72585..194d9fe 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/BackgroundSchedulerProviderTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/BackgroundSchedulerProviderTest.java
@@ -21,10 +21,10 @@
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ThreadFactory;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.util.Producer;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/ResourceContextTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/ResourceContextTest.java
index b7901d6..c8c346c 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/ResourceContextTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/ResourceContextTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.internal;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/RuntimeDelegateImplTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/RuntimeDelegateImplTest.java
index c717bd9..3b81936 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/RuntimeDelegateImplTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/RuntimeDelegateImplTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.internal;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertSame;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/AbstractTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/AbstractTest.java
index 0be4e0a..ea77ed4 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/AbstractTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/AbstractTest.java
@@ -23,8 +23,8 @@
 import org.glassfish.jersey.server.RequestContextBuilder;
 import org.glassfish.jersey.server.ResourceConfig;
 
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.Request;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.Request;
 import java.util.concurrent.ExecutionException;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ActiveBindingBindingTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ActiveBindingBindingTest.java
index f87cbcc..3686bfd 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ActiveBindingBindingTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ActiveBindingBindingTest.java
@@ -22,13 +22,13 @@
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.process.internal.RequestScoped;
@@ -249,7 +249,7 @@
 
             final Provider<RequestProcessingContextReference> ctxRef =
                     injectionManager.getInstance(new GenericType<Provider<RequestProcessingContextReference>>() {
-                                        }.getType());
+                    }.getType());
 
             if (serviceHandle instanceof ServiceHandleImpl) {
                 final ServiceHandleImpl serviceHandleImpl = (ServiceHandleImpl) serviceHandle;
@@ -265,11 +265,11 @@
                     ? new MyRequestDataDirect(ctxRef.get().get().request().getHeaderString(X_COUNTER_HEADER))
                     // in case of singleton, we need to make sure request scoped data are still accessible
                     : new MyRequestData() {
-                        @Override
-                        public String getReqInfo() {
-                            return PROXY_TAG + ctxRef.get().get().request().getHeaderString(X_COUNTER_HEADER);
-                        }
-                };
+                @Override
+                public String getReqInfo() {
+                    return PROXY_TAG + ctxRef.get().get().request().getHeaderString(X_COUNTER_HEADER);
+                }
+            };
         }
 
         @Override
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/BeanParamMemoryLeakTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/BeanParamMemoryLeakTest.java
index 3d4b4a5..780a906 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/BeanParamMemoryLeakTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/BeanParamMemoryLeakTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Request;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Request;
 
 import org.glassfish.jersey.inject.hk2.DelayedHk2InjectionManager;
 import org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ConstructorParameterInjectionTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ConstructorParameterInjectionTest.java
index 7886b1e..436ef49 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ConstructorParameterInjectionTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ConstructorParameterInjectionTest.java
@@ -18,11 +18,11 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ContextBasedInjectionTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ContextBasedInjectionTest.java
index ea01bcd..cbb2e40 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ContextBasedInjectionTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ContextBasedInjectionTest.java
@@ -22,11 +22,11 @@
 import java.util.concurrent.Future;
 import java.util.stream.Stream;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsCookieTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsCookieTest.java
index c69afa4..6508650 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsCookieTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsCookieTest.java
@@ -19,12 +19,12 @@
 import java.util.Map;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.glassfish.jersey.server.RequestContextBuilder;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsPrimitiveTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsPrimitiveTest.java
index 48ec83d..020a13a 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsPrimitiveTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsPrimitiveTest.java
@@ -19,12 +19,12 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Cookie;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Cookie;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsStringTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsStringTest.java
index da1e2e6..94d4142 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsStringTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamAsStringTest.java
@@ -19,13 +19,13 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Cookie;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Cookie;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamStringConstructorTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamStringConstructorTest.java
index 1f7063d..07e8200 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamStringConstructorTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/CookieParamStringConstructorTest.java
@@ -22,11 +22,11 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Cookie;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Cookie;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/EncodedParamsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/EncodedParamsTest.java
index 762a888..8658594 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/EncodedParamsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/EncodedParamsTest.java
@@ -18,16 +18,16 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.RequestContextBuilder;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/FormParamTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/FormParamTest.java
index d9f6594..34f29d6 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/FormParamTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/FormParamTest.java
@@ -21,20 +21,20 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamAsPrimitiveTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamAsPrimitiveTest.java
index c7bf2a5..32f2dc5 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamAsPrimitiveTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamAsPrimitiveTest.java
@@ -19,11 +19,11 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamAsStringTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamAsStringTest.java
index 8b82ecc..c7fe147 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamAsStringTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamAsStringTest.java
@@ -19,12 +19,12 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamStringConstructorTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamStringConstructorTest.java
index d0777ea..5dde66d 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamStringConstructorTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/HeaderParamStringConstructorTest.java
@@ -22,10 +22,10 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/InvalidParamsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/InvalidParamsTest.java
index 0415277..b7b8a18 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/InvalidParamsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/InvalidParamsTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/JaxRsInjectablesTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/JaxRsInjectablesTest.java
index 6219c21..d8d4c8c 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/JaxRsInjectablesTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/JaxRsInjectablesTest.java
@@ -21,24 +21,24 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-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.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+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.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamAsPrimitiveTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamAsPrimitiveTest.java
index 76b2a79..596fbff 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamAsPrimitiveTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamAsPrimitiveTest.java
@@ -19,11 +19,11 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamAsStringTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamAsStringTest.java
index 8a38eaf..ddb1797 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamAsStringTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamAsStringTest.java
@@ -19,12 +19,12 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamStringConstructorTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamStringConstructorTest.java
index 03b0b73..41019d0 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamStringConstructorTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/MatrixParamStringConstructorTest.java
@@ -22,10 +22,10 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ContainerResponse;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamConverterDateTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamConverterDateTest.java
index fd841f1..1f14c63 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamConverterDateTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamConverterDateTest.java
@@ -23,12 +23,12 @@
 import org.glassfish.jersey.server.internal.LocalizationMessages;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 import java.text.ParseException;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamConverterInternalTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamConverterInternalTest.java
index 6b54bd1..8413a07 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamConverterInternalTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamConverterInternalTest.java
@@ -29,16 +29,16 @@
 import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.internal.inject.ParamConverters;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamExceptionMappingTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamExceptionMappingTest.java
index 33272e7..fa81bb8 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamExceptionMappingTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/ParamExceptionMappingTest.java
@@ -19,24 +19,24 @@
 import java.net.URI;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.ParamException;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsPathSegmentTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsPathSegmentTest.java
index 6dded93..3d8f612 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsPathSegmentTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsPathSegmentTest.java
@@ -18,10 +18,10 @@
 
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.PathSegment;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.PathSegment;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsPrimitiveTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsPrimitiveTest.java
index b929eea..4256e14 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsPrimitiveTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsPrimitiveTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.internal.inject;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsStringTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsStringTest.java
index 5320959..163ce0a 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsStringTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamAsStringTest.java
@@ -19,10 +19,10 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamDefaultValueTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamDefaultValueTest.java
index 71a1427..0f8665e 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamDefaultValueTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamDefaultValueTest.java
@@ -18,10 +18,10 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 import org.glassfish.jersey.server.ContainerResponse;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamStringConstructorTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamStringConstructorTest.java
index e6c42bf..83d71ea 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamStringConstructorTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/PathParamStringConstructorTest.java
@@ -20,9 +20,9 @@
 import java.math.BigInteger;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 import org.glassfish.jersey.server.ContainerResponse;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsPrimitiveTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsPrimitiveTest.java
index 8336caa..de0381b 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsPrimitiveTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsPrimitiveTest.java
@@ -19,11 +19,11 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSetPrimitiveTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSetPrimitiveTest.java
index 0dc7a01..ac286b2 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSetPrimitiveTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSetPrimitiveTest.java
@@ -19,11 +19,11 @@
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.server.ContainerResponse;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSetStringTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSetStringTest.java
index a20141e..c312002 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSetStringTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSetStringTest.java
@@ -19,11 +19,11 @@
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSortedSetPrimitiveTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSortedSetPrimitiveTest.java
index 16cfbf5..5124c33 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSortedSetPrimitiveTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSortedSetPrimitiveTest.java
@@ -19,11 +19,11 @@
 import java.util.SortedSet;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.server.ContainerResponse;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSortedSetStringTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSortedSetStringTest.java
index 51be2f8..5d3ac29 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSortedSetStringTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsSortedSetStringTest.java
@@ -19,11 +19,11 @@
 import java.util.SortedSet;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsStringTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsStringTest.java
index 781a3fc..10264b4 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsStringTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamAsStringTest.java
@@ -19,12 +19,12 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamEnumTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamEnumTest.java
index c1169ba..8412f24 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamEnumTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamEnumTest.java
@@ -18,9 +18,9 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamFromStringTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamFromStringTest.java
index 4f1f4d5..9f983f2 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamFromStringTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamFromStringTest.java
@@ -19,9 +19,9 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamSetStringConstructorTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamSetStringConstructorTest.java
index 4da748a..d8a73d8 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamSetStringConstructorTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamSetStringConstructorTest.java
@@ -20,10 +20,10 @@
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamSortedSetStringConstructorTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamSortedSetStringConstructorTest.java
index 3298f13..353c9fa 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamSortedSetStringConstructorTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamSortedSetStringConstructorTest.java
@@ -20,10 +20,10 @@
 import java.util.SortedSet;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamStringConstructorTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamStringConstructorTest.java
index 70dcdcf..d665397 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamStringConstructorTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/QueryParamStringConstructorTest.java
@@ -22,10 +22,10 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.server.ContainerResponse;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/UriTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/UriTest.java
index af6586c..dd402a2 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/UriTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/inject/UriTest.java
@@ -22,9 +22,9 @@
 import java.lang.annotation.Target;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ClientBinding;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/monitoring/MonitoringStatisticsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/monitoring/MonitoringStatisticsTest.java
index 4c41281..989bff1 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/monitoring/MonitoringStatisticsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/monitoring/MonitoringStatisticsTest.java
@@ -24,12 +24,12 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.model.Resource;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/monitoring/MonitoringUtilsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/monitoring/MonitoringUtilsTest.java
index 322f6d4..a9419a5 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/monitoring/MonitoringUtilsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/monitoring/MonitoringUtilsTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.server.internal.monitoring;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.model.Resource;
 import org.glassfish.jersey.server.model.ResourceMethod;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/process/ProxyInjectablesTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/process/ProxyInjectablesTest.java
index 2f33418..e7ea1e8 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/process/ProxyInjectablesTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/process/ProxyInjectablesTest.java
@@ -19,20 +19,20 @@
 import java.io.IOException;
 import java.security.Principal;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/ExtendedUriInfoTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/ExtendedUriInfoTest.java
index ece29a9..84b5269 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/ExtendedUriInfoTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/ExtendedUriInfoTest.java
@@ -19,12 +19,12 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/ResponseMediaTypeFromProvidersTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/ResponseMediaTypeFromProvidersTest.java
index 049b449..30cf738 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/ResponseMediaTypeFromProvidersTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/ResponseMediaTypeFromProvidersTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.server.internal.routing;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/SubResourceLocatorCachingTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/SubResourceLocatorCachingTest.java
index 3da884d..c09ff52 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/SubResourceLocatorCachingTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/SubResourceLocatorCachingTest.java
@@ -18,11 +18,11 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/SubResourceValidationTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/SubResourceValidationTest.java
index 3ba5c53..0a5a01e 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/SubResourceValidationTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/SubResourceValidationTest.java
@@ -18,8 +18,8 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/UriRoutingContextTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/UriRoutingContextTest.java
index 9466b03..d39d719 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/UriRoutingContextTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/routing/UriRoutingContextTest.java
@@ -21,9 +21,9 @@
 import java.util.Iterator;
 import java.util.List;
 
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.RequestContextBuilder;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/JarFileScannerTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/JarFileScannerTest.java
index b929735..bdceaa1 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/JarFileScannerTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/JarFileScannerTest.java
@@ -62,35 +62,35 @@
     public void testRecursiveResourceEnumerationOfAllPackages() throws IOException {
         final int actualEntries = countJarEntriesByPattern(Pattern.compile(".*\\.(class|properties|xml|md)"));
         final int scannedEntries = countJarEntriesUsingScanner("", true);
-        assertThat("Failed to enumerate all contents of javax.ws.rs-api", scannedEntries, equalTo(actualEntries));
+        assertThat("Failed to enumerate all contents of jakarta.ws.rs-api", scannedEntries, equalTo(actualEntries));
     }
 
     @Test
     public void testRecursiveClassEnumerationWithExistantPackage() throws IOException {
-        final int actualEntries = countJarEntriesByPattern(Pattern.compile("javax/ws/rs/.*\\.class"));
-        final int scannedEntries = countJarEntriesUsingScanner("javax/ws/rs", true);
-        assertThat("Failed to enumerate all contents of javax.ws.rs-api", scannedEntries, equalTo(actualEntries));
+        final int actualEntries = countJarEntriesByPattern(Pattern.compile("jakarta/ws/rs/.*\\.class"));
+        final int scannedEntries = countJarEntriesUsingScanner("jakarta/ws/rs", true);
+        assertThat("Failed to enumerate all contents of jakarta.ws.rs-api", scannedEntries, equalTo(actualEntries));
     }
 
     @Test
     public void testNonRecursiveClassEnumerationWithExistantPackage() throws IOException {
-        final int actualEntries = countJarEntriesByPattern(Pattern.compile("javax/ws/rs/[^/]*\\.class"));
-        final int scannedEntries = countJarEntriesUsingScanner("javax/ws/rs", false);
-        assertThat("Failed to enumerate package 'javax.ws.rs' of javax.ws.rs-api", scannedEntries, equalTo(actualEntries));
+        final int actualEntries = countJarEntriesByPattern(Pattern.compile("jakarta/ws/rs/[^/]*\\.class"));
+        final int scannedEntries = countJarEntriesUsingScanner("jakarta/ws/rs", false);
+        assertThat("Failed to enumerate package 'jakarta.ws.rs' of jakarta.ws.rs-api", scannedEntries, equalTo(actualEntries));
     }
 
     @Test
     public void testRecursiveClassEnumerationWithOptionalTrailingSlash() throws IOException {
-        final int scannedEntriesWithoutSlash = countJarEntriesUsingScanner("javax/ws/rs", true);
-        final int scannedEntriesWithSlash = countJarEntriesUsingScanner("javax/ws/rs/", true);
+        final int scannedEntriesWithoutSlash = countJarEntriesUsingScanner("jakarta/ws/rs", true);
+        final int scannedEntriesWithSlash = countJarEntriesUsingScanner("jakarta/ws/rs/", true);
         assertThat("Adding a trailing slash incorrectly affects recursive scanning", scannedEntriesWithSlash,
                 equalTo(scannedEntriesWithoutSlash));
     }
 
     @Test
     public void testNonRecursiveClassEnumerationWithOptionalTrailingSlash() throws IOException {
-        final int scannedEntriesWithoutSlash = countJarEntriesUsingScanner("javax/ws/rs", false);
-        final int scannedEntriesWithSlash = countJarEntriesUsingScanner("javax/ws/rs/", false);
+        final int scannedEntriesWithoutSlash = countJarEntriesUsingScanner("jakarta/ws/rs", false);
+        final int scannedEntriesWithSlash = countJarEntriesUsingScanner("jakarta/ws/rs/", false);
         assertThat("Adding a trailing slash incorrectly affects recursive scanning", scannedEntriesWithSlash,
                 equalTo(scannedEntriesWithoutSlash));
     }
@@ -137,8 +137,8 @@
     @ValueSource(booleans = {true, false})
     public void testClassEnumerationWithNonexistentPackage(final boolean recursive) throws IOException {
         try (final InputStream jaxRsApi = Files.newInputStream(Paths.get(this.jaxRsApiPath))) {
-            final JarFileScanner jarFileScanner = new JarFileScanner(jaxRsApi, "javax/ws/r", recursive);
-            assertFalse(jarFileScanner.hasNext(), "Unexpectedly found package 'javax.ws.r' in javax.ws.rs-api");
+            final JarFileScanner jarFileScanner = new JarFileScanner(jaxRsApi, "jakarta/ws/r", recursive);
+            assertFalse(jarFileScanner.hasNext(), "Unexpectedly found package 'jakarta.ws.r' in jakarta.ws.rs-api");
         }
     }
 
@@ -146,8 +146,8 @@
     @ValueSource(booleans = {true, false})
     public void testClassEnumerationWithClassPrefix(final boolean recursive) throws IOException {
         try (final InputStream jaxRsApi = Files.newInputStream(Paths.get(this.jaxRsApiPath))) {
-            final JarFileScanner jarFileScanner = new JarFileScanner(jaxRsApi, "javax/ws/rs/GE", recursive);
-            assertFalse(jarFileScanner.hasNext(), "Unexpectedly found package 'javax.ws.rs.GE' in javax.ws.rs-api");
+            final JarFileScanner jarFileScanner = new JarFileScanner(jaxRsApi, "jakarta/ws/rs/GE", recursive);
+            assertFalse(jarFileScanner.hasNext(), "Unexpectedly found package 'jakarta.ws.rs.GE' in jakarta.ws.rs-api");
         }
     }
 }
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/VFSSchemeResourceFinderTest.java b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/VFSSchemeResourceFinderTest.java
index 493d4bf..903f150 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/VFSSchemeResourceFinderTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/VFSSchemeResourceFinderTest.java
@@ -88,7 +88,7 @@
              Closeable mount = VFS.mountZip(VFS.getChild(jaxRsApiPath), mountDir, provider)) {
 
             ResourceFinder finder = new VfsSchemeResourceFinderFactory()
-                    .create(new URI(mountDir.toURI().toString() + "/javax/ws/rs"), true);
+                    .create(new URI(mountDir.toURI().toString() + "/jakarta/ws/rs"), true);
 
             int scannedEntryCount = 0;
             while (finder.hasNext()) {
@@ -104,7 +104,7 @@
                 }
             }
 
-            assertThat("Failed to enumerate all contents of javax.ws.rs-api.", scannedEntryCount, equalTo(actualEntries));
+            assertThat("Failed to enumerate all contents of jakarta.ws.rs-api.", scannedEntryCount, equalTo(actualEntries));
         } finally {
             executor.shutdownNow();
         }
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptAnnotatedReaderWriterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptAnnotatedReaderWriterTest.java
index de42c6a..dcfe76d 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptAnnotatedReaderWriterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptAnnotatedReaderWriterTest.java
@@ -24,20 +24,20 @@
 import java.lang.reflect.Type;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptQsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptQsTest.java
index 3b28dd3..56712a2 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptQsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptQsTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptTest.java
index 3b29041..a586712 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptWriterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptWriterTest.java
index b9f4da7..d80e2cc 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptWriterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/AcceptWriterTest.java
@@ -23,14 +23,14 @@
 import java.lang.reflect.Type;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/AmbiguousTemplateTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/AmbiguousTemplateTest.java
index 3df2196..c8acd9b 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/AmbiguousTemplateTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/AmbiguousTemplateTest.java
@@ -20,13 +20,13 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-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.WebApplicationException;
-import javax.ws.rs.core.MediaType;
+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.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/AncestorsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/AncestorsTest.java
index e9b11df..0ccab0c 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/AncestorsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/AncestorsTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/AsyncContentAndEntityTypeTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/AsyncContentAndEntityTypeTest.java
index 3520c38..af63f98 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/AsyncContentAndEntityTypeTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/AsyncContentAndEntityTypeTest.java
@@ -22,15 +22,15 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ConstrainedToServerTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ConstrainedToServerTest.java
index 7765045..bb84534 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ConstrainedToServerTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ConstrainedToServerTest.java
@@ -24,23 +24,23 @@
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ConsumeProduceSimpleTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ConsumeProduceSimpleTest.java
index e7ebb5a..2584acf 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ConsumeProduceSimpleTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ConsumeProduceSimpleTest.java
@@ -16,21 +16,22 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-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.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+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.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
 import org.glassfish.jersey.server.RequestContextBuilder;
 import org.glassfish.jersey.server.ResourceConfig;
 
+import org.glassfish.jersey.server.ServerProperties;
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -46,6 +47,12 @@
         return new ApplicationHandler(new ResourceConfig(classes));
     }
 
+    private ApplicationHandler createAppOctetStreamApplication(Class<?>... classes) {
+        return new ApplicationHandler(
+                new ResourceConfig(classes).property(ServerProperties.EMPTY_REQUEST_MEDIA_TYPE_MATCHES_ANY_CONSUMES, false)
+        );
+    }
+
     @Path("/{arg1}/{arg2}")
     @Consumes("text/html")
     public static class ConsumeSimpleBean {
@@ -103,6 +110,7 @@
         }
 
         @GET
+        @Consumes("text/xhtml")
         @Produces("text/xhtml")
         public String doGetXhtml() {
             assertEquals("text/xhtml", httpHeaders.getRequestHeader("Accept").get(0));
@@ -145,6 +153,12 @@
         assertEquals("HTML", app.apply(RequestContextBuilder.from("/a/b", "GET").accept("text/html").build()).get().getEntity());
         assertEquals("XHTML",
                 app.apply(RequestContextBuilder.from("/a/b", "GET").accept("text/xhtml").build()).get().getEntity());
+
+        app = createAppOctetStreamApplication(ProduceSimpleBean.class);
+
+        assertEquals("HTML", app.apply(RequestContextBuilder.from("/a/b", "GET").accept("text/html").build()).get().getEntity());
+        assertEquals("XHTML",
+                app.apply(RequestContextBuilder.from("/a/b", "GET").accept("text/xhtml").build()).get().getEntity());
     }
 
     @Test
@@ -157,9 +171,39 @@
         assertEquals("XHTML",
                 app.apply(RequestContextBuilder.from("/a/b", "POST").entity("").type("text/xhtml").accept("text/xhtml").build())
                         .get().getEntity());
+
+        assertEquals("HTML",
+                app.apply(RequestContextBuilder.from("/a/b", "GET").accept("text/html").build()).get().getEntity()
+        );
+        assertEquals("HTML",
+                app.apply(RequestContextBuilder.from("/a/b", "GET").type("text/html").accept("text/html").build())
+                        .get().getEntity()
+        );
+
+        assertEquals("XHTML",
+                app.apply(RequestContextBuilder.from("/a/b", "GET").accept("text/xhtml").build()).get().getEntity()
+        );
+        assertEquals("XHTML",
+                app.apply(RequestContextBuilder.from("/a/b", "GET").type("text/xhtml").accept("text/xhtml").build())
+                        .get().getEntity()
+        );
+
+        app = createAppOctetStreamApplication(ConsumeProduceSimpleBean.class);
         assertEquals("HTML", app.apply(RequestContextBuilder.from("/a/b", "GET").accept("text/html").build()).get().getEntity());
         assertEquals("XHTML",
                 app.apply(RequestContextBuilder.from("/a/b", "GET").accept("text/xhtml").build()).get().getEntity());
+
+        assertEquals(415,
+                app.apply(RequestContextBuilder.from("/a/b", "POST").entity("").accept("text/html").build()).get().getStatus());
+        assertEquals(415,
+                app.apply(RequestContextBuilder.from("/a/b", "POST").entity("").accept("text/xhtml").build()).get().getStatus());
+
+        assertEquals("HTML",
+                app.apply(RequestContextBuilder.from("/a/b", "POST").entity("").type("text/html").accept("text/html").build())
+                        .get().getEntity());
+        assertEquals("XHTML",
+                app.apply(RequestContextBuilder.from("/a/b", "POST").entity("").type("text/xhtml").accept("text/xhtml").build())
+                        .get().getEntity());
     }
 
     @Path("/")
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ConsumeProduceWildcardTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ConsumeProduceWildcardTest.java
index 5d6777d..fd064f2 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ConsumeProduceWildcardTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ConsumeProduceWildcardTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/DynamicFeatureTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/DynamicFeatureTest.java
index 2104b90..fe698a5 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/DynamicFeatureTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/DynamicFeatureTest.java
@@ -19,33 +19,33 @@
 import java.io.IOException;
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Providers;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Providers;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ExceptionMapperPriorityTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ExceptionMapperPriorityTest.java
index aef4bc9..8bed349 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ExceptionMapperPriorityTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ExceptionMapperPriorityTest.java
@@ -26,10 +26,10 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 public class ExceptionMapperPriorityTest {
     @Test
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/GenericMethodListTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/GenericMethodListTest.java
index 3661ab5..43a389c 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/GenericMethodListTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/GenericMethodListTest.java
@@ -21,8 +21,8 @@
 import java.lang.reflect.TypeVariable;
 import java.util.Iterator;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.core.Context;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/HeadSubResourceMethodTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/HeadSubResourceMethodTest.java
index 83e40e5..94587e9 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/HeadSubResourceMethodTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/HeadSubResourceMethodTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HEAD;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HEAD;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/HeadTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/HeadTest.java
index 69b99c9..24fb867 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/HeadTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/HeadTest.java
@@ -19,17 +19,17 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HEAD;
-import javax.ws.rs.Path;
-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.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HEAD;
+import jakarta.ws.rs.Path;
+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.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/InnerClassWithGenericTypeTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/InnerClassWithGenericTypeTest.java
index d2229de..58e3de4 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/InnerClassWithGenericTypeTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/InnerClassWithGenericTypeTest.java
@@ -21,8 +21,8 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/MixedResourceConfigurationTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/MixedResourceConfigurationTest.java
index 9593a1a..3419166 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/MixedResourceConfigurationTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/MixedResourceConfigurationTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/OptionsSubResourceMethodTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/OptionsSubResourceMethodTest.java
index de44237..6cbe808 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/OptionsSubResourceMethodTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/OptionsSubResourceMethodTest.java
@@ -21,15 +21,15 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.OPTIONS;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.OPTIONS;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/OptionsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/OptionsTest.java
index e6a304c..02a297b 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/OptionsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/OptionsTest.java
@@ -24,19 +24,19 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.OPTIONS;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.OPTIONS;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.message.internal.MediaTypes;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ParameterTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ParameterTest.java
index 5b01dc6..a66a601 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ParameterTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ParameterTest.java
@@ -17,7 +17,7 @@
 package org.glassfish.jersey.server.model;
 
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 import java.util.List;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ParameterWithMultipleAnnotationsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ParameterWithMultipleAnnotationsTest.java
index d567e47..fab6521 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ParameterWithMultipleAnnotationsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ParameterWithMultipleAnnotationsTest.java
@@ -21,7 +21,7 @@
 import java.lang.reflect.Method;
 import java.util.List;
 
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.PathParam;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/PathAndResourceMethodErrorsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/PathAndResourceMethodErrorsTest.java
index d82ba0b..29166f6 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/PathAndResourceMethodErrorsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/PathAndResourceMethodErrorsTest.java
@@ -18,12 +18,12 @@
 
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-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 jakarta.ws.rs.Consumes;
+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 org.glassfish.jersey.Severity;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ProgrammaticResourceMethodsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ProgrammaticResourceMethodsTest.java
index 3b4e852..b056734 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ProgrammaticResourceMethodsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ProgrammaticResourceMethodsTest.java
@@ -19,9 +19,9 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/RMBuilderTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/RMBuilderTest.java
index e41bd1f..5d8dcee 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/RMBuilderTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/RMBuilderTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.OPTIONS;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.OPTIONS;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceInfoTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceInfoTest.java
index 9116356..bd66231 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceInfoTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceInfoTest.java
@@ -20,16 +20,16 @@
 import java.lang.reflect.Method;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceMethodDispatcherInheritanceTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceMethodDispatcherInheritanceTest.java
index 7d3b8a5..d614263 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceMethodDispatcherInheritanceTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceMethodDispatcherInheritanceTest.java
@@ -23,8 +23,8 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 import java.util.concurrent.ExecutionException;
 
 public class ResourceMethodDispatcherInheritanceTest {
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceModelTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceModelTest.java
index d717d97..92e63df 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceModelTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceModelTest.java
@@ -19,11 +19,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-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 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 org.glassfish.jersey.uri.internal.UriTemplateParser;
 
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceNotFoundTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceNotFoundTest.java
index 7ba201a..f9fbdc5 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceNotFoundTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourceNotFoundTest.java
@@ -18,12 +18,12 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourcePathOverrideTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourcePathOverrideTest.java
index 3b359f1..cdf7e35 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ResourcePathOverrideTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ResourcePathOverrideTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceClassDynamicTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceClassDynamicTest.java
index ecb7e3d..631e95e 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceClassDynamicTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceClassDynamicTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicTest.java
index 87dd25e..958a01a 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.ContainerResponse;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicWithDuplicateTemplateNamesTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicWithDuplicateTemplateNamesTest.java
index 60f3c5b..2cd92b5 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicWithDuplicateTemplateNamesTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicWithDuplicateTemplateNamesTest.java
@@ -19,12 +19,12 @@
 import java.util.List;
 import java.util.Map.Entry;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicWithParametersTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicWithParametersTest.java
index cb5a400..17062b8 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicWithParametersTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceDynamicWithParametersTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceHttpMethodsTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceHttpMethodsTest.java
index 41dc0d6..7cb8d40 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceHttpMethodsTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceHttpMethodsTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceNullTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceNullTest.java
index 1f4dc4e..f342ba0 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceNullTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceNullTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 import org.glassfish.jersey.server.ApplicationHandler;
 import org.glassfish.jersey.server.RequestContextBuilder;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceProgrammaticTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceProgrammaticTest.java
index 48ce882..bdd2ac6 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceProgrammaticTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/SubResourceProgrammaticTest.java
@@ -18,13 +18,13 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/ValidatorTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/ValidatorTest.java
index 42bdb0b..dcf8b32 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/ValidatorTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/ValidatorTest.java
@@ -25,28 +25,28 @@
 import java.util.concurrent.ExecutionException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-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.container.AsyncResponse;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+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.container.AsyncResponse;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.sse.SseEventSink;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.Severity;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ChildResourceTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ChildResourceTest.java
index c6839e7..a2c5b47 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ChildResourceTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ChildResourceTest.java
@@ -18,7 +18,7 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ModelHelperTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ModelHelperTest.java
index a0e896c..bbf8345 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ModelHelperTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ModelHelperTest.java
@@ -20,7 +20,7 @@
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
 
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ResourceMethodDispatcherFactoryTest.java b/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ResourceMethodDispatcherFactoryTest.java
index b307ae3..35c83be 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ResourceMethodDispatcherFactoryTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/model/internal/ResourceMethodDispatcherFactoryTest.java
@@ -22,8 +22,8 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.TestInjectionManagerFactory;
 import org.glassfish.jersey.server.model.Invocable;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/modelapi/annotation/IntrospectionModellerTest.java b/core-server/src/test/java/org/glassfish/jersey/server/modelapi/annotation/IntrospectionModellerTest.java
index c5f4f01..0b28702 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/modelapi/annotation/IntrospectionModellerTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/modelapi/annotation/IntrospectionModellerTest.java
@@ -20,18 +20,18 @@
 import java.util.List;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-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.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+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.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.server.model.Parameter;
 import org.glassfish.jersey.server.model.Resource;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigTest.java b/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigTest.java
index ef3cca8..3a28c2a 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigTest.java
@@ -22,7 +22,7 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.TestInjectionManagerFactory;
 import org.glassfish.jersey.server.model.Parameter;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigurationLoaderTest.java b/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigurationLoaderTest.java
index 88e3bdb..25ca25a 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigurationLoaderTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorConfigurationLoaderTest.java
@@ -19,7 +19,7 @@
 import java.net.URISyntaxException;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorLoaderTest.java b/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorLoaderTest.java
index 00c4ea5..28fce64 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorLoaderTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/wadl/config/WadlGeneratorLoaderTest.java
@@ -29,7 +29,7 @@
 import java.util.List;
 import java.util.Properties;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.TestInjectionManagerFactory;
 import org.glassfish.jersey.server.model.Parameter;
diff --git a/core-server/src/test/java/org/glassfish/jersey/server/wadl/generators/resourcedoc/WadlGeneratorResourceDocSupportTest.java b/core-server/src/test/java/org/glassfish/jersey/server/wadl/generators/resourcedoc/WadlGeneratorResourceDocSupportTest.java
index 803d13f..5ad8577 100644
--- a/core-server/src/test/java/org/glassfish/jersey/server/wadl/generators/resourcedoc/WadlGeneratorResourceDocSupportTest.java
+++ b/core-server/src/test/java/org/glassfish/jersey/server/wadl/generators/resourcedoc/WadlGeneratorResourceDocSupportTest.java
@@ -23,11 +23,11 @@
 import java.lang.annotation.Target;
 import java.util.Collections;
 
-import javax.ws.rs.POST;
+import jakarta.ws.rs.POST;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
 
 import org.glassfish.jersey.server.model.Resource;
 import org.glassfish.jersey.server.wadl.WadlGenerator;
diff --git a/core-server/src/test/resources/META-INF/services/javax.ws.rs.container.DynamicFeature b/core-server/src/test/resources/META-INF/services/jakarta.ws.rs.container.DynamicFeature
similarity index 100%
rename from core-server/src/test/resources/META-INF/services/javax.ws.rs.container.DynamicFeature
rename to core-server/src/test/resources/META-INF/services/jakarta.ws.rs.container.DynamicFeature
diff --git a/core-server/src/test/resources/META-INF/services/javax.ws.rs.core.Feature b/core-server/src/test/resources/META-INF/services/jakarta.ws.rs.core.Feature
similarity index 100%
rename from core-server/src/test/resources/META-INF/services/javax.ws.rs.core.Feature
rename to core-server/src/test/resources/META-INF/services/jakarta.ws.rs.core.Feature
diff --git a/core-server/src/test/resources/server.policy b/core-server/src/test/resources/server.policy
index a8c8303..ad7e9fa 100644
--- a/core-server/src/test/resources/server.policy
+++ b/core-server/src/test/resources/server.policy
@@ -59,6 +59,7 @@
   permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
   permission java.lang.RuntimePermission "accessClassInPackage.sun.misc.*";
   permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect";
+  permission java.lang.RuntimePermission "accessClassInPackage.com.sun.xml.internal.bind.v2";
   permission java.lang.RuntimePermission "reflectionFactoryAccess";
   
   // Needed by TimeWindowStatisticsImplTest
@@ -77,4 +78,5 @@
   permission java.net.SocketPermission "home", "connect,resolve";
   permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
   permission java.lang.RuntimePermission "accessClassInPackage.sun.misc.*";
+  permission java.lang.RuntimePermission "accessClassInPackage.com.sun.xml.internal.bind.v2";
 };
diff --git a/docs/pom.xml b/docs/pom.xml
index 91957ce..062ff1f 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <artifactId>jersey-documentation</artifactId>
     <packaging>pom</packaging>
@@ -55,11 +55,11 @@
                                 <replace file="${src.dir}/jersey.ent" token="$docs.version" value="${jersey.docs.version}" />
                                 <replace file="${src.dir}/jersey.ent" token="$guava-version" value="${guava.version}" />
                                 <replace file="${src.dir}/jersey.ent" token="$jackson-version" value="${jackson.version}" />
-                                <replace file="${src.dir}/jersey.ent" token="$javax-el-impl-version" value="${javax.el.impl.version}" />
-                                <replace file="${src.dir}/jersey.ent" token="$javax-el-version" value="${javax.el.version}" />
+                                <replace file="${src.dir}/jersey.ent" token="$jakarta.el-impl-version" value="${jakarta.el.impl.version}" />
+                                <replace file="${src.dir}/jersey.ent" token="$jakarta.el-version" value="${jakarta.el.version}" />
                                 <replace file="${src.dir}/jersey.ent" token="$jax-rs-api-jar-version" value="${jaxrs.impl.version}" />
                                 <replace file="${src.dir}/jersey.ent" token="$jax-rs-version" value="${jaxrs.version}" />
-                                <replace file="${src.dir}/jersey.ent" token="$jaxb-api-jar-version" value="${jaxb.api.version}" />
+                                <replace file="${src.dir}/jersey.ent" token="$jaxb-api-jar-version" value="${jakarta.jaxb.api.version}" />
                                 <replace file="${src.dir}/jersey.ent" token="$repository" value="${javanet.repository.id}" />
                                 <replace file="${src.dir}/jersey.ent" token="$src.branch" value="${jersey.src.branch}" />
                                 <replace file="${src.dir}/jersey.ent" token="$version" value="${jersey.version}" />
@@ -193,7 +193,7 @@
         <javanet.repository.id>snapshots</javanet.repository.id>
         <jersey.docs.version>snapshot</jersey.docs.version>
         <jersey.apidocs.version>snapshot</jersey.apidocs.version>
-        <jersey.src.branch>master</jersey.src.branch>
+        <jersey.src.branch>3.x</jersey.src.branch>
         <jaxrs.version>${jaxrs.api.spec.version}</jaxrs.version>
         <jaxrs.impl.version>${jaxrs.api.impl.version}</jaxrs.impl.version>
     </properties>
diff --git a/docs/src/main/docbook/appendix-properties.xml b/docs/src/main/docbook/appendix-properties.xml
index 8052920..9e7dc27 100644
--- a/docs/src/main/docbook/appendix-properties.xml
+++ b/docs/src/main/docbook/appendix-properties.xml
@@ -132,19 +132,19 @@
                             <literal>jersey.config.disableDefaultProvider</literal>
                         </entry>
                         <entry>
-                            Disable some of the default providers from being loaded. The following providers extend application footprint
-                            by XML dependencies, which is too heavy for native image, or by AWT which may possibly be not available by JDK 11 desktop:
+                             Disable some of the default providers from being loaded. The following providers extend application footprint
+                             by XML dependencies, which is too heavy for native image, or by AWT which may possibly be not available by JDK 11 desktop:
 
-                            <simplelist><member>java.awt.image.RenderedImage</member>
-                                <member>javax.xml.transform.Source</member>
-                                <member>javax.xml.transform.dom.DOMSource</member>
-                                <member>javax.xml.transform.sax.SAXSource</member>
-                                <member>javax.xml.transform.stream.StreamSource</member></simplelist>
+                                 <simplelist><member>java.awt.image.RenderedImage</member>
+                                 <member>javax.xml.transform.Source</member>
+                                 <member>javax.xml.transform.dom.DOMSource</member>
+                                 <member>javax.xml.transform.sax.SAXSource</member>
+                                 <member>javax.xml.transform.stream.StreamSource</member></simplelist>
 
-                            The following are the options to disable the provides: {@code DOMSOURCE, RENDEREDIMAGE, SAXSOURCE, SOURCE, STREAMSOURCE},
-                            or to disable all: {@code ALL}. Multiple options can be disabled by adding multiple comma separated values.
-                            Default value is <literal>NULL</literal>
-                            @since 2.30
+                             The following are the options to disable the provides: {@code DOMSOURCE, RENDEREDIMAGE, SAXSOURCE, SOURCE, STREAMSOURCE},
+                             or to disable all: {@code ALL}. Multiple options can be disabled by adding multiple comma separated values.
+                             Default value is <literal>NULL</literal>
+                             @since 2.30
                         </entry>
                     </row>
                     <row>
@@ -339,6 +339,30 @@
                         </entry>
                     </row>
                     <row>
+                        <entry>&jersey.server.ServerProperties.EMPTY_REQUEST_MEDIA_TYPE_MATCHES_ANY_CONSUMES;</entry>
+                        <entry><literal>jersey.config.server.empty.request.media.matches.any.consumes</literal></entry>
+                        <entry>
+                            <para>
+                                Jakarta RESTful WebServices provides <literal>@Consumes</literal> annotation to accept only HTTP
+                                requests with compatible HTTP <literal>Content-Type</literal> header. However, when the header
+                                is missing a wildcard media type is used to match the <literal>@Consumes</literal> annotation.
+                            </para>
+                            <para>
+                                HTTP/1.1 RFC recommends that missing HTTP <literal>Content-Type</literal> header MAY default to
+                                <literal>application/octet-stream</literal>. This property makes Jersey consider the missing HTTP
+                                <literal>Content-Type</literal> header to be <literal>application/octet-stream</literal> rather
+                                than a wildcard media type. However, for a resource method without an entity argument, such as
+                                for HTTP GET, a wildcard media type is still considered to accept the HTTP request for
+                                the missing HTTP <literal>Content-Type</literal> header.
+                            </para>
+                            <para>
+                                Set this property to <literal>false</literal>, if the empty request media type should not to match
+                                applied <literal>@Consumes</literal> annotation on a resource method with an entity argument. The
+                                default is <literal>true</literal>.
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
                         <entry>&jersey.server.ServerProperties.FEATURE_AUTO_DISCOVERY_DISABLE;</entry>
                         <entry><literal>jersey.config.server.disableAutoDiscovery</literal></entry>
                         <entry>
@@ -677,6 +701,17 @@
                         </entry>
                     </row>
                     <row>
+                        <entry>&jersey.server.ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE;</entry>
+                        <entry><literal>jersey.config.server.unwrap.completion.stage.writer.enable</literal></entry>
+                        <entry>
+                            <para>
+                                If <literal>true</literal> or not set, message body writer will not use
+                                <literal>CompletionStage</literal> as a generic type. The <literal>CompletionStage</literal>
+                                value will be unwrapped and the message body writer will be invoked with the unwrapped type.
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
                         <entry>&jersey.logging.LoggingFeature.LOGGING_FEATURE_LOGGER_NAME_SERVER;
                         </entry>
                         <entry>
@@ -802,7 +837,7 @@
                     </row>
                     <row>
                         <entry>&jersey.servlet.ServletProperties.JAXRS_APPLICATION_CLASS;</entry>
-                        <entry><literal>javax.ws.rs.Application</literal></entry>
+                        <entry><literal>jakarta.ws.rs.Application</literal></entry>
                         <entry>
                             <para>
                                 Application configuration initialization property whose value is a fully qualified class name of a
diff --git a/docs/src/main/docbook/bean-validation.xml b/docs/src/main/docbook/bean-validation.xml
index d3b2e68..ad01062 100644
--- a/docs/src/main/docbook/bean-validation.xml
+++ b/docs/src/main/docbook/bean-validation.xml
@@ -58,7 +58,7 @@
             </note>
 
             This module depends directly on
-            <link xlink:href="http://www.hibernate.org/validator/">Hibernate Validator</link>
+            <link xlink:href="http://hibernate.org/validator/">Hibernate Validator</link>
             which provides a most commonly used implementation of the Bean Validation API spec.
         </para>
         <para>
@@ -707,7 +707,7 @@
 
                 The <literal>message</literal> property is the interpolated error message, <literal>messageTemplate</literal>
                 represents a non-interpolated error message (or key from your constraint definition e.g.
-                <literal>{javax.validation.constraints.NotNull.message}</literal>), <literal>path</literal> contains information
+                <literal>{jakarta.validation.constraints.NotNull.message}</literal>), <literal>path</literal> contains information
                 about the path in the validated object graph to the property holding invalid value and
                 <literal>invalidValue</literal> is the string representation of the invalid value itself.
             </para>
@@ -721,7 +721,7 @@
 Content-Length: 114
 Content-Type: text/plain
 Vary: Accept
-Server: Jetty(9.4.28)
+Server: Jetty(11.0.0.beta3)
 
 Contact with given ID does not exist. (path = ContactCardResource.getContact.&lt;return value&gt;, invalidValue = null)</screen>
                 </example>
@@ -732,7 +732,7 @@
 Content-Length: ...
 Content-Type: text/plain
 Vary: Accept
-Server: Jetty(9.4.28)
+Server: Jetty(11.0.0.beta3)
 
 <![CDATA[<div class="validation-errors">
     <div class="validation-error">
@@ -758,7 +758,7 @@
 Content-Length: ...
 Content-Type: text/plain
 Vary: Accept
-Server: Jetty(9.4.28)
+Server: Jetty(11.0.0.beta3)
 
 <![CDATA[<?xml version="1.0" encoding="UTF-8"?>
 <validationErrors>
@@ -776,7 +776,7 @@
 Content-Length: 174
 Content-Type: application/json
 Vary: Accept
-Server: Jetty(9.4.28)
+Server: Jetty(11.0.0.beta3)
 
 [ {
    "message" : "Contact with given ID does not exist.",
@@ -791,7 +791,6 @@
     <section>
         <title>Example</title>
 
-        <para>To see a complete working example of using Bean Validation (JSR-349) with Jersey refer to the
-            <link xlink:href='&jersey.github.examples.uri;/bean-validation-webapp'>Bean Validation Example</link>.</para>
+        <para>Examples are being processed to comply with Jakarta EE standards.</para>
     </section>
 </chapter>
diff --git a/docs/src/main/docbook/cdi.xml b/docs/src/main/docbook/cdi.xml
index 2f44e69..c2a0ae7 100644
--- a/docs/src/main/docbook/cdi.xml
+++ b/docs/src/main/docbook/cdi.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!--
 
-    Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -32,7 +32,7 @@
     <section xml:id="cdi.support.intro">
         <title>Introduction</title>
         <para>
-          At the time of this writing, Java SE support is being discussed as one of important additions to CDI 2.0 specification.
+          At the time of this writing, Java SE support is being discussed as one of important additions to CDI 3.0 specification.
           Existing CDI implementations brought this feature already, only container bootstrapping has not yet been standardized.
           In Jersey version 2.15 we introduced Weld SE support, so that people could take advantage of CDI features 
           also when running in Java SE environment. As part of this work, the old Jersey CDI module has been refactored
@@ -93,7 +93,7 @@
     <section xml:id="cdi.support.weld.se">
         <title>Jersey Weld SE Support</title>
         <para>
-            The extra work to align HTTP request with CDI request scope was already done by Jersey team for Weld 2.x implementation.
+            The extra work to align HTTP request with CDI request scope was already done by Jersey team for Weld 4.x implementation.
             In order to utilize Jersey/Weld request scope binding, you need to use the following module:
             <programlisting language="xml">&lt;dependency&gt;
     &lt;groupId&gt;org.glassfish.jersey.ext.cdi&lt;/groupId&gt;
@@ -117,7 +117,7 @@
             </example>
         </para>
         <para>
-          The above pattern could be applied also for other Jersey supported HTTP containers as long as you stick with CDI Weld 2.x implementation.
+          The above pattern could be applied also for other Jersey supported HTTP containers as long as you stick with CDI Weld 4.x implementation.
           You simply add the above mentioned <literal>jersey-weld2-se</literal> module into you class-path and bootstrap the Weld container manually
           before starting the HTTP container.
         </para>
diff --git a/docs/src/main/docbook/client.xml b/docs/src/main/docbook/client.xml
index 6f2be1c..b496268 100644
--- a/docs/src/main/docbook/client.xml
+++ b/docs/src/main/docbook/client.xml
@@ -31,7 +31,7 @@
 
     <para>
         This section introduces the JAX-RS Client API, which is a fluent Java based API for communication with RESTful Web
-        services. This standard API that is also part of Java EE 7 is designed to make it very easy to consume a Web service
+        services. This standard API that is also part of Jakarta EE 9 is designed to make it very easy to consume a Web service
         exposed via HTTP protocol and enables developers to concisely and efficiently implement portable client-side solutions
         that leverage existing and well established client-side HTTP connector implementations.
     </para>
@@ -546,8 +546,8 @@
                 do require running on another thread, should be executed using provided services.
             </para>
             <para>
-                Default values do depend on the environment - in Java EE container, it has to be &jee6.javax.enterprise.concurrent.ManagedExecutorService;
-                and &jee6.javax.enterprise.concurrent.ManagedScheduledExecutorService;, for Java SE it would be
+                Default values do depend on the environment - in Java/Jakarta EE container, it has to be &jee6.jakarta.enterprise.concurrent.ManagedExecutorService;
+                and &jee6.jakarta.enterprise.concurrent.ManagedScheduledExecutorService;, for Java SE it would be
                 <literal>ForkJoinPool.commonPool</literal> for Executor service and something undefined for Scheduled
                 executor service.
             </para>
@@ -761,7 +761,7 @@
             into the &lit.jersey.client.ClientConfig;. The &lit.jersey.grizzly.GrizzlyConnectorProvider; is used as a custom
             connector provider in the example above. Please note that the connector provider cannot be registered as a provider
             using &lit.jaxrs.core.Configurable;<literal>.register(...)</literal>. Also, please note that in this API has changed
-            in Jersey 2.5, where the &lit.jersey.client.ConnectorProvider; SPI has been introduced in order to decouple client
+            since Jersey 2.5, where the &lit.jersey.client.ConnectorProvider; SPI has been introduced in order to decouple client
             initialization from the connector instantiation. Starting with Jersey 2.5 it is therefore not possible to directly
             register &lit.jersey.client.Connector; instances in the Jersey &jersey.client.ClientConfig;. The new
             &lit.jersey.client.ConnectorProvider; SPI must be used instead to configure a custom client-side transport connector.
@@ -1005,7 +1005,7 @@
                 A behaviour of &jdk6.HostnameVerifier; is dependent on an http client implementation.
                 &lit.jersey.client.HttpUrlConnectorProvider; and &lit.jersey.apache.ApacheConnectorProvider; work properly, that means that after
                 the unsuccessful URL verification &lit.jdk6.HostnameVerifier; is called and by means of it is possible to
-                revalidate URL using a custom implementation of &lit.jdk6.HostnameVerifier; and go on in a handskahe processing.
+                revalidate URL using a custom implementation of &lit.jdk6.HostnameVerifier; and go on in a handshake processing.
                 &lit.jersey.jetty.JettyConnectorProvider; and &lit.jersey.grizzly.GrizzlyConnectorProvider; provide only host URL verification
                 and throw a &lit.jdk6.CertificateException; without any possibility to use custom &lit.jdk6.HostnameVerifier;.
                 Moreover, in case of &lit.jersey.jetty.JettyConnectorProvider; there is a property
@@ -1031,12 +1031,11 @@
             <para>Jersey supports Basic and Digest HTTP Authentication.</para>
             <important>
                 <para>
-                    In version prior to Jersey 2.5 the support was
-                    provided by <literal>org.glassfish.jersey.client.filter.HttpBasicAuthFilter</literal>
-                    and <literal>org.glassfish.jersey.client.filter.HttpDigestAuthFilter</literal>. Since Jersey
-                    2.5 these filters are deprecated (and removed in 2.6) and both authentication methods
-                    are provided by single &lit.jaxrs.core.Feature;
+                    In version of Jersey 3.x both authentication methods are provided by single &lit.jaxrs.core.Feature;
                     &jersey.client.HttpAuthenticationFeature;.
+                    For migration of older applications: <literal>org.glassfish.jersey.client.filter.HttpBasicAuthFilter</literal>
+                    and <literal>org.glassfish.jersey.client.filter.HttpDigestAuthFilter</literal> shall be replaced by
+                    those two authentication methods.
                 </para>
             </important>
 
diff --git a/docs/src/main/docbook/custom-di.xml b/docs/src/main/docbook/custom-di.xml
index 53a5a64..6e83b52 100644
--- a/docs/src/main/docbook/custom-di.xml
+++ b/docs/src/main/docbook/custom-di.xml
@@ -52,7 +52,7 @@
         <itemizedlist>
             <listitem><simpara>Implementing a custom injection provider that allows an application to define
                 additional types to be injectable into Jersey-managed JAX-RS components.</simpara></listitem>
-            <listitem><simpara>Defining a custom injection annotation (other than &jee6.javax.inject.Inject;
+            <listitem><simpara>Defining a custom injection annotation (other than &jee9.jakarta.inject.Inject;
                 or &jaxrs.core.Context;) to mark application injection points.</simpara></listitem>
             <listitem><simpara>Specifying a custom component life cycle management for your application
                 components.</simpara></listitem>
@@ -65,20 +65,20 @@
         as a good example that will help me demonstrate implementation of the use cases described above.
         The following examples should work on top of Jersey Servlet integration module. The approach that will be
         demonstrated could be further generalized.
-        Below we will show how to make actual Servlet &jee6.servlet.HttpSession; injectable into JAX-RS components
+        Below we will show how to make actual Servlet &jee9.servlet.HttpSession; injectable into JAX-RS components
         and how to make this injection work with a custom inject annotation type. Finally, we will demonstrate
-        how you can write &lit.jee6.servlet.HttpSession;-scoped JAX-RS resources.
+        how you can write &lit.jee9.servlet.HttpSession;-scoped JAX-RS resources.
     </para>
 
     <section>
         <title>Implementing Custom Injection Provider</title>
 
         <para>
-            Jersey implementation allows you to directly inject &jee6.servlet.HttpServletRequest; instance into
+            Jersey implementation allows you to directly inject &jee9.servlet.HttpServletRequest; instance into
             your JAX-RS components.
-            It is quite straight forward to get the appropriate &lit.jee6.servlet.HttpSession; instance out of the
+            It is quite straight forward to get the appropriate &lit.jee9.servlet.HttpSession; instance out of the
             injected request instance.
-            Let say, you want to get &lit.jee6.servlet.HttpSession; instance directly injected into your JAX-RS
+            Let say, you want to get &lit.jee9.servlet.HttpSession; instance directly injected into your JAX-RS
             types like in the code snippet below.
 
             <programlisting language="java">@Path("di-resource")
@@ -93,7 +93,7 @@
             To make the above injection work, you will need to define an additional HK2 binding in your
             application &jersey.server.ResourceConfig;.
             Let's start with a custom HK2 &hk2.Factory; implementation that knows how to extract
-            &lit.jee6.servlet.HttpSession; out of given &lit.jee6.servlet.HttpServletRequest;.
+            &lit.jee9.servlet.HttpSession; out of given &lit.jee9.servlet.HttpServletRequest;.
 
             <programlisting language="java">import org.glassfish.hk2.api.Factory;
     ...
@@ -118,7 +118,7 @@
 }</programlisting>
 
             Please note that the factory implementation itself relies on having the actual
-            &lit.jee6.servlet.HttpServletRequest; instance injected.
+            &lit.jee9.servlet.HttpServletRequest; instance injected.
             In your implementation, you can of course depend on other types (and inject them conveniently)
             as long as these other types are bound to the actual HK2 service locator by Jersey or by your
             application. The key notion to remember here is that your HK2 &lit.hk2.Factory; implementation
@@ -129,7 +129,7 @@
 
         <para>
             Once implemented, the factory can be used in a custom HK2 &lit.hk2.Binder; to define the
-            new injection binding for &lit.jee6.servlet.HttpSession;. Finally, the implemented binder
+            new injection binding for &lit.jee9.servlet.HttpSession;. Finally, the implemented binder
             can be registered in your &jersey.server.ResourceConfig;:
 
             <programlisting language="java">import org.glassfish.hk2.utilities.binding.AbstractBinder;
@@ -204,7 +204,7 @@
         <para>
             In the following example, we will describe how a custom injection annotation can be supported.
             Let's start with defining a new custom <literal>SessionInject</literal> injection annotation
-            that we will specifically use to inject instances of &jee6.servlet.HttpSession;
+            that we will specifically use to inject instances of &jee9.servlet.HttpSession;
             (similarly to the previous example):
 
             <programlisting language="java">@Retention(RetentionPolicy.RUNTIME)
@@ -235,17 +235,17 @@
         <para>
             If you remember from the previous section, to make the injection in the code snippet above work,
             you first need to implement the injection provider (HK2 &hk2.Factory;) as well as define the
-            injection binding for the &lit.jee6.servlet.HttpSession; type. That part we have already
+            injection binding for the &lit.jee9.servlet.HttpSession; type. That part we have already
             done in the previous section.
             We will now focus on what needs to be done to inform the HK2 runtime about our <literal>@SessionInject</literal>
             annotation type that we want to support as a new injection point marker annotation. To do that,
             we need to implement our own HK2 &hk2.InjectionResolver; for the annotation as demonstrated
             in the following listing:
 
-            <programlisting language="java">import javax.inject.Inject;
-import javax.inject.Named;
+            <programlisting language="java">import jakarta.inject.Inject;
+import jakarta.inject.Named;
 
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSession;
 
 import org.glassfish.hk2.api.InjectionResolver;
 import org.glassfish.hk2.api.ServiceHandle;
@@ -288,13 +288,13 @@
             HK2 binder that registers both, the injection provider from the previous step
             as well as the new HK2 inject resolver with Jersey application &lit.jersey.server.ResourceConfig;.
             Note that in this case we're explicitly binding the <literal>SessionInjectResolver</literal>
-            to a &jee6.inject.Singleton; scope to avoid the unnecessary proliferation of
+            to a &jee9.inject.Singleton; scope to avoid the unnecessary proliferation of
             <literal>SessionInjectResolver</literal> instances in the application:
 
             <programlisting language="java">import org.glassfish.hk2.api.TypeLiteral;
 import org.glassfish.hk2.utilities.binding.AbstractBinder;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 ...
 
@@ -328,14 +328,14 @@
             If not configured otherwise, then all JAX-RS resources are by default managed on a per-request basis. A new instance
             of given resource class will be created for each incoming request that should be handled by that resource class.
             Let say you want to have your resource class managed in a per-session manner. It means a new instance of your
-            resource class should be created only when a new Servlet &jee6.servlet.HttpSession; is established.
+            resource class should be created only when a new Servlet &jee9.servlet.HttpSession; is established.
             (As with previous examples in the chapter, this example assumes the deployment of your application
             to a Servlet container.)
         </para>
 
         <para>
             Following is an example of such a resource class that builds on the support for
-            &lit.jee6.servlet.HttpSession; injection from the earlier examples described in this chapter.
+            &lit.jee9.servlet.HttpSession; injection from the earlier examples described in this chapter.
             The <literal>PerSessionResource</literal> class allows you to count the number of requests made within
             a single client session and provides you a handy sub-resource method to obtain the number via
             a HTTP &lit.http.GET; method call:
@@ -368,7 +368,7 @@
             The value of this field would get incremented to 1 in the the <literal>getSessionRequestCount</literal>
             method before this value is returned.
             In order to achieve what we want, we have to find a way how to bind the instances of
-            our <literal>PerSessionResource</literal> class to &lit.jee6.servlet.HttpSession; instances and
+            our <literal>PerSessionResource</literal> class to &lit.jee9.servlet.HttpSession; instances and
             then reuse those bound instances whenever new request bound to the same HTTP client session arrives.
             Let's see how to achieve this.
         </para>
@@ -391,10 +391,10 @@
             Following example shows a simple &lit.jersey.server.spi.ComponentProvider; implementation,
             for our use case. Some comments on the code follow.
 
-            <programlisting language="java">import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
+            <programlisting language="java">import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
 ...
 import org.glassfish.hk2.api.DynamicConfiguration;
 import org.glassfish.hk2.api.DynamicConfigurationService;
@@ -404,7 +404,7 @@
 import org.glassfish.hk2.utilities.binding.BindingBuilderFactory;
 import org.glassfish.jersey.server.spi.ComponentProvider;
 
-@javax.ws.rs.ext.Provider
+@jakarta.ws.rs.ext.Provider
 public class PerSessionComponentProvider implements ComponentProvider {
 
     private ServiceLocator locator;
diff --git a/docs/src/main/docbook/declarative-linking.xml b/docs/src/main/docbook/declarative-linking.xml
index 2014126..07133a8 100644
--- a/docs/src/main/docbook/declarative-linking.xml
+++ b/docs/src/main/docbook/declarative-linking.xml
@@ -59,13 +59,13 @@
             <programlisting language="xml" linenumbering="unnumbered">&lt;dependency&gt;
     &lt;groupId&gt;jakarta.el&lt;/groupId&gt;
     &lt;artifactId&gt;jakarta.el-api&lt;/artifactId&gt;
-    &lt;version&gt;&javax-el.version;&lt;/version&gt;
+    &lt;version&gt;&jakarta.el.version;&lt;/version&gt;
 &lt;/dependency&gt;</programlisting>
 
             <programlisting language="xml" linenumbering="unnumbered">&lt;dependency&gt;
-    &lt;groupId&gt;org.glassfish&lt;/groupId&gt;
+    &lt;groupId&gt;org.glassfish.web&lt;/groupId&gt;
     &lt;artifactId&gt;jakarta.el&lt;/artifactId&gt;
-    &lt;version&gt;&javax-el-impl.version;&lt;/version&gt;
+    &lt;version&gt;&jakarta.el-impl.version;&lt;/version&gt;
 &lt;/dependency&gt;</programlisting>
 
             If you're not using Maven make sure to have all needed dependencies (see &jersey.ext.declarative-linking.deps.link;) on
diff --git a/docs/src/main/docbook/dependencies.xml b/docs/src/main/docbook/dependencies.xml
index ad40a92..94c62e8 100644
--- a/docs/src/main/docbook/dependencies.xml
+++ b/docs/src/main/docbook/dependencies.xml
@@ -33,25 +33,18 @@
         <title>Java SE Compatibility</title>
 
         <para>
-            <emphasis>2.x branch: </emphasis>
+            <emphasis>3.x branch: </emphasis>
             <itemizedlist>
                 <listitem>
-                    <para>Until version 2.6, Jersey was compiled with Java SE 6. This has changed in Jersey 2.7.</para>
+                    <para>This user guide refers only to version 3 and above of Jersey, its compatibility is described below</para>
                 </listitem>
                 <listitem>
-                    <para>Up to version 2.25.x almost all Jersey components are compiled with Java SE 7 target.
-                    It means, that you will need at least Java
-                    SE 7 to be able to compile and run your application that is using latest Jersey.
-                    Only <literal>core-common</literal> and <literal>core-client</literal> modules are still compiled with Java class
-                    version runnable with Java SE 6.</para>
-                </listitem>
-                <listitem>
-                    <para>Since Jersey 2.26, all modules are build using Java SE 8 and there is no support for running it
-                    on older Java SE distributions.</para>
-                </listitem>
-                <listitem>
-                    <para>Since Jersey 2.29, all modules can be built using Java SE 11 and all distributed modules provide support
-                        for Java SE 8+ (9,11).</para>
+                    <para>Since version 3.0.0* all Jersey components are compiled with Java SE 1.8 target.
+                    It means, that you will need at least Java SE 1.8 to be able to compile and run your application
+                        which uses the latest Jersey 3.x.
+                    All modules however are fully compatible with JDK 11 and above. So, it's possible to use JDK 11+ to
+                        build your app.
+                    </para>
                 </listitem>
             </itemizedlist>
         </para>
@@ -70,10 +63,10 @@
         </para>
 
         <para>
-            An application that uses Jersey and depends on Jersey modules is in turn required to also include in the application
-            dependencies the set of 3rd party modules that Jersey modules depend on. Jersey is designed as a pluggable component
+            An application that uses Jersey and depends on Jersey modules is in turn required to also include a set
+            of 3rd party modules that Jersey modules depend on. Jersey is designed as a pluggable component
             architecture and different applications can therefore require different sets of Jersey modules. This also means that
-            the set of external Jersey dependencies required to be included in the application dependencies may vary in each
+            a set of external Jersey dependencies required to be included in the application dependencies may vary in each
             application based on the Jersey modules that are being used by the application.
         </para>
 
@@ -129,7 +122,6 @@
 
             <programlisting language="xml">&lt;dependency&gt;
     &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
-    &lt;!-- if your container implements Servlet API older than 3.0, use "jersey-container-servlet-core"  --&gt;
     &lt;artifactId&gt;jersey-container-servlet&lt;/artifactId&gt;
     &lt;version&gt;&version;&lt;/version&gt;
 &lt;/dependency&gt;
@@ -170,7 +162,7 @@
     &lt;artifactId&gt;jersey-apache-connector&lt;/artifactId&gt;
     &lt;version&gt;&version;&lt;/version&gt;
 &lt;/dependency&gt;
-
+<!-- Requires JDK 11+ -->
 &lt;dependency&gt;
     &lt;groupId&gt;org.glassfish.jersey.connectors&lt;/groupId&gt;
     &lt;artifactId&gt;jersey-jetty-connector&lt;/artifactId&gt;
@@ -181,9 +173,10 @@
         <section xml:id="server-jdk">
             <title>Server-side application on supported containers</title>
             <para>Apart for a standard JAX-RS Servlet-based deployment that works with any Servlet container that
-                supports Servlet 2.5 and higher,
-                Jersey provides support for programmatic deployment to the following containers: Grizzly 2 (HTTP and Servlet),
-                JDK Http server, Simple Http server and Jetty Http server. This chapter presents only required maven dependencies,
+                supports Servlet 5 and higher,
+                Jersey provides support for programmatic deployment to the following containers: Grizzly 3 (HTTP and Servlet),
+                JDK Http server, Simple Http server and Jetty Http server (requires JDK 11+). This chapter presents only
+                required maven dependencies,
                 more information can be found in <xref linkend="deployment"/>.
             </para>
 
diff --git a/docs/src/main/docbook/deployment.xml b/docs/src/main/docbook/deployment.xml
index 509267b..474fd63 100644
--- a/docs/src/main/docbook/deployment.xml
+++ b/docs/src/main/docbook/deployment.xml
@@ -34,7 +34,7 @@
         <para>
             This chapter is an overview of various server-side environments currently capable of running JAX-RS applications
             on top of Jersey server runtime. Jersey supports wide range of server environments from lightweight http containers
-            up to full-fledged Java EE servers. Jersey applications can also run in an OSGi runtime.
+            up to full-fledged Java/Jakarta EE servers. Jersey applications can also run in an OSGi runtime.
             The way how the application is published depends on whether the application shall run in a Java SE environment or
             within a container.
         </para>
@@ -42,7 +42,7 @@
             <para>
                 This chapter is focused on server-side Jersey deployment models. The
                 <link linkend="client">Jersey client runtime</link> does
-                not have any specific container requirements and runs in plain Java SE 1.8 or higher runtime.
+                not have any specific container requirements and runs in plain Java SE 8 or higher runtime.
             </para>
         </note>
     </section>
@@ -106,7 +106,7 @@
         <title>Auto-Discoverable Features</title>
 
         <para>
-            By default Jersey 2.x does not implicitly register any extension features from the modules available on the
+            By default Jersey 3.x does not implicitly register any extension features from the modules available on the
             classpath, unless explicitly stated otherwise in the documentation of each particular extension.
             Users are expected to explicitly register the extension &jaxrs.core.Feature;s using their
             &lit.jaxrs.core.Application; subclass.
@@ -348,7 +348,7 @@
                     <literal>org.glassfish.grizzly.http.server.Response</literal> instances into JAX-RS and Jersey
                     application resources and providers. However, since Grizzly <literal>Request</literal> is not proxiable,
                     the injection of Grizzly <literal>Request</literal> into singleton (by default) JAX-RS / Jersey providers
-                    is only possible via <literal>javax.inject.Provider</literal> instance. (Grizzly <literal>Response</literal>
+                    is only possible via <literal>jakarta.inject.Provider</literal> instance. (Grizzly <literal>Response</literal>
                     does not suffer the same restriction.)
                 </para>
 
@@ -426,7 +426,7 @@
                     <literal>org.eclipse.jetty.server.Response</literal> instances into JAX-RS and Jersey
                     application resources and providers. However, since Jetty HTTP <literal>Request</literal> is not proxiable,
                     the injection of Jetty <literal>Request</literal> into singleton (by default) JAX-RS / Jersey providers
-                    is only possible via <literal>javax.inject.Provider</literal> instance. (Jetty <literal>Response</literal>
+                    is only possible via <literal>jakarta.inject.Provider</literal> instance. (Jetty <literal>Response</literal>
                     does not suffer the same restriction.)
                 </para>
 
@@ -511,34 +511,34 @@
         </para>
 
         <section xml:id="deployment.servlet.2">
-            <title>Servlet 2.x Container</title>
+            <title>Servlet 2.x way</title>
             <para>
                 Jersey integrates with any Servlet containers supporting at least Servlet 2.5 specification. Running on a
-                Servlet container that supports Servlet API 3.0 or later gives you the advantage of wider feature set
-                (especially asynchronous request processing support) and easier and more flexible deployment options.
-                In this section we will focus on the basic deployment models available in any Servlet 2.5 or higher container.
+                Servlet container that supports Servlet API 5.0 it's required to adjust this approach to jakartified Servlet API.
+                This includes Jakarta EE 9 namespaces which is applied since the 5.x Servlet API version.
+                In this section we will focus on the basic deployment models available in any Servlet 2.5 container.
             </para>
             <para>
-                In Servlet 2.5 environment, you have to explicitly declare the Jersey container Servlet in your Web application's
+                Using Servlet 2.x way, you have to explicitly declare the Jersey container Servlet in your Web application's
                 <literal>web.xml</literal> deployment descriptor file.
 
                 <example>
                     <title>Hooking up Jersey as a Servlet</title>
                     <programlisting language="xml" linenumbering="numbered">&lt;web-app&gt;
-    &lt;servlet&gt;
-        &lt;servlet-name&gt;MyApplication&lt;/servlet-name&gt;
-        &lt;servlet-class&gt;org.glassfish.jersey.servlet.ServletContainer&lt;/servlet-class&gt;
-        &lt;init-param&gt;
-            ...
-        &lt;/init-param&gt;
-    &lt;/servlet&gt;
-    ...
-    &lt;servlet-mapping&gt;
-        &lt;servlet-name&gt;MyApplication&lt;/servlet-name&gt;
-        &lt;url-pattern&gt;/myApp/*&lt;/url-pattern&gt;
-    &lt;/servlet-mapping&gt;
-    ...
-&lt;/web-app&gt;</programlisting>
+                        &lt;servlet&gt;
+                        &lt;servlet-name&gt;MyApplication&lt;/servlet-name&gt;
+                        &lt;servlet-class&gt;org.glassfish.jersey.servlet.ServletContainer&lt;/servlet-class&gt;
+                        &lt;init-param&gt;
+                        ...
+                        &lt;/init-param&gt;
+                        &lt;/servlet&gt;
+                        ...
+                        &lt;servlet-mapping&gt;
+                        &lt;servlet-name&gt;MyApplication&lt;/servlet-name&gt;
+                        &lt;url-pattern&gt;/myApp/*&lt;/url-pattern&gt;
+                        &lt;/servlet-mapping&gt;
+                        ...
+                        &lt;/web-app&gt;</programlisting>
                 </example>
 
                 Alternatively, you can register Jersey container as a <emphasis>filter</emphasis>:
@@ -546,30 +546,30 @@
                 <example>
                     <title>Hooking up Jersey as a Servlet Filter</title>
                     <programlisting language="xml" linenumbering="numbered">&lt;web-app&gt;
-    &lt;filter&gt;
-        &lt;filter-name&gt;MyApplication&lt;/filter-name&gt;
-        &lt;filter-class&gt;org.glassfish.jersey.servlet.ServletContainer&lt;/filter-class&gt;
-        &lt;init-param&gt;
-            ...
-        &lt;/init-param&gt;
-    &lt;/filter&gt;
-    ...
-    &lt;filter-mapping&gt;
-        &lt;filter-name&gt;MyApplication&lt;/filter-name&gt;
-        &lt;url-pattern&gt;/myApp/*&lt;/url-pattern&gt;
-    &lt;/filter-mapping&gt;
-    ...
-&lt;/web-app&gt;</programlisting>
+                        &lt;filter&gt;
+                        &lt;filter-name&gt;MyApplication&lt;/filter-name&gt;
+                        &lt;filter-class&gt;org.glassfish.jersey.servlet.ServletContainer&lt;/filter-class&gt;
+                        &lt;init-param&gt;
+                        ...
+                        &lt;/init-param&gt;
+                        &lt;/filter&gt;
+                        ...
+                        &lt;filter-mapping&gt;
+                        &lt;filter-name&gt;MyApplication&lt;/filter-name&gt;
+                        &lt;url-pattern&gt;/myApp/*&lt;/url-pattern&gt;
+                        &lt;/filter-mapping&gt;
+                        ...
+                        &lt;/web-app&gt;</programlisting>
                 </example>
             </para>
 
             <important>
                 <para>
-                    Servlet 2.x API does not provide a way how to programmatically read the filter mappings. To make application
-                    deployed using filter work correctly, either Servlet 3.x container must be used
-                    (<literal>jersey-container-servlet</literal> instead of <literal>jersey-container-servlet-core</literal>), or
-                    the context path of the app needs to be defined using init parameter
-                    <literal>jersey.config.servlet.filter.contextPath</literal>.
+                    Since pure Servlet 2.x way deployment does not provide a way how to programmatically read the filter
+                    mappings in order to make application with filter work correctly, the context path of the app needs
+                    to be defined using init parameter <literal>jersey.config.servlet.filter.contextPath</literal> for
+                    <literal>jersey-container-servlet-core</literal>.
+                    Or <literal>jersey-container-servlet</literal> shall be used.
                 </para>
             </important>
 
@@ -585,16 +585,16 @@
                     classes (<literal>getClasses()</literal>) and singletons (<literal>getSingletons()</literal>),
                     i.e. your JAX-RS application model, you then need to register it in your web application
                     <literal>web.xml</literal> deployment descriptor using a Servlet or Servlet filter initialization
-                    parameter with a name of  <literal>javax.ws.rs.Application</literal> [<emphasis>sic</emphasis>] as follows:
+                    parameter with a name of  <literal>jakarta.ws.rs.Application</literal> [<emphasis>sic</emphasis>] as follows:
 
                     <example>
                         <title>
                             Configuring Jersey container Servlet or Filter to use custom &lit.jaxrs.core.Application; subclass
                         </title>
                         <programlisting language="xml" linenumbering="numbered">&lt;init-param&gt;
-    &lt;param-name&gt;javax.ws.rs.Application&lt;/param-name&gt;
-    &lt;param-value&gt;org.foo.MyApplication&lt;/param-value&gt;
-&lt;/init-param&gt;</programlisting>
+                            &lt;param-name&gt;jakarta.ws.rs.Application&lt;/param-name&gt;
+                            &lt;param-value&gt;org.foo.MyApplication&lt;/param-value&gt;
+                            &lt;/init-param&gt;</programlisting>
                     </example>
 
                     Jersey will consider all the classes returned by <literal>getClasses()</literal> and
@@ -604,7 +604,7 @@
                 <note>
                     <para>
                         The name of the configuration property as defined by JAX-RS specification is indeed
-                        <literal>javax.ws.rs.Application</literal> and not <literal>javax.ws.rs.core.Application</literal>
+                        <literal>jakarta.ws.rs.Application</literal> and not <literal>jakarta.ws.rs.core.Application</literal>
                         as one might expect.
                     </para>
                 </note>
@@ -620,15 +620,15 @@
                     <example>
                         <title>Configuring Jersey container Servlet or Filter to use package scanning</title>
                         <programlisting language="xml" linenumbering="numbered">&lt;init-param&gt;
-    &lt;param-name&gt;jersey.config.server.provider.packages&lt;/param-name&gt;
-    &lt;param-value&gt;
-        org.foo.myresources,org.bar.otherresources
-    &lt;/param-value&gt;
-&lt;/init-param&gt;
-&lt;init-param&gt;
-    &lt;param-name&gt;jersey.config.server.provider.scanning.recursive&lt;/param-name&gt;
-    &lt;param-value&gt;false&lt;/param-value&gt;
-&lt;/init-param&gt;</programlisting>
+                            &lt;param-name&gt;jersey.config.server.provider.packages&lt;/param-name&gt;
+                            &lt;param-value&gt;
+                            org.foo.myresources,org.bar.otherresources
+                            &lt;/param-value&gt;
+                            &lt;/init-param&gt;
+                            &lt;init-param&gt;
+                            &lt;param-name&gt;jersey.config.server.provider.scanning.recursive&lt;/param-name&gt;
+                            &lt;param-value&gt;false&lt;/param-value&gt;
+                            &lt;/init-param&gt;</programlisting>
                     </example>
 
                     Jersey will automatically discover the resources and providers in the selected packages.
@@ -638,7 +638,7 @@
                 </para>
             </section>
 
-            <section xml:id="deployment.servet.2.classes">
+            <section xml:id="deployment.servlet.2.classes">
                 <title>Selecting concrete resource and provider classes</title>
 
                 <para>
@@ -652,38 +652,38 @@
                 <example>
                     <title>Configuring Jersey container Servlet or Filter to use a list of classes</title>
                     <programlisting language="xml" linenumbering="numbered">&lt;init-param&gt;
-    &lt;param-name&gt;jersey.config.server.provider.classnames&lt;/param-name&gt;
-    &lt;param-value&gt;
-        org.foo.myresources.MyDogResource,
-        org.bar.otherresources.MyCatResource
-    &lt;/param-value&gt;
-&lt;/init-param&gt;</programlisting>
+                        &lt;param-name&gt;jersey.config.server.provider.classnames&lt;/param-name&gt;
+                        &lt;param-value&gt;
+                        org.foo.myresources.MyDogResource,
+                        org.bar.otherresources.MyCatResource
+                        &lt;/param-value&gt;
+                        &lt;/init-param&gt;</programlisting>
                 </example>
             </section>
 
             <note>
                 <para>
                     All of the techniques that have been described in this section also apply to Servlet containers that
-                    support Servlet API 3.0 and later specification. Newer Servlet specifications only give you additional
+                    support Servlet API 5.0 with jakartified adjustments. Newer Servlet specifications only give you additional
                     features, deployment options and more flexibility.
                 </para>
             </note>
         </section>
 
-        <section xml:id="deployment.servlet.3">
-            <title>Servlet 3.x Container</title>
+        <section xml:id="deployment.servlet.5">
+            <title>Servlet 5.x Container</title>
 
-            <section xml:id="deployment.servlet.3.no.descriptor">
+            <section xml:id="deployment.servlet.5.no.descriptor">
                 <title>Descriptor-less deployment</title>
                 <para>
-                    There are multiple deployment options in the Servlet 3.0 container for a JAX-RS application defined
+                    There are multiple deployment options in the Servlet 5.0 container for a JAX-RS application defined
                     by implementing a custom &jaxrs.core.Application; subclass. For simple deployments, no
                     <literal>web.xml</literal> is necessary at all. Instead, an &jaxrs.ApplicationPath; annotation can be used
                     to annotate the custom &jaxrs.core.Application; subclass and define the base application URI for all
                     JAX-RS resources configured in the application:
 
                     <example>
-                        <title>Deployment of a JAX-RS application using &lit.jaxrs.ApplicationPath; with Servlet 3.0</title>
+                        <title>Deployment of a JAX-RS application using &lit.jaxrs.ApplicationPath; with Servlet 5.0</title>
                         <programlisting language="java" linenumbering="numbered">@ApplicationPath("resources")
 public class MyApplication extends ResourceConfig {
     public MyApplication() {
@@ -725,11 +725,11 @@
                     </example>
                 </para>
             </section>
-            <section xml:id="deployment.servlet.3.descriptor">
+            <section xml:id="deployment.servlet.5.descriptor">
                 <title>Deployment using <literal>web.xml</literal> descriptor</title>
 
                 <para>
-                    Another Servlet 3.x container deployment model is to declare the JAX-RS application details in the
+                    Another Servlet 5.x container deployment model is to declare the JAX-RS application details in the
                     <literal>web.xml</literal>.
                     This is typically suitable for more complex deployments, e.g. when security model needs to be
                     properly defined or when additional initialization parameters have to be passed to Jersey runtime.
@@ -742,7 +742,7 @@
                     Following example illustrates this approach:
 
                     <example>
-                        <title>Deployment of a JAX-RS application using <literal>web.xml</literal> with Servlet 3.0
+                        <title>Deployment of a JAX-RS application using <literal>web.xml</literal> with Servlet 5.0
                         </title>
                         <programlisting language="xml" linenumbering="numbered">&lt;web-app&gt;
     &lt;servlet&gt;
@@ -758,21 +758,14 @@
                     </example>
 
                     Note that the <literal>&lt;servlet-class&gt;</literal> element is omitted from the Servlet declaration.
-                    This is a correct declaration utilizing the Servlet 3.0 extension mechanism described in detail in the
-                    <xref linkend="deployment.servlet.3.pluggability"/> section. Also note that
+                    This is a correct declaration utilizing the Servlet 5.0 extension mechanism described in detail in the
+                    <xref linkend="deployment.servlet.5.pluggability"/> section. Also note that
                     <literal>&lt;servlet-mapping&gt;</literal> is used in the example to define the base resource URI.
                 </para>
 
-                <tip>
-                    <para>
-                        When running in a Servlet 2.x it would instead be necessary to declare the Jersey container Servlet
-                        or Filter and pass the &lit.jaxrs.core.Application; implementation class name as one of the
-                        <literal>init-param</literal> entries, as described in <xref linkend="deployment.servlet.2"/>.
-                    </para>
-                </tip>
             </section>
 
-            <section xml:id="deployment.servlet.3.pluggability">
+            <section xml:id="deployment.servlet.5.pluggability">
                 <title>Servlet Pluggability Mechanism</title>
                 <para>
                     Servlet framework pluggability mechanism is a feature introduced with Servlet 3.0 specification. It
@@ -785,40 +778,40 @@
                     This section describes how JAX-RS and Jersey leverage the Servlet pluggability mechanism.
                 </para>
 
-                <section xml:id="deployment.servlet.3.pluggability.noapp">
+                <section xml:id="deployment.servlet.5.pluggability.noapp">
                     <title>JAX-RS application without an &lit.jaxrs.core.Application; subclass</title>
 
                     If no &lit.jaxrs.core.Application; (or &lit.jersey.server.ResourceConfig;) subclass is present,
                     Jersey will dynamically add a Jersey container Servlet and set its name to
-                    <literal>javax.ws.rs.core.Application</literal>. The web application path will be scanned and all the
+                    <literal>jakarta.ws.rs.core.Application</literal>. The web application path will be scanned and all the
                     root resource classes (the classes annotated with &jaxrs.Path; annotation) as well as any providers that are
                     annotated with &jaxrs.ext.Provider; annotation packaged with the application will be automatically registered
                     in the JAX-RS application. The web application has to be packaged with a deployment descriptor specifying
-                    at least the mapping for the added <literal>javax.ws.rs.core.Application</literal> Servlet:
+                    at least the mapping for the added <literal>jakarta.ws.rs.core.Application</literal> Servlet:
 
                     <example>
                         <title>
                             <literal>web.xml</literal> of a JAX-RS application without an &lit.jaxrs.core.Application; subclass
                         </title>
-                        <programlisting language="xml" linenumbering="numbered">&lt;web-app version="3.0"
-    xmlns="http://java.sun.com/xml/ns/javaee"
+                        <programlisting language="xml" linenumbering="numbered">&lt;web-app version="5.0"
+    xmlns="https://jakarta.ee/xml/ns/jakartaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
 
     &lt;!-- Servlet declaration can be omitted in which case
          it would be automatically added by Jersey --&gt;
     &lt;servlet&gt;
-        &lt;servlet-name&gt;javax.ws.rs.core.Application&lt;/servlet-name&gt;
+        &lt;servlet-name&gt;jakarta.ws.rs.core.Application&lt;/servlet-name&gt;
     &lt;/servlet&gt;
 
     &lt;servlet-mapping&gt;
-        &lt;servlet-name&gt;javax.ws.rs.core.Application&lt;/servlet-name&gt;
+        &lt;servlet-name&gt;jakarta.ws.rs.core.Application&lt;/servlet-name&gt;
         &lt;url-pattern&gt;/myresources/*&lt;/url-pattern&gt;
     &lt;/servlet-mapping&gt;
 &lt;/web-app&gt;</programlisting>
                     </example>
                 </section>
 
-                <section xml:id="deployment.servlet.3.pluggability.app">
+                <section xml:id="deployment.servlet.5.pluggability.app">
                     <title>JAX-RS application with a custom &lit.jaxrs.core.Application; subclass</title>
 
                     <para>
@@ -828,7 +821,7 @@
 
                     <para>
                         If the <literal>web.xml</literal> contains a Servlet definition, that has an initialization parameter
-                        <literal>javax.ws.rs.Application</literal> whose value is the fully qualified name of the
+                        <literal>jakarta.ws.rs.Application</literal> whose value is the fully qualified name of the
                         &lit.jaxrs.core.Application; subclass, Jersey does not perform any additional steps in such case.
                     </para>
 
@@ -847,8 +840,8 @@
                         &lit.jaxrs.core.Application; subclass named <literal>org.example.MyApplication</literal>.
                         Then the <literal>web.xml</literal> file could have the following structure:
                         <example>
-                            <programlisting language="xml" linenumbering="numbered">&lt;web-app version="3.0"
-    xmlns="http://java.sun.com/xml/ns/javaee"
+                            <programlisting language="xml" linenumbering="numbered">&lt;web-app version="5.0"
+    xmlns="https://jakarta.ee/xml/ns/jakartaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
 
     &lt;!-- Servlet declaration can be omitted in which case
@@ -903,7 +896,7 @@
                                 <row>
                                     <entry>No &lit.jaxrs.core.Application; subclass</entry>
                                     <entry>Adds Servlet</entry>
-                                    <entry><literal>javax.ws.rs.core.Application</literal></entry>
+                                    <entry><literal>jakarta.ws.rs.core.Application</literal></entry>
                                     <entry>Servlet mapping is required</entry>
                                 </row>
                                 <row>
@@ -933,9 +926,8 @@
 
             <para>
                 Jersey uses its own <literal>&jersey.servlet.ServletContainer;</literal> implementation of Servlet and
-                Servlet Filter API to integrate with Servlet containers. As any JAX-RS runtime, Jersey provides support
-                for Servlet containers that support Servlet specification version 2.5 and higher. To support JAX-RS 2.0
-                asynchronous resources on top of a Servlet container, support for Servlet specification version 3.0 or higher
+                Servlet Filter API to integrate with Servlet containers. As any Jakartified JAX-RS runtime (JAX-RS spec 3.0),
+                Jersey provides support for Servlet containers that support Servlet specification version 5.0 or higher
                 is required.
             </para>
 
@@ -944,19 +936,19 @@
                 As with any other Servlet application, JAX-RS application classes are packaged in
                 <literal>WEB-INF/classes</literal> or <literal>WEB-INF/lib</literal> and required application libraries are
                 located in <literal>WEB-INF/lib</literal>.
-                For more details, please refer to the Servlet Specification (&jsr315.link;).
+                For more details, please refer to the Servlet Specification (&servlet5.link;).
             </para>
 
             <para>
                 Jersey provides two Servlet modules. The first module is the Jersey core Servlet module that provides
-                the core Servlet integration support and is required in any Servlet 2.5 or higher container:
+                the core Servlet integration support and is required in any Servlet 5 or higher container:
 
                 <programlisting language="xml">&lt;dependency&gt;
     &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
     &lt;artifactId&gt;jersey-container-servlet-core&lt;/artifactId&gt;
 &lt;/dependency&gt;</programlisting>
 
-                To support additional Servlet 3.x deployment modes and asynchronous JAX-RS resource programming model,
+                To support additional Servlet 5.x deployment modes and asynchronous JAX-RS resource programming model,
                 an additional Jersey module is required:
 
                 <programlisting language="xml">&lt;dependency&gt;
@@ -978,18 +970,18 @@
     </section>
 
     <section xml:id="deployment.javaee">
-        <title>Java EE Platform</title>
+        <title>Jakarta EE Platform</title>
         <para>
-            This section describes, how you can publish Jersey JAX-RS resources as various Java EE platform elements.
+            This section describes, how you can publish Jersey JAX-RS resources as various Jakarta EE platform elements.
             JAX-RS and Jersey give you wide choice of possibilities and it is up to your taste (and design of your application),
-            what Java EE technology you decide to use for the management of your resources.
+            what Jakarta EE technology you decide to use for the management of your resources.
         </para>
 
         <section xml:id="deployment.javaee.managed">
             <title>Managed Beans</title>
 
             <para>
-                Jersey supports the use of Java EE Managed beans as root resource classes, providers as well as
+                Jersey supports the use of Jakarta EE Managed beans as root resource classes, providers as well as
                 &lit.jaxrs.core.Application; subclasses.
             </para>
 
@@ -1044,9 +1036,9 @@
 }</programlisting>
             </para>
             <para>
-              The above works naturally inside any Java EE compliant AS container. In Jersey version 2.15, container agnostic CDI support was introduced.
+              The above works naturally inside any Java/Jakarta EE compliant AS container. In Jersey version 2.15, container agnostic CDI support was introduced.
               This feature allows you to publish CDI based JAX-RS resources also in other containers. Jersey cdi-webapp example shows Jersey/CDI integration
-              in Grizzly HTTP and Apache Tomcat server. Detailed description of Jersey CDI support outside of a fully fledged Java EE application container
+              in Grizzly HTTP and Apache Tomcat server. Detailed description of Jersey CDI support outside of a fully fledged Java/Jakarta EE application container
               could be found in <xref linkend="cdi.support"/>.
             </para>
         </section>
@@ -1093,7 +1085,7 @@
         </section>
 
         <section xml:id="deployment.appservers">
-            <title>Java EE Servers</title>
+            <title>Jakarta EE Servers</title>
 
             <section xml:id="deployment.appservers.glassfish">
                 <title>GlassFish Application Server</title>
@@ -1107,7 +1099,7 @@
 
                 <para>
                   Started with version 2.7, Jersey allows injecting Jersey specific types into CDI enabled JAX-RS components
-                  using the <literal>@javax.inject.Inject</literal> annotation. This covers also custom HK2 bindings, that are configured
+                  using the <literal>@jakarta.inject.Inject</literal> annotation. This covers also custom HK2 bindings, that are configured
                   as part of Jersey application. The feature specifically enables usage of Jersey monitoring statistics (provided that the statistic feature is turned on)
                   in CDI environment, where injection is the only mean to get access to monitoring data.
                 </para>
@@ -1123,19 +1115,8 @@
                 <title>Oracle WebLogic Server</title>
 
                 <para>
-                    WebLogic 12.1.2 and earlier supports only JAX-RS 1.1 (&jsr311.link;) out of the box with Jersey 1.x
-                    (WebLogic 12.1.2 ships with Jersey 1.13). To update the version of Jersey 1.x in these earlier WebLogic
-                    releases, please read the
-                    <link xlink:href='http://docs.oracle.com/middleware/1212/wls/RESTF/version-restful-service.htm'>
-                        Updating the Version of Jersey JAX-RS RI
-                    </link> chapter in the WebLogic RESTful Web Services Development Guide.
-                </para>
-                <para>
-                    In WebLogic 12.1.3, Jersey 1.18 is shipped as a default JAX-RS 1.1 provider. In this version of WebLogic,
-                    JAX-RS 2.0 (using Jersey 2.5.1) is supported as an optionally installable shared library. Please read through
-                    the <link xlink:href="http://docs.oracle.com/middleware/1213/wls/RESTF/use-jersey20-ri.htm#RESTF290">WebLogic
-                    12.1.3 RESTful Web Services Development Guide</link> for details how to enable JAX-RS 2.0 support on
-                    WebLogic 12.1.3.
+                    For now Oracle WebLogic Server does not support Jakartified Jersey 3.x deployment (for deployment of prior
+                    versions of Jersey please refer to corresponding manual/user guide)
                 </para>
                 <para>
                     In 10.3.x, a set of pre-built shared libraries were delivered with WebLogic Server to support
@@ -1156,7 +1137,7 @@
                 <title>Other Application Servers</title>
 
                 <para>
-                    Third party Java EE application servers usually ship with a JAX-RS implementation. If you want to
+                    Third party Java/Jakarta EE application servers usually ship with a JAX-RS implementation. If you want to
                     use Jersey instead of the default JAX-RS provider, you need to add Jersey libraries to your classpath and
                     disable the default JAX-RS provider in the container.
                 </para>
@@ -1183,7 +1164,7 @@
                 <listitem>HTTP Service</listitem>
             </itemizedlist>
 
-            WAB is in fact just an OSGified WAR archive. HTTP Service feature allows you to publish Java EE Servlets in
+            WAB is in fact just an OSGified WAR archive. HTTP Service feature allows you to publish Jakarta EE Servlets in
             the OSGi runtime.
         </para>
         <para>
@@ -1202,7 +1183,7 @@
         </para>
 
         <para>
-            The rest of the chapter describes how to run the above mentioned examples on GlassFish 4 application server.
+            The rest of the chapter describes how to run the above mentioned examples on GlassFish 6 application server.
         </para>
 
         <section xml:id="osgi.shell">
@@ -1329,16 +1310,16 @@
                 or install it directly from the maven repository:
 
                 <programlisting language="bash shell" linenumbering="numbered">
-gogo$ install http://central.maven.org/maven2/org/glassfish/jersey/examples/osgi-http-service/bundle/&lt;version&gt;/bundle-&lt;version&gt;.jar
+gogo$ install https://repo1.maven.org/maven2/org/glassfish/jersey/examples/osgi-http-service/bundle/&lt;version&gt;/bundle-&lt;version&gt;.jar
 Bundle ID: 303</programlisting>
             </para>
 
             <para>
                 Make sure to replace <literal>&lt;version&gt;</literal> with an appropriate version number. Which one is
-                appropriate depends on the specific GlassFish 4.x version you are using. The version of the bundle cannot
-                be higher than the version of Jersey integrated in your GlassFish 4.x server. Jersey bundles declare
+                appropriate depends on the specific GlassFish 6.x version you are using. The version of the bundle cannot
+                be higher than the version of Jersey integrated in your GlassFish 6.x server. Jersey bundles declare
                 dependencies on other bundles at the OSGi level and those dependencies are version-sensitive. If you use
-                example bundle from let's say version 2.5, but Glassfish has Jersey 2.3.1, dependencies will not be satisfied
+                example bundle from let's say version 3.0.0-RC2, but Glassfish has Jersey 3.0.0-M1, dependencies will not be satisfied
                 and bundle will not start. If this happens, the error will look something like this:
 
                 <programlisting language="bash" linenumbering="numbered">gogo$ lb
@@ -1349,11 +1330,11 @@
 org.osgi.framework.BundleException: Unresolved constraint in bundle
 org.glassfish.jersey.examples.osgi-http-service.bundle [303]: Unable to resolve 308.0: missing requirement
 [303.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.glassfish.jersey.servlet)
-(version>=2.5.0)(!(version>=3.0.0)))
+(version>=3.0.0.RC2))
 
 gogo$</programlisting>
 
-                In the opposite scenario (example bundle version 2.3.1 and Glassfish Jersey version higher), everything should
+                In the opposite scenario (example bundle version 3.0.0-M1 and Glassfish Jersey version higher), everything should
                 work fine.
             </para>
 
diff --git a/docs/src/main/docbook/entity-filtering.xml b/docs/src/main/docbook/entity-filtering.xml
index 7bf2570..16eea22 100644
--- a/docs/src/main/docbook/entity-filtering.xml
+++ b/docs/src/main/docbook/entity-filtering.xml
@@ -115,7 +115,7 @@
                 </listitem>
                 <listitem>
                     <para>&jersey.message.filtering.SecurityEntityFilteringFeature;</para>
-                    <para>Filtering based on security (<literal>javax.annotation.security</literal>) and entity-filtering
+                    <para>Filtering based on security (<literal>jakarta.annotation.security</literal>) and entity-filtering
                         annotations.</para>
                 </listitem>
                 <listitem>
@@ -470,7 +470,7 @@
 
             <itemizedlist>
                 <listitem>
-                    <para>Out-bound client request or server response programmatically created with entity-filtering annotations
+                    <para>Outbound client request or server response programmatically created with entity-filtering annotations
                         that identify the scopes to be applied (available on both, client and server)</para>
                 </listitem>
                 <listitem>
@@ -580,7 +580,7 @@
                 Or, to illustrate this in JSON format:
 
                 <programlisting language="xml" linenumbering="numbered">{
-   "description" : "Jersey is the open source (under dual EPL+GPL license) JAX-RS 2.1 (JSR 370) production quality Reference Implementation for building RESTful Web services.",
+   "description" : "Jersey is the open source (under dual EPL+GPL license) JAX-RS 3.0 production quality Reference Implementation for building RESTful Web services.",
    "id" : 1,
    "name" : "Jersey",
    "tasks" : [ {
@@ -612,7 +612,7 @@
                 Or in JSON format:
 
                 <programlisting language="xml" linenumbering="numbered">{
-   "description" : "Jersey is the open source (under dual EPL+GPL license) JAX-RS 2.1 (JSR 370) production quality Reference Implementation for building RESTful Web services.",
+   "description" : "Jersey is the open source (under dual EPL+GPL license) JAX-RS 3.0 production quality Reference Implementation for building RESTful Web services.",
    "id" : 1,
    "name" : "Jersey"
 }</programlisting>
@@ -660,24 +660,24 @@
     </section>
 
     <section xml:id="ef.security.annotations">
-        <title>Role-based Entity Filtering using (<literal>javax.annotation.security</literal>) annotations</title>
+        <title>Role-based Entity Filtering using (<literal>jakarta.annotation.security</literal>) annotations</title>
 
         <para>
             Filtering the content sent to the client (or server) based on the authorized security roles is a commonly
             required use case. By registering &jersey.message.filtering.SecurityEntityFilteringFeature; you can
             leverage the Jersey Entity Filtering facility in connection with standard
-            <literal>javax.annotation.security</literal> annotations exactly the same way as you would with custom
+            <literal>jakarta.annotation.security</literal> annotations exactly the same way as you would with custom
             entity-filtering annotations described in previous chapters. Supported security annotations are:
 
             <itemizedlist>
                 <listitem>
-                    <para>&jee6.annotations.PermitAll;,</para>
+                    <para>&jee9.annotations.PermitAll;,</para>
                 </listitem>
                 <listitem>
-                    <para>&jee6.annotations.RolesAllowed;, and</para>
+                    <para>&jee9.annotations.RolesAllowed;, and</para>
                 </listitem>
                 <listitem>
-                    <para>&jee6.annotations.DenyAll;</para>
+                    <para>&jee9.annotations.DenyAll;</para>
                 </listitem>
             </itemizedlist>
         </para>
@@ -690,13 +690,13 @@
                 <listitem>
                     <para>
                         Custom &jaxrs.core.SecurityContext; should be set by a container request filter in order to use
-                        &lit.jee6.annotations.RolesAllowed; for role-based filtering of domain model data (server-side)
+                        &lit.jee9.annotations.RolesAllowed; for role-based filtering of domain model data (server-side)
                     </para>
                 </listitem>
                 <listitem>
                     <para>
                         There is no need to provide entity-filtering (or security) annotations on resource methods in order to
-                        define entity-filtering scopes for &lit.jee6.annotations.RolesAllowed; that is applied to the domain model
+                        define entity-filtering scopes for &lit.jee9.annotations.RolesAllowed; that is applied to the domain model
                         components, as all the available roles for the current user are automatically determined using
                         the information from the provided &lit.jaxrs.core.SecurityContext; (server-side only).
                     </para>
diff --git a/docs/src/main/docbook/filters.xml b/docs/src/main/docbook/filters.xml
index 267a854..e841aaa 100644
--- a/docs/src/main/docbook/filters.xml
+++ b/docs/src/main/docbook/filters.xml
@@ -72,10 +72,10 @@
                 <example>
                     <title>Container response filter</title>
                     <programlisting language="java" linenumbering="numbered">import java.io.IOException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Response;
 
 public class PoweredByResponseFilter implements ContainerResponseFilter {
 
@@ -111,10 +111,10 @@
             <example>
                 <title>Container request filter</title>
                 <programlisting language="java" linenumbering="numbered">import java.io.IOException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
 
 public class AuthorizationRequestFilter implements ContainerRequestFilter {
 
@@ -178,9 +178,9 @@
                 <example>
                     <title>Pre-matching request filter</title>
                     <programlisting language="java" linenumbering="numbered">...
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
 ...
 
 @PreMatching
@@ -320,7 +320,8 @@
             The interceptors wrap the streams and they itself work as wrappers. This means that each interceptor is a wrapper
             of another interceptor and it is responsibility of each interceptor implementation to call the wrapped interceptor.
             This is achieved by calling the <literal>proceed()</literal> method on the &lit.jaxrs.WriterInterceptorContext;.
-            This method will call the next registered interceptor in the chain, so effectivelly this will call all remaining registered interceptors. Calling <literal>proceed()</literal> from the last
+            This method will call the next registered interceptor in the chain, so effectively this will call all remaining
+            registered interceptors. Calling <literal>proceed()</literal> from the last
             interceptor in the chain will call the appropriate message body reader. Therefore every interceptor must call the
             <literal>proceed()</literal> method otherwise the entity would not be written. The wrapping principle is reflected
             also in the method name, aroundWriteTo, which says that the method is wrapping the writing of the entity.
@@ -389,7 +390,8 @@
                 <listitem>Client request invoked: The POST request with attached entity is built on the client and invoked.</listitem>
                 <listitem>ClientRequestFilters: client request filters are executed on the client and they
                     manipulate the request headers.</listitem>
-                <listitem>Client &lit.jaxrs.WriterInterceptor;: As the request contains an entity, writer interceptor registered on the client is executed before
+                <listitem>Client &lit.jaxrs.WriterInterceptor;: As the request contains an entity, writer interceptor registered
+                    on the client is executed before
                     a MessageBodyWriter is executed. It wraps the entity output stream with the GZipOutputStream.</listitem>
                 <listitem>Client MessageBodyWriter: message body writer is executed on the client which serializes the entity
                     into the new GZipOutput stream. This stream zips the data and sends it to the "wire".</listitem>
@@ -420,7 +422,7 @@
                 </listitem>
                 <listitem>Client receives the response: the response contains compressed entity data.</listitem>
                 <listitem>Client ClientResponseFilters: client response filters are executed and they manipulate the response headers.</listitem>
-                <listitem>Client response is returned: the javax.ws.rs.core.Response is returned from the request invocation.</listitem>
+                <listitem>Client response is returned: the jakarta.ws.rs.core.Response is returned from the request invocation.</listitem>
                 <listitem>Client code calls response.readEntity(): read entity is executed on the client to extract the entity from the response.</listitem>
                 <listitem>Client &lit.jaxrs.ReaderInterceptor;: the client reader interceptor is executed when readEntity(Class) is called. The interceptor
                         wraps the entity input stream with GZIPInputStream. This will decompress the data from the original input stream.
@@ -463,10 +465,10 @@
 import java.lang.annotation.RetentionPolicy;
 import java.util.zip.GZIPInputStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 ...
 
 
@@ -553,8 +555,8 @@
             <example>
                 <title>Dynamic binding example</title>
                 <programlisting language="java" linenumbering="numbered">...
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.container.DynamicFeature;
 ...
 
 @Path("helloworld")
@@ -623,7 +625,7 @@
 
         <para>In case you register more filters and interceptors you might want to define an exact order in which
             they should be invoked. The order can be controlled by the <literal>@Priority</literal> annotation defined
-            by the <literal>javax.annotation.Priority</literal> class. The annotation accepts an integer parameter of priority.
+            by the <literal>jakarta.annotation.Priority</literal> class. The annotation accepts an integer parameter of priority.
             Providers used in request processing (&lit.jaxrs.container.ContainerRequestFilter;,
             &lit.jaxrs.client.ClientRequestFilter;) as well as entity interceptors (&lit.jaxrs.ReaderInterceptor;,
             &lit.jaxrs.WriterInterceptor;) are sorted based on the priority in an ascending manner. So, a request filter with
@@ -648,8 +650,8 @@
             <example>
                 <title>Priorities example</title>
                 <programlisting language="java" linenumbering="numbered">...
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
 ...
 
 @Priority(Priorities.HEADER_DECORATOR)
diff --git a/docs/src/main/docbook/getting-started.xml b/docs/src/main/docbook/getting-started.xml
index 91967ac..5553d50 100644
--- a/docs/src/main/docbook/getting-started.xml
+++ b/docs/src/main/docbook/getting-started.xml
@@ -33,7 +33,7 @@
         This chapter provides a quick introduction on how to get started building RESTful services using Jersey.
         The example described here uses the lightweight Grizzly HTTP server. At the end of this chapter you will
         see how to implement equivalent functionality as a JavaEE web application you can deploy on any servlet
-        container supporting Servlet 2.5 and higher.
+        container supporting Servlet 5 and higher.
     </para>
 
     <section xml:id="new-from-archetype">
@@ -98,10 +98,10 @@
 
             <programlisting language="java" linenumbering="numbered">package com.example;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Root resource (exposed at "myresource" path)
@@ -138,9 +138,9 @@
 
             <programlisting language="java" linenumbering="numbered">package com.example;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.grizzly.http.server.HttpServer;
 
@@ -210,10 +210,10 @@
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
-[INFO] Total time:  7.519 s
-[INFO] Finished at: 2021-01-29T08:16:04+01:00
-[INFO] ------------------------------------------------------------------------
-</screen>
+[INFO] Total time: 34.527s
+[INFO] Finished at: Sun May 26 19:26:24 CEST 2020
+[INFO] Final Memory: 17M/490M
+[INFO] ------------------------------------------------------------------------</screen>
 
             Now that we have verified that the project compiles and that the unit test passes, we can execute the application
             in a standalone mode. To do this, run the following maven command:
@@ -222,9 +222,9 @@
 
             The application starts and you should soon see the following notification in your console:
 
-            <screen linenumbering="unnumbered">May 26, 2013 8:08:45 PM org.glassfish.grizzly.http.server.NetworkListener start
+            <screen linenumbering="unnumbered">May 26, 2020 8:08:45 PM org.glassfish.grizzly.http.server.NetworkListener start
 INFO: Started listener bound to [localhost:8080]
-Jan 29, 2021 8:33:02 AM org.glassfish.grizzly.http.server.HttpServer start
+May 26, 2020 8:08:45 PM org.glassfish.grizzly.http.server.HttpServer start
 INFO: [HttpServer] Started.
 Jersey app started with WADL available at http://localhost:8080/myapp/application.wadl
 Hit enter to stop it...</screen>
@@ -251,6 +251,7 @@
             <screen language="bash" linenumbering="unnumbered">curl -i http://localhost:8080/myapp/myresource
 HTTP/1.1 200 OK
 Content-Type: text/plain
+Date: Sun, 26 May 2020 18:27:19 GMT
 Content-Length: 7
 
 Got it!</screen>
@@ -277,6 +278,7 @@
 * Mark bundle as not supporting multiuse
 < HTTP/1.1 200 OK
 < Content-Type: text/plain
+< Date: Sun, 26 May 2020 18:29:18 GMT
 < Content-Length: 7
 <
 * Connection #0 to host localhost left intact
@@ -320,7 +322,7 @@
 
             The project contains the same <literal>MyResouce</literal> JAX-RS resource class. It does not contain any unit tests
             as well as it does not contain a <literal>Main</literal> class that was used to setup Grizzly container in the
-            previous project. Instead, it contains the standard Java EE web application <literal>web.xml</literal> deployment
+            previous project. Instead, it contains the standard Java/Jakarta EE web application <literal>web.xml</literal> deployment
             descriptor under <literal>src/main/webapp/WEB-INF</literal>.
             The last component in the project is an <literal>index.jsp</literal> page that serves as a client for the
             <literal>MyResource</literal> resource class that is packaged and deployed with the application.
@@ -339,26 +341,27 @@
 [INFO]
 [INFO] --- maven-war-plugin:2.2:war (default-war) @ simple-service-webapp ---
 [INFO] Packaging webapp
-[INFO] Assembling webapp [simple-service-webapp] in [.../simple-service-webapp/target/simple-service-webapp]
+[INFO] Assembling webapp [simple-service-webapp] in
+[.../simple-service-webapp/target/simple-service-webapp]
 [INFO] Processing war project
 [INFO] Copying webapp resources [.../simple-service-webapp/src/main/webapp]
-[INFO] Webapp assembled in [110 msecs]
+[INFO] Webapp assembled in [117 msecs]
 [INFO] Building war: .../simple-service-webapp/target/simple-service-webapp.war
 [INFO] WEB-INF/web.xml already added, skipping
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
-[INFO] Total time:  4.520 s
-[INFO] Finished at: 2021-01-29T08:42:11+01:00
-[INFO] ------------------------------------------------------------------------</screen>
+[INFO] Total time: 3.419 s
+[INFO] Finished at: 2020-11-25T09:34:59+01:00
+[INFO] ------------------------------------------------------------------------
+            </screen>
 
             Now you are ready to take the packaged WAR (located under <literal>./target/simple-service-webapp.war</literal>)
             and deploy it to a Servlet container of your choice.
             <important>
                 <para>
-                    To deploy a Jersey application, you will need a Servlet container that supports Servlet 2.5 or later.
-                    For full set of advanced features (such as JAX-RS 2.0 Async Support) you will need a Servlet 3.0 or later
-                    compliant container.
+                    To deploy a Jersey application, with full set of advanced features (such as JAX-RS 2.0 Async Support)
+                    you will need a Servlet 5.0 or later  compliant container.
                 </para>
             </important>
         </para>
@@ -402,7 +405,7 @@
             The project contains one JAX-RS resource class, <literal>MyResouce</literal>, and one resource method which returns
             simple text message. To make sure the resource is properly tested there is also a end-to-end test-case
             in <literal>MyResourceTest</literal> (the test is based on &jersey.test.JerseyTest; from our <xref linkend="test-framework" />).
-            Similarly to <literal>simple-service-webapp</literal>, the project contains the standard Java EE web application
+            Similarly to <literal>simple-service-webapp</literal>, the project contains the standard Java/Jakarta EE web application
             <literal>web.xml</literal> deployment descriptor under <literal>src/main/webapp/WEB-INF</literal> since the goal is to
             deploy the application in a Servlet container (the application will run in Jetty on Heroku).
         </para>
@@ -423,41 +426,43 @@
     [INFO] Assembling webapp [simple-heroku-webapp] in [.../simple-heroku-webapp/target/simple-heroku-webapp]
     [INFO] Processing war project
     [INFO] Copying webapp resources [.../simple-heroku-webapp/src/main/webapp]
-    [INFO] Webapp assembled in [122 msecs]
+    [INFO] Webapp assembled in [109 msecs]
     [INFO] Building war: .../simple-heroku-webapp/target/simple-heroku-webapp.war
     [INFO] WEB-INF/web.xml already added, skipping
     [INFO]
     [INFO] --- maven-dependency-plugin:2.8:copy-dependencies (copy-dependencies) @ simple-heroku-webapp ---
-    [INFO] Copying jetty-util-9.4.28.v20200408.jar to .../simple-heroku-webapp/target/dependency/jetty-util-9.4.28.v20200408.jar
-    [INFO] Copying jersey-hk2-2.33.jar to .../simple-heroku-webapp/target/dependency/jersey-hk2-2.33.jar
-    [INFO] Copying javassist-3.25.0-GA.jar to .../simple-heroku-webapp/target/dependency/javassist-3.25.0-GA.jar
-    [INFO] Copying jakarta.inject-2.6.1.jar to .../simple-heroku-webapp/target/dependency/jakarta.inject-2.6.1.jar
-    [INFO] Copying hk2-locator-2.6.1.jar to .../simple-heroku-webapp/target/dependency/hk2-locator-2.6.1.jar
-    [INFO] Copying hk2-utils-2.6.1.jar to .../simple-heroku-webapp/target/dependency/hk2-utils-2.6.1.jar
-    [INFO] Copying hk2-api-2.6.1.jar to .../simple-heroku-webapp/target/dependency/hk2-api-2.6.1.jar
-    [INFO] Copying jetty-webapp-9.4.28.v20200408.jar to .../simple-heroku-webapp/target/dependency/jetty-webapp-9.4.28.v20200408.jar
-    [INFO] Copying jakarta.annotation-api-1.3.5.jar to .../simple-heroku-webapp/target/dependency/jakarta.annotation-api-1.3.5.jar
-    [INFO] Copying jersey-server-2.33.jar to .../simple-heroku-webapp/target/dependency/jersey-server-2.33.jar
-    [INFO] Copying jakarta.ws.rs-api-2.1.6.jar to .../simple-heroku-webapp/target/dependency/jakarta.ws.rs-api-2.1.6.jar
-    [INFO] Copying osgi-resource-locator-1.0.3.jar to .../simple-heroku-webapp/target/dependency/osgi-resource-locator-1.0.3.jar
-    [INFO] Copying aopalliance-repackaged-2.6.1.jar to .../simple-heroku-webapp/target/dependency/aopalliance-repackaged-2.6.1.jar
-    [INFO] Copying jetty-servlet-9.4.28.v20200408.jar to .../simple-heroku-webapp/target/dependency/jetty-servlet-9.4.28.v20200408.jar
-    [INFO] Copying jetty-xml-9.4.28.v20200408.jar to .../simple-heroku-webapp/target/dependency/jetty-xml-9.4.28.v20200408.jar
-    [INFO] Copying jersey-container-servlet-2.33.jar to .../simple-heroku-webapp/target/dependency/jersey-container-servlet-2.33.jar
-    [INFO] Copying jetty-io-9.4.28.v20200408.jar to .../simple-heroku-webapp/target/dependency/jetty-io-9.4.28.v20200408.jar
-    [INFO] Copying jetty-security-9.4.28.v20200408.jar to .../simple-heroku-webapp/target/dependency/jetty-security-9.4.28.v20200408.jar
-    [INFO] Copying jetty-server-9.4.28.v20200408.jar to .../simple-heroku-webapp/target/dependency/jetty-server-9.4.28.v20200408.jar
-    [INFO] Copying javax.servlet-3.0.0.v201112011016.jar to .../simple-heroku-webapp/target/dependency/javax.servlet-3.0.0.v201112011016.jar
-    [INFO] Copying jersey-common-2.33.jar to .../simple-heroku-webapp/target/dependency/jersey-common-2.33.jar
-    [INFO] Copying jakarta.validation-api-2.0.2.jar to .../simple-heroku-webapp/target/dependency/jakarta.validation-api-2.0.2.jar
-    [INFO] Copying jersey-container-servlet-core-2.33.jar to .../simple-heroku-webapp/target/dependency/jersey-container-servlet-core-2.33.jar
-    [INFO] Copying jersey-client-2.33.jar to .../simple-heroku-webapp/target/dependency/jersey-client-2.33.jar
-    [INFO] Copying jetty-http-9.4.28.v20200408.jar to .../simple-heroku-webapp/target/dependency/jetty-http-9.4.28.v20200408.jar
+    [INFO] Copying jakarta.validation-api-3.0.0.jar to ../simple-heroku-webapp/target/dependency/jakarta.validation-api-3.0.0.jar
+    [INFO] Copying javassist-3.25.0-GA.jar to ../simple-heroku-webapp/target/dependency/javassist-3.25.0-GA.jar
+    [INFO] Copying jersey-client-3.0.0.jar to ../simple-heroku-webapp/target/dependency/jersey-client-3.1.0-SNAPSHOT.jar
+    [INFO] Copying jersey-hk2-3.0.0.jar to ../simple-heroku-webapp/target/dependency/jersey-hk2-3.1.0-SNAPSHOT.jar
+    [INFO] Copying jetty-util-11.0.0.beta3.jar to ../simple-heroku-webapp/target/dependency/jetty-util-11.0.0.beta3.jar
+    [INFO] Copying jakarta.annotation-api-2.0.0.jar to ../simple-heroku-webapp/target/dependency/jakarta.annotation-api-2.0.0.jar
+    [INFO] Copying jersey-common-3.0.0.jar to ../simple-heroku-webapp/target/dependency/jersey-common-3.1.0-SNAPSHOT.jar
+    [INFO] Copying jersey-container-servlet-core-3.0.0.jar to ../simple-heroku-webapp/target/dependency/jersey-container-servlet-core-3.1.0-SNAPSHOT.jar
+    [INFO] Copying jakarta.activation-2.0.0.jar to ../simple-heroku-webapp/target/dependency/jakarta.activation-2.0.0.jar
+    [INFO] Copying jetty-webapp-11.0.0.beta3.jar to ../simple-heroku-webapp/target/dependency/jetty-webapp-11.0.0.beta3.jar
+    [INFO] Copying osgi-resource-locator-1.0.3.jar to ../simple-heroku-webapp/target/dependency/osgi-resource-locator-1.0.3.jar
+    [INFO] Copying jersey-container-servlet-3.0.0.jar to ../simple-heroku-webapp/target/dependency/jersey-container-servlet-3.1.0-SNAPSHOT.jar
+    [INFO] Copying jetty-io-11.0.0.beta3.jar to ../simple-heroku-webapp/target/dependency/jetty-io-11.0.0.beta3.jar
+    [INFO] Copying slf4j-api-2.0.0-alpha1.jar to ../simple-heroku-webapp/target/dependency/slf4j-api-2.0.0-alpha1.jar
+    [INFO] Copying jetty-server-11.0.0.beta3.jar to ../simple-heroku-webapp/target/dependency/jetty-server-11.0.0.beta3.jar
+    [INFO] Copying jakarta.ws.rs-api-3.0.0.jar to ../simple-heroku-webapp/target/dependency/jakarta.ws.rs-api-3.0.0.jar
+    [INFO] Copying jetty-servlet-11.0.0.beta3.jar to ../simple-heroku-webapp/target/dependency/jetty-servlet-11.0.0.beta3.jar
+    [INFO] Copying hk2-locator-3.0.0-RC1.jar to ../simple-heroku-webapp/target/dependency/hk2-locator-3.0.0-RC1.jar
+    [INFO] Copying hk2-utils-3.0.0-RC1.jar to ../simple-heroku-webapp/target/dependency/hk2-utils-3.0.0-RC1.jar
+    [INFO] Copying jetty-xml-11.0.0.beta3.jar to ../simple-heroku-webapp/target/dependency/jetty-xml-11.0.0.beta3.jar
+    [INFO] Copying hk2-api-3.0.0-RC1.jar to ../simple-heroku-webapp/target/dependency/hk2-api-3.0.0-RC1.jar
+    [INFO] Copying jetty-security-11.0.0.beta3.jar to ../simple-heroku-webapp/target/dependency/jetty-security-11.0.0.beta3.jar
+    [INFO] Copying jetty-http-11.0.0.beta3.jar to ../simple-heroku-webapp/target/dependency/jetty-http-11.0.0.beta3.jar
+    [INFO] Copying jersey-server-3.0.0.jar to ../simple-heroku-webapp/target/dependency/jersey-server-3.1.0-SNAPSHOT.jar
+    [INFO] Copying jakarta.inject-api-2.0.0.jar to ../simple-heroku-webapp/target/dependency/jakarta.inject-api-2.0.0.jar
+    [INFO] Copying jetty-jakarta-servlet-api-5.0.1.jar to ../simple-heroku-webapp/target/dependency/jetty-jakarta-servlet-api-5.0.1.jar
+    [INFO] Copying aopalliance-repackaged-3.0.0-RC1.jar to ../simple-heroku-webapp/target/dependency/aopalliance-repackaged-3.0.0-RC1.jar
     [INFO] ------------------------------------------------------------------------
     [INFO] BUILD SUCCESS
     [INFO] ------------------------------------------------------------------------
-    [INFO] Total time:  12.009 s
-    [INFO] Finished at: 2021-01-29T08:48:04+01:00
+    [INFO] Total time:  12.567 s
+    [INFO] Finished at: 2021-01-05T15:16:05+01:00
     [INFO] ------------------------------------------------------------------------</screen>
 
             Now that you know everything went as expected you are ready to:
@@ -538,98 +543,77 @@
     -----> Installing Maven 3.6.3... done
     -----> Installing settings.xml... done
     -----> executing /app/tmp/cache/.maven/bin/mvn -B -Duser.home=/tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd -Dmaven.repo.local=/app/tmp/cache/.m2/repository -s /app/tmp/cache/.m2/settings.xml -DskipTests=true clean install
-    [INFO] Scanning for projects...
-    [INFO]
-    [INFO] ------------------ com.example:simple-heroku-webapp ------------------
-    [INFO] Building simple-heroku-webapp 1.0-SNAPSHOT
-    [INFO] --------------------------------[ war ]---------------------------------
-    [INFO]
-    [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ simple-heroku-webapp ---
-    [INFO] Deleting /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target
-    [INFO]
-    [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ simple-heroku-webapp ---
-    [INFO] Using 'UTF-8' encoding to copy filtered resources.
-    [INFO] skip non existing resourceDirectory /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/src/main/resources
-    [INFO]
-    [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ simple-heroku-webapp ---
-    [INFO] Compiling 2 source files to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/classes
-    [INFO]
-    [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ simple-heroku-webapp ---
-    [INFO] Using 'UTF-8' encoding to copy filtered resources.
-    [INFO] skip non existing resourceDirectory /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/src/test/resources
-    [INFO]
-    [INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ simple-heroku-webapp ---
-    [INFO] Compiling 1 source file to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/test-classes
-    [INFO]
-    [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ simple-heroku-webapp ---
-    [INFO] Surefire report directory: /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/surefire-reports
-
-    -------------------------------------------------------
-    T E S T S
-    -------------------------------------------------------
-    Running com.example.MyResourceTest
-    Jan 29, 2021 9:13:20 AM org.glassfish.jersey.test.grizzly.GrizzlyTestContainerFactory$GrizzlyTestContainer
-    INFO: Creating GrizzlyTestContainer configured at the base URI http://localhost:9998/
-    Jan 29, 2021 9:13:20 AM org.glassfish.jersey.server.wadl.WadlFeature configure
-    WARNING: JAXBContext implementation could not be found. WADL feature is disabled.
-    Jan 29, 2021 9:13:21 AM org.glassfish.grizzly.http.server.NetworkListener start
-    INFO: Started listener bound to [localhost:9998]
-    Jan 29, 2021 9:13:21 AM org.glassfish.grizzly.http.server.HttpServer start
-    INFO: [HttpServer] Started.
-    Jan 29, 2021 9:13:21 AM org.glassfish.grizzly.http.server.NetworkListener shutdownNow
-    INFO: Stopped listener bound to [localhost:9998]
-    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.476 sec
-
-    Results :
-
-    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-
-    [INFO]
-    [INFO] --- maven-war-plugin:2.2:war (default-war) @ simple-heroku-webapp ---
-    [INFO] Packaging webapp
-    [INFO] Assembling webapp [simple-heroku-webapp] in [/tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/simple-heroku-webapp]
-    [INFO] Processing war project
-    [INFO] Copying webapp resources [/tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/src/main/webapp]
-    [INFO] Webapp assembled in [115 msecs]
-    [INFO] Building war: /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/simple-heroku-webapp.war
-    [INFO] WEB-INF/web.xml already added, skipping
-    [INFO]
-    [INFO] --- maven-dependency-plugin:2.8:copy-dependencies (copy-dependencies) @ simple-heroku-webapp ---
-    [INFO] Copying jetty-util-9.4.28.v20200408.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-util-9.4.28.v20200408.jar
-    [INFO] Copying jersey-hk2-2.33.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-hk2-2.33.jar
-    [INFO] Copying javassist-3.25.0-GA.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/javassist-3.25.0-GA.jar
-    [INFO] Copying jakarta.inject-2.6.1.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jakarta.inject-2.6.1.jar
-    [INFO] Copying hk2-locator-2.6.1.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/hk2-locator-2.6.1.jar
-    [INFO] Copying hk2-utils-2.6.1.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/hk2-utils-2.6.1.jar
-    [INFO] Copying hk2-api-2.6.1.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/hk2-api-2.6.1.jar
-    [INFO] Copying jetty-webapp-9.4.28.v20200408.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-webapp-9.4.28.v20200408.jar
-    [INFO] Copying jakarta.annotation-api-1.3.5.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jakarta.annotation-api-1.3.5.jar
-    [INFO] Copying jersey-server-2.33.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-server-2.33.jar
-    [INFO] Copying jakarta.ws.rs-api-2.1.6.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jakarta.ws.rs-api-2.1.6.jar
-    [INFO] Copying osgi-resource-locator-1.0.3.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/osgi-resource-locator-1.0.3.jar
-    [INFO] Copying aopalliance-repackaged-2.6.1.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/aopalliance-repackaged-2.6.1.jar
-    [INFO] Copying jetty-servlet-9.4.28.v20200408.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-servlet-9.4.28.v20200408.jar
-    [INFO] Copying jetty-xml-9.4.28.v20200408.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-xml-9.4.28.v20200408.jar
-    [INFO] Copying jersey-container-servlet-2.33.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-container-servlet-2.33.jar
-    [INFO] Copying jetty-io-9.4.28.v20200408.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-io-9.4.28.v20200408.jar
-    [INFO] Copying jetty-security-9.4.28.v20200408.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-security-9.4.28.v20200408.jar
-    [INFO] Copying jetty-server-9.4.28.v20200408.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-server-9.4.28.v20200408.jar
-    [INFO] Copying javax.servlet-3.0.0.v201112011016.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/javax.servlet-3.0.0.v201112011016.jar
-    [INFO] Copying jersey-common-2.33.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-common-2.33.jar
-    [INFO] Copying jakarta.validation-api-2.0.2.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jakarta.validation-api-2.0.2.jar
-    [INFO] Copying jersey-container-servlet-core-2.33.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-container-servlet-core-2.33.jar
-    [INFO] Copying jersey-client-2.33.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-client-2.33.jar
-    [INFO] Copying jetty-http-9.4.28.v20200408.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-http-9.4.28.v20200408.jar
-    [INFO]
-    [INFO] --- maven-install-plugin:2.4:install (default-install) @ simple-heroku-webapp ---
-    [INFO] Installing /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/simple-heroku-webapp.war to /app/tmp/cache/.m2/repository/com/example/simple-heroku-webapp/1.0-SNAPSHOT/simple-heroku-webapp-1.0-SNAPSHOT.war
-    [INFO] Installing /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/pom.xml to /app/tmp/cache/.m2/repository/com/example/simple-heroku-webapp/1.0-SNAPSHOT/simple-heroku-webapp-1.0-SNAPSHOT.pom
-    [INFO] ------------------------------------------------------------------------
-    [INFO] BUILD SUCCESS
-    [INFO] ------------------------------------------------------------------------
-    [INFO] Total time:  5.857 s
-    [INFO] Finished at: 2021-01-29T09:13:23+01:00
-    [INFO] ------------------------------------------------------------------------
+           [INFO] Scanning for projects...
+           [INFO]
+           [INFO] ------------------------------------------------------------------------
+           [INFO] Building simple-heroku-webapp 1.0-SNAPSHOT
+           [INFO] ------------------------------------------------------------------------
+           [INFO]
+           [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ simple-heroku-webapp ---
+           [INFO]
+           [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ simple-heroku-webapp ---
+           [INFO] Using 'UTF-8' encoding to copy filtered resources.
+           [INFO] skip non existing resourceDirectory /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/src/main/resources
+           [INFO]
+           [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ simple-heroku-webapp ---
+           [INFO] Compiling 2 source files to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/classes
+           [INFO]
+           [INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ simple-heroku-webapp ---
+           [INFO] Using 'UTF-8' encoding to copy filtered resources.
+           [INFO] skip non existing resourceDirectory /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/src/test/resources
+           [INFO]
+           [INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ simple-heroku-webapp ---
+           [INFO] Compiling 1 source file to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/test-classes
+           [INFO]
+           [INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ simple-heroku-webapp ---
+           [INFO] Tests are skipped.
+           [INFO]
+           [INFO] --- maven-war-plugin:2.1.1:war (default-war) @ simple-heroku-webapp ---
+           [INFO] Packaging webapp
+           [INFO] Assembling webapp [simple-heroku-webapp] in [/tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/simple-heroku-webapp]
+           [INFO] Processing war project
+           [INFO] Copying webapp resources [/tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/src/main/webapp]
+           [INFO] Webapp assembled in [88 msecs]
+           [INFO] Building war: /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/simple-heroku-webapp.war
+           [INFO] WEB-INF/web.xml already added, skipping
+           [INFO]
+           [INFO] --- maven-dependency-plugin:2.1:copy-dependencies (copy-dependencies) @ simple-heroku-webapp ---
+           [INFO] Copying guava-14.0.1.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/guava-14.0.1.jar
+           [INFO] Copying jakarta.annotation-api-1.2.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jakarta.annotation-api-1.2.jar
+           [INFO] Copying validation-api-1.1.0.Final.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/validation-api-1.1.0.Final.jar
+           [INFO] Copying jakarta.ws.rs-api-2.0.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jakarta.ws.rs-api-2.0.jar
+           [INFO] Copying jetty-http-9.0.6.v20130930.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-http-9.0.6.v20130930.jar
+           [INFO] Copying jetty-io-9.0.6.v20130930.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-io-9.0.6.v20130930.jar
+           [INFO] Copying jetty-security-9.0.6.v20130930.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-security-9.0.6.v20130930.jar
+           [INFO] Copying jetty-server-9.0.6.v20130930.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-server-9.0.6.v20130930.jar
+           [INFO] Copying jetty-servlet-9.0.6.v20130930.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-servlet-9.0.6.v20130930.jar
+           [INFO] Copying jetty-util-9.0.6.v20130930.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-util-9.0.6.v20130930.jar
+           [INFO] Copying jetty-webapp-9.0.6.v20130930.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-webapp-9.0.6.v20130930.jar
+           [INFO] Copying jetty-xml-9.0.6.v20130930.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jetty-xml-9.0.6.v20130930.jar
+           [INFO] Copying jakarta.servlet-3.0.0.v201112011016.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jakarta.servlet-3.0.0.v201112011016.jar
+           [INFO] Copying hk2-api-2.2.0-b21.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/hk2-api-2.2.0-b21.jar
+           [INFO] Copying hk2-locator-2.2.0-b21.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/hk2-locator-2.2.0-b21.jar
+           [INFO] Copying hk2-utils-2.2.0-b21.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/hk2-utils-2.2.0-b21.jar
+           [INFO] Copying osgi-resource-locator-1.0.1.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/osgi-resource-locator-1.0.1.jar
+           [INFO] Copying asm-all-repackaged-2.2.0-b21.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/asm-all-repackaged-2.2.0-b21.jar
+           [INFO] Copying cglib-2.2.0-b21.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/cglib-2.2.0-b21.jar
+           [INFO] Copying jakarta.inject-2.2.0-b21.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jakarta.inject-2.2.0-b21.jar
+           [INFO] Copying jersey-container-servlet-2.5.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-container-servlet-2.5.jar
+           [INFO] Copying jersey-container-servlet-core-2.5.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-container-servlet-core-2.5.jar
+           [INFO] Copying jersey-client-2.5.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-client-2.5.jar
+           [INFO] Copying jersey-common-2.5.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-common-2.5.jar
+           [INFO] Copying jersey-server-2.5.jar to /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/dependency/jersey-server-2.5.jar
+           [INFO]
+           [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ simple-heroku-webapp ---
+           [INFO] Installing /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/target/simple-heroku-webapp.war to /app/tmp/cache/.m2/repository/com/example/simple-heroku-webapp/1.0-SNAPSHOT/simple-heroku-webapp-1.0-SNAPSHOT.war
+           [INFO] Installing /tmp/build_992cc747-26d6-4800-bdb1-add47b9583cd/pom.xml to /app/tmp/cache/.m2/repository/com/example/simple-heroku-webapp/1.0-SNAPSHOT/simple-heroku-webapp-1.0-SNAPSHOT.pom
+           [INFO] ------------------------------------------------------------------------
+           [INFO] BUILD SUCCESS
+           [INFO] ------------------------------------------------------------------------
+           [INFO] Total time: 45.861s
+           [INFO] Finished at: Mon Dec 09 19:51:34 UTC 2013
+           [INFO] Final Memory: 17M/514M
+           [INFO] ------------------------------------------------------------------------
     -----> Discovering process types
            Procfile declares types -> web
 
@@ -660,7 +644,7 @@
             Feel free to browse through the code of individual
             <link xlink:href="&jersey.github.examples.uri;">Jersey Examples</link> in the Jersey source repository.
             For off-line browsing, you can also download a bundle with all the examples from
-            <link xlink:href="http://central.maven.org/maven2/org/glassfish/jersey/bundles/jersey-examples/&version;/">here</link>.
+            <link xlink:href="https://repo1.maven.org/maven2/org/glassfish/jersey/bundles/jersey-examples/&version;/">here</link>.
         </para>
     </section>
 </chapter>
diff --git a/docs/src/main/docbook/how-to-build.xml b/docs/src/main/docbook/how-to-build.xml
index db15959..a0408f4 100644
--- a/docs/src/main/docbook/how-to-build.xml
+++ b/docs/src/main/docbook/how-to-build.xml
@@ -64,17 +64,17 @@
     <section xml:id="building">
         <title>Building the Source</title>
         <para>
-            Jersey source code requires Java SE 8 or higher. The build is based on Maven.
-            Maven 3.6.3 or higher is highly recommended. Also it is recommended you use the following
-            Maven options when building the workspace (can be set in <literal>MAVEN_OPTS</literal> environment
-            variable):
+            Jersey source code requires Java SE 8 or higher. Support of Jetty HTTP container/client requires JDK 11+.
+            The build is based on Maven. Maven 3.6.3 or higher is highly recommended. Also it is recommended you use
+            the following Maven options when building the workspace (can be set in <literal>MAVEN_OPTS</literal>
+            environment variable):
             <programlisting language="bash" linenumbering="unnumbered">-Xmx1048m -XX:PermSize=64M -XX:MaxPermSize=128M</programlisting>
         </para>
         <para>
             It is recommended to build all of Jersey after you cloned the source code repository.
             To do that execute the following commands in the directory where jersey source repository
             was cloned (typically the directory named "jersey"):
-            <programlisting language="bash" linenumbering="unnumbered">mvn -Dmaven.test.skip=true clean install -DskipTests</programlisting>
+            <programlisting language="bash" linenumbering="unnumbered">mvn -Dmaven.test.skip=true -DskipTests clean install</programlisting>
             This command will build Jersey, but skip the test execution.
             If you don't want to skip the tests, execute the following instead:
             <programlisting language="bash" linenumbering="unnumbered">mvn clean install</programlisting>
@@ -92,8 +92,8 @@
             where
             <literal>pattern</literal>
             may be a comma separated set of names matching tests classes or individual methods (like
-            <literal>LinkTest#testDelimiters</literal>).
-            And [modulename] is name of a module from which tests are called. If module does not contain those tests
+            <literal>LinkTest#testDelimiters</literal>)
+            and [modulename] is name of a module from which tests are called. If module does not contain those tests
             build failure (as no tests run) occurs.
         </para>
     </section>
diff --git a/docs/src/main/docbook/jaxrs-resources.xml b/docs/src/main/docbook/jaxrs-resources.xml
index c351c1f..d6cb100 100644
--- a/docs/src/main/docbook/jaxrs-resources.xml
+++ b/docs/src/main/docbook/jaxrs-resources.xml
@@ -35,7 +35,7 @@
     </para>
 
     <para>The JAX-RS &jax-rs.version; specification draft can be found online <link
-            xlink:href="http://jcp.org/en/jsr/summary?id=339">here</link>.
+            xlink:href="https://jakarta.ee/specifications/restful-ws/3.0/jakarta-restful-ws-spec-3.0.pdf">here</link>.
     </para>
 
     <section>
@@ -53,16 +53,16 @@
             resource class using JAX-RS annotations. The example code shown here is
             from one of the samples that ships with Jersey, the zip file of which can
             be found in the maven repository
-            <link xlink:href="http://central.maven.org/maven2/org/glassfish/jersey/examples/helloworld//&version;/">here</link>.
+            <link xlink:href="https://repo1.maven.org/maven2/org/glassfish/jersey/examples/helloworld/&version;/">here</link>.
         </para>
         <para>
             <example>
                 <title>Simple hello world root resource class</title>
                 <programlisting language="java" linenumbering="numbered">package org.glassfish.jersey.examples.helloworld;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 @Path("helloworld")
 public class HelloWorldResource {
@@ -87,15 +87,20 @@
 
             <para>
                 <emphasis>URI path templates</emphasis>
-                are URIs with variables embedded within the URI syntax. These variables are substituted at runtime in order for a resource to respond to a request based on the substituted URI. Variables are denoted by curly braces. For example, look at the following &jaxrs.Path; annotation:
+                are URIs with variables embedded within the URI syntax. These variables are substituted at runtime in order
+                for a resource to respond to a request based on the substituted URI. Variables are denoted by curly braces.
+                For example, look at the following &jaxrs.Path; annotation:
 
                 <programlisting language="java" linenumbering="unnumbered">@Path("/users/{username}")</programlisting>
 
-                In this type of example, a user will be prompted to enter their name, and then a Jersey web service configured to respond to requests to this URI path template will respond. For example, if the user entered their username as "Galileo", the web service will respond to the following URL:
+                In this type of example, a user will be prompted to enter their name, and then a Jersey web service configured
+                to respond to requests to this URI path template will respond. For example, if the user entered their username
+                as "Galileo", the web service will respond to the following URL:
                 <literal>http://example.com/users/Galileo</literal>
             </para>
 
-            <para>To obtain the value of the username variable the &jaxrs.PathParam; may be used on method parameter of a request method, for example:
+            <para>To obtain the value of the username variable the &jaxrs.PathParam; may be used on method parameter of a
+                request method, for example:
                 <example>
                     <title>Specifying URI path parameter</title>
                     <programlisting language="java" linenumbering="numbered">@Path("/users/{username}")
@@ -113,14 +118,14 @@
                 particular regular expression, which overrides the default regular
                 expression, "[^/]+", for example:
                 <programlisting language="java">@Path("users/{username: [a-zA-Z][a-zA-Z_0-9]*}")</programlisting>
-                In this type of example the username variable will only match user names that begin with one upper or
-                lower case letter and zero or more alpha numeric characters and the underscore character. If a user name
-                does not match that a 404 (Not Found) response will occur.
+                In this type of example the username variable will only match user names that begin with one upper or lower
+                case letter and zero or more alpha numeric characters and the underscore character. If a user name does not
+                match that a 404 (Not Found) response will occur.
             </para>
 
-            <para>A &jaxrs.Path; value may or may not begin with a '/', it makes no difference. Likewise, by default,
-                a &jaxrs.Path; value may or may not end in a '/', it makes no difference, and thus request URLs that
-                end or do not end in a '/' will both be matched.
+            <para>A &jaxrs.Path; value may or may not begin with a '/', it makes no difference. Likewise, by default, a
+                &jaxrs.Path; value may or may not end in a '/', it makes no difference, and thus request URLs that end or
+                do not end in a '/' will both be matched.
             </para>
         </section>
 
@@ -168,7 +173,7 @@
                 response entity (if set). A response returned for the OPTIONS method depends on the requested media type
                 defined in the 'Accept' header. The OPTIONS method can return a response with a set of supported
                 resource methods in the 'Allow' header or return
-                a <link xlink:href="http://wadl.java.net/">WADL</link> document.
+                a <link xlink:href="https://javaee.github.io/wadl/">WADL</link> document.
                 See <link linkend="wadl">wadl section</link> for more information.
             </para>
         </section>
@@ -390,8 +395,8 @@
                 </para>
             </listitem>
             <listitem>
-                <para>Have a registered implementation of <literal>javax.ws.rs.ext.ParamConverterProvider</literal> JAX-RS
-                    extension SPI that returns a <literal>javax.ws.rs.ext.ParamConverter</literal> instance capable of
+                <para>Have a registered implementation of <literal>jakarta.ws.rs.ext.ParamConverterProvider</literal> JAX-RS
+                    extension SPI that returns a <literal>jakarta.ws.rs.ext.ParamConverter</literal> instance capable of
                     a "from string" conversion for the type.
                      or
                 </para>
@@ -727,7 +732,7 @@
         <para>
             <example>
                 <title>Sub-resource locators created from classes</title>
-                <programlisting language="java" linenumbering="numbered">import javax.inject.Singleton;
+                <programlisting language="java" linenumbering="numbered">import jakarta.inject.Singleton;
 
 @Path("/item")
 public class ItemResource {
@@ -748,7 +753,7 @@
 
         <para>JAX-RS resources are managed in per-request scope by default which means that
             new resource is created for each request.
-            In this example the <literal>javax.inject.Singleton</literal> annotation says
+            In this example the <literal>jakarta.inject.Singleton</literal> annotation says
             that the resource will be managed as singleton and not in request scope.
             The sub-resource locator method returns a class which means that the runtime
             will managed the resource instance and its life-cycle. If the method would return instance instead,
@@ -840,7 +845,7 @@
                             the resource instance is created every time it is needed for the processing even it handles
                             the same request.</entry></row>
                     <row><entry>Singleton</entry><entry>@Singleton</entry>
-                        <entry>javax.inject.Singleton</entry>
+                        <entry>jakarta.inject.Singleton</entry>
                         <entry>In this scope there is only one instance per jax-rs application. Singleton resource can be either
                             annotated with @Singleton and its class can be registered using the instance of
                             &jaxrs.core.Application;. You can also create singletons by registering singleton instances
@@ -1077,11 +1082,11 @@
         </para>
 
         <para>When deploying a JAX-RS application using servlet then
-            <link xlink:href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html">ServletConfig</link>,
-            <link xlink:href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html">ServletContext</link>,
-            <link xlink:href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest</link>
+            <link xlink:href="https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/ServletConfig.html">ServletConfig</link>,
+            <link xlink:href="https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/ServletContext.html">ServletContext</link>,
+            <link xlink:href="https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/http/HttpServletRequest.html">HttpServletRequest</link>
             and
-            <link xlink:href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html">HttpServletResponse</link>
+            <link xlink:href="https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/http/HttpServletResponse.html">HttpServletResponse</link>
             are available using &jaxrs.core.Context;.
         </para>
     </section>
diff --git a/docs/src/main/docbook/jersey.ent b/docs/src/main/docbook/jersey.ent
index 7b08086..69217f0 100644
--- a/docs/src/main/docbook/jersey.ent
+++ b/docs/src/main/docbook/jersey.ent
@@ -27,8 +27,9 @@
 <!ENTITY guava.version "$guava-version">
 <!ENTITY jaxb-api-jar.version "$jaxb-api-jar-version">
 <!ENTITY jax-rs.version "$jax-rs-api-jar-version">
-<!ENTITY javax-el.version "$javax-el-version">
-<!ENTITY javax-el-impl.version "$javax-el-impl-version">
+<!ENTITY jax-rs21.version "2.1.6">
+<!ENTITY jakarta.el.version "$jakarta.el-version">
+<!ENTITY jakarta.el-impl.version "$jakarta.el-impl-version">
 <!ENTITY jax-rs-api-jar.version "$jax-rs-api-jar-version">
 <!ENTITY jackson.javadoc.version "$jackson-version">
 <!-- temporary hardcoded javadoc version - the correct one is missing at the provider's web -->
@@ -37,12 +38,13 @@
 <!ENTITY src.branch "$src.branch">
 <!ENTITY version "$version">
 <!ENTITY smallrye.version "1.5.0">
-<!ENTITY helidon.version "1.0.3">
+<!ENTITY helidon.version "2.1.0">
 
 <!-- External Path and Link Base Entities -->
 
 <!ENTITY bv.project.link "<link xlink:href='http://beanvalidation.org/'>Bean Validation</link>">
 <!ENTITY bv11.javadoc.uri "http://docs.jboss.org/hibernate/beanvalidation/spec/1.1/api">
+<!ENTITY bv30.javadoc.uri "https://jakarta.ee/specifications/bean-validation/3.0/apidocs/">
 <!ENTITY cloud.guide "<link xlink:href='http://docs.oracle.com/cloud/131/developer_services/CSJSU/java-develop.htm#BABHDAJH'>guide</link>">
 <!ENTITY felix.link "<link xlink:href='https://felix.apache.org/'>Apache Felix</link>">
 <!ENTITY grizzly.link "<link xlink:href='https://javaee.github.io/grizzly/'>Grizzly</link>">
@@ -51,13 +53,13 @@
 <!ENTITY heroku.uri "https://www.heroku.com">
 <!ENTITY heroku.link "<link xlink:href='&heroku.uri;'>Heroku</link>">
 <!ENTITY hk2.javadoc.uri "https://javaee.github.io/hk2/apidocs/">
-<!ENTITY hk2.link "<link xlink:href='https://javaee.github.io/hk2/'>HK2</link>">
+<!ENTITY hk2.link "<link xlink:href='https://github.com/eclipse-ee4j/glassfish-hk2'>Glassfish-HK2</link>">
 <!ENTITY hk2.spring-bridge.link "<link xlink:href='https://javaee.github.io/hk2/spring-bridge/'>The Spring/HK2 Bridge</link>">
 <!ENTITY jaxb.release.uri "https://eclipse-ee4j.github.io/jaxb-ri">
-<!ENTITY jaxb.javadoc.uri "&jaxb.release.uri;/docs/api/javax/xml/bind">
+<!ENTITY jaxb.javadoc.uri "&jaxb.release.uri;/docs/api/jakarta.xml.bind">
 <!ENTITY jaxrs.release.uri "https://github.com/eclipse-ee4j/jaxrs-api">
-<!ENTITY jaxrs.javadoc.uri "https://jakartaee.github.io/rest/apidocs/2.1.6/javax/ws/rs">
-<!ENTITY jaxrs21.javadoc.uri "https://jakartaee.github.io/rest/apidocs/2.1.6/javax/ws/rs">
+<!ENTITY jaxrs.javadoc.uri "https://jakartaee.github.io/rest/apidocs/&jax-rs.version;/jakarta/ws/rs">
+<!ENTITY jaxrs21.javadoc.uri "https://jakartaee.github.io/rest/apidocs/&jax-rs21.version;/javax/ws/rs">
 <!ENTITY jsonb.javadoc.uri "https://javaee.github.io/javaee-spec/javadocs/javax/json/bind">
 <!ENTITY jersey.documentation.uri "https://eclipse-ee4j.github.io/jersey.github.io">
 
@@ -87,8 +89,8 @@
 <!ENTITY jersey.github.release.uri "&jersey.github.base.uri;/&src.branch;">
 <!ENTITY jersey.javadoc.root.uri "&jersey.documentation.uri;/apidocs/&apidocs.version;/jersey">
 <!ENTITY jersey.javadoc.uri.prefix "&jersey.javadoc.root.uri;/org/glassfish/jersey">
-<!ENTITY jersey.project-info.uri.prefix "&jersey.documentation.uri;/project-info/&version;/jersey/project">
-<!ENTITY jee.javadoc.uri "http://docs.oracle.com/javaee/7/api">
+<!ENTITY jersey.project-info.uri.prefix "https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project">
+<!ENTITY jee.javadoc.uri "https://jakarta.ee/specifications/">
 <!ENTITY jdk6.javadoc.uri "http://docs.oracle.com/javase/6/docs/api">
 <!ENTITY jdk7.javadoc.uri "http://docs.oracle.com/javase/7/docs/api">
 <!ENTITY jdk8.javadoc.uri "http://docs.oracle.com/javase/8/docs/api">
@@ -97,6 +99,7 @@
 <!ENTITY jsr166.javadoc.uri "http://gee.cs.oswego.edu/dl/jsr166/dist/jsr166edocs/">
 <!ENTITY jsr311.link "<link xlink:href='&jsr.uri.prefix;311'>JSR 311</link>">
 <!ENTITY jsr315.link "<link xlink:href='&jsr.uri.prefix;315'>JSR 315</link>">
+<!ENTITY servlet5.link "<link xlink:href='https://jakarta.ee/specifications/servlet/5.0/'>Servlet 5 spec</link>">
 <!ENTITY maven.central.repo.link "<link xlink:href='https://search.maven.org/'>Central Maven Repository</link>">
 <!ENTITY maven.link "<link xlink:href='http://maven.apache.org/'>Apache Maven</link>">
 <!ENTITY maven.java.net.releases.link "https://maven.java.net/content/repositories/releases/">
@@ -113,18 +116,18 @@
 <!ENTITY micrometer.jersey.link "<link xlink:href='https://micrometer.io/docs/ref/jetty'>Micrometer Jersey/Jetty support</link>">
 
 <!-- API Docs links -->
-<!ENTITY bv.Configuration "<link xlink:href='&bv11.javadoc.uri;/javax/validation/Configuration.html'>Configuration</link>">
-<!ENTITY bv.Constraint "<link xlink:href='&bv11.javadoc.uri;/javax/validation/Constraint.html'>@Constraint</link>">
-<!ENTITY bv.ConstraintValidator "<link xlink:href='&bv11.javadoc.uri;/javax/validation/ConstraintValidator.html'>ConstraintValidator</link>">
-<!ENTITY bv.ConstraintValidatorFactory "<link xlink:href='&bv11.javadoc.uri;/javax/validation/ConstraintValidatorFactory.html'>ConstraintValidatorFactory</link>">
-<!ENTITY bv.ConstraintViolationException "<link xlink:href='&bv11.javadoc.uri;/javax/validation/ConstraintViolationException.html'>ConstraintViolationException</link>">
-<!ENTITY bv.MessageInterpolator "<link xlink:href='&bv11.javadoc.uri;/javax/validation/MessageInterpolator.html'>MessageInterpolator</link>">
-<!ENTITY bv.ParameterNameProvider "<link xlink:href='&bv11.javadoc.uri;/javax/validation/ParameterNameProvider.html'>ParameterNameProvider</link>">
-<!ENTITY bv.TraversableResolver "<link xlink:href='&bv11.javadoc.uri;/javax/validation/TraversableResolver.html'>TraversableResolver</link>">
-<!ENTITY bv.Valid "<link xlink:href='&bv11.javadoc.uri;/javax/validation/Valid.html'>@Valid</link>">
-<!ENTITY bv.ValidationException "<link xlink:href='&bv11.javadoc.uri;/javax/validation/ValidationException.html'>ValidationException</link>">
-<!ENTITY bv.Validator "<link xlink:href='&bv11.javadoc.uri;/javax/validation/Validator.html'>Validator</link>">
-<!ENTITY bv.ValidatorFactory "<link xlink:href='&bv11.javadoc.uri;/javax/validation/ValidatorFactory.html'>ValidatorFactory</link>">
+<!ENTITY bv.Configuration "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/configuration'>Configuration</link>">
+<!ENTITY bv.Constraint "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/constraint'>@Constraint</link>">
+<!ENTITY bv.ConstraintValidator "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/constraintvalidator'>ConstraintValidator</link>">
+<!ENTITY bv.ConstraintValidatorFactory "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/constraintvalidatorfactory'>ConstraintValidatorFactory</link>">
+<!ENTITY bv.ConstraintViolationException "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/constraintviolationexception'>ConstraintViolationException</link>">
+<!ENTITY bv.MessageInterpolator "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/messageinterpolator'>MessageInterpolator</link>">
+<!ENTITY bv.ParameterNameProvider "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/parameternameprovider'>ParameterNameProvider</link>">
+<!ENTITY bv.TraversableResolver "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/traversableresolver'>TraversableResolver</link>">
+<!ENTITY bv.Valid "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/valid'>@Valid</link>">
+<!ENTITY bv.ValidationException "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/validationexception'>ValidationException</link>">
+<!ENTITY bv.Validator "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/validator'>Validator</link>">
+<!ENTITY bv.ValidatorFactory "<link xlink:href='&bv30.javadoc.uri;/jakarta/validation/validatorfactory'>ValidatorFactory</link>">
 
 <!ENTITY guava.Futures "<link xlink:href='&guava.javadoc.uri;com/google/common/util/concurrent/Futures.html'>Futures</link>">
 <!ENTITY guava.ListenableFuture "<link xlink:href='&guava.javadoc.uri;com/google/common/util/concurrent/ListenableFuture.html'>ListenableFuture</link>">
@@ -136,12 +139,12 @@
 <!ENTITY hk2.ServiceLocator "<link xlink:href='&hk2.javadoc.uri;/org/glassfish/hk2/api/ServiceLocator.html'>ServiceLocator</link>">
 
 <!-- RxJava -->
-<!ENTITY rxjava.Observable "<link xlink:href='&rxjava.javadoc.uri;/rx/Observable.html'>Observable</link>">
-<!ENTITY rxjava.Observable.onserveOn "<link xlink:href='&rxjava.javadoc.uri;/rx/Observable.html#observeOn(rx.Scheduler)'>Observable#observeOn(rx.Scheduler)</link>">
-<!ENTITY rxjava.Observable.subscribeOn "<link xlink:href='&rxjava.javadoc.uri;/rx/Observable.html#subscribeOn(rx.Scheduler)'>Observable#subscribeOn(rx.Scheduler)</link>">
-<!ENTITY rxjava.Scheduler "<link xlink:href='&rxjava.javadoc.uri;/rx/Scheduler.html'>Scheduler</link>">
+<!ENTITY rxjava.Observable "<link xlink:href='&rxjava.javadoc.uri;/io/reactivex/Observable.html'>Observable</link>">
+<!ENTITY rxjava.Observable.onserveOn "<link xlink:href='&rxjava.javadoc.uri;/io/reactivex/Observable.html#observeOn-io.reactivex.Scheduler-'>Observable#observeOn(rx.Scheduler)</link>">
+<!ENTITY rxjava.Observable.subscribeOn "<link xlink:href='&rxjava.javadoc.uri;/io/reactivex/Observable.html#subscribeOn-io.reactivex.Scheduler-'>Observable#subscribeOn(rx.Scheduler)</link>">
+<!ENTITY rxjava.Scheduler "<link xlink:href='&rxjava.javadoc.uri;/io/reactivex/Scheduler.html'>Scheduler</link>">
 
-<!ENTITY rxjava2.Flowable "<link xlink:href='&rxjava.javadoc.uri;/rx/Flowable.html'>Flowable</link>">
+<!ENTITY rxjava2.Flowable "<link xlink:href='&rxjava.javadoc.uri;/io/reactivex/Flowable.html'>Flowable</link>">
 
 <!ENTITY jsr166e.CompletableFuture "<link xlink:href='&jsr166.javadoc.uri;/jsr166e/CompletableFuture.html'>CompletableFuture</link>">
 <!ENTITY jsr166e.ForkJoinPool.commonPool "<link xlink:href='&jsr166.javadoc.uri;/jsr166e/ForkJoinPool.html#commonPool()'>ForkJoinPool.html#commonPool()</link>">
@@ -252,7 +255,6 @@
 <!ENTITY jdk6.Boolean "<link xlink:href='&jdk6.javadoc.uri;/java/lang/Boolean.html'>Boolean</link>">
 <!ENTITY jdk6.CountDownLatch "<link xlink:href='&jdk6.javadoc.uri;/java/util/concurrent/CountDownLatch.html'>CountDownLatch</link>">
 <!ENTITY jdk6.Character "<link xlink:href='&jdk6.javadoc.uri;/java/lang/Character.html'>Character</link>">
-<!ENTITY jdk6.DataSource "<link xlink:href='&jdk6.javadoc.uri;/javax/activation/DataSource.html'>DataSource</link>">
 <!ENTITY jdk6.DynamicMBean "<link xlink:href='&jdk6.javadoc.uri;/javax/management/DynamicMBean.html'>DynamicMBean</link>">
 <!ENTITY jdk6.ExecutorService "<link xlink:href='&jdk6.javadoc.uri;/java/util/concurrent/ExecutorService.html'>ExecutorService</link>">
 <!ENTITY jdk6.File "<link xlink:href='&jdk6.javadoc.uri;/java/io/File.html'>File</link>">
@@ -260,7 +262,7 @@
 <!ENTITY jdk6.HttpServer "<link xlink:href='http://docs.oracle.com/javase/6/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/HttpServer.html'>HttpServer</link>">
 <!ENTITY jdk6.HttpUrlConnection "<link xlink:href='&jdk6.javadoc.uri;/java/net/HttpURLConnection.html'>HttpURLConnection</link>">
 <!ENTITY jdk6.InputStream "<link xlink:href='&jdk6.javadoc.uri;/java/io/InputStream.html'>InputStream</link>">
-<!ENTITY jdk6.JAXBElement "<link xlink:href='&jdk6.javadoc.uri;/javax/xml/bind/JAXBElement.html'>JAXBElement</link>">
+<!ENTITY jdk6.JAXBElement "<link xlink:href='&jdk6.javadoc.uri;/jakarta.xml.bind/JAXBElement.html'>JAXBElement</link>">
 <!ENTITY jdk6.KeyStore "<link xlink:href='&jdk6.javadoc.uri;/java/security/KeyStore.html'>KeyStore</link>">
 <!ENTITY jdk6.NIO "<link xlink:href='&jdk6.javadoc.uri;/java/nio/package-summary.html'>NIO</link>">
 <!ENTITY jdk6.Number "<link xlink:href='&jdk6.javadoc.uri;/java/lang/Number.html'>Number</link>">
@@ -285,18 +287,18 @@
 <!ENTITY jdk8.ForkJoinPool.commonPool "<link xlink:href='&jdk8.javadoc.uri;/java/util/concurrent/ForkJoinPool.html#commonPool--'>ForkJoinPool#commonPool()</link>">
 <!ENTITY jdk8.Stream "<link xlink:href='&jdk8.javadoc.uri;/java/util/stream/Stream.html'>Stream</link>">
 
-<!ENTITY jee6.annotations.DenyAll "<link xlink:href='&jee.javadoc.uri;/javax/annotation/security/DenyAll.html'>@DenyAll</link>">
-<!ENTITY jee6.annotations.PermitAll "<link xlink:href='&jee.javadoc.uri;/javax/annotation/security/PermitAll.html'>@PermitAll</link>">
-<!ENTITY jee6.annotations.RolesAllowed "<link xlink:href='&jee.javadoc.uri;/javax/annotation/security/RolesAllowed.html'>@RolesAllowed</link>">
-<!ENTITY jee6.inject.Singleton "<link xlink:href='&jee.javadoc.uri;/javax/inject/Singleton.html'>@Singleton</link>">
-<!ENTITY jee6.javax.inject.Inject "<link xlink:href='&jee.javadoc.uri;/javax/inject/Inject.html'>@Inject</link>">
-<!ENTITY jee6.javax.inject.Provider "<link xlink:href='&jee.javadoc.uri;/javax/inject/Provider.html'>Provider</link>">
-<!ENTITY jee6.javax.inject.Singleton "<link xlink:href='&jee.javadoc.uri;/javax/inject/Singleton.html'>@Singleton</link>">
-<!ENTITY jee6.servlet.HttpServletRequest "<link xlink:href='&jee.javadoc.uri;/javax/servlet/http/HttpServletRequest.html'>HttpServletRequest</link>">
-<!ENTITY jee6.servlet.HttpSession "<link xlink:href='&jee.javadoc.uri;/javax/servlet/http/HttpSession.html'>HttpSession</link>">
+<!ENTITY jee9.annotations.DenyAll "<link xlink:href='&jee.javadoc.uri;/annotations/2.0/apidocs/jakarta.annotation/jakarta/annotation/security/denyall'>@DenyAll</link>">
+<!ENTITY jee9.annotations.PermitAll "<link xlink:href='&jee.javadoc.uri;annotations/2.0/apidocs/jakarta.annotation/jakarta/annotation/security/permitall'>@PermitAll</link>">
+<!ENTITY jee9.annotations.RolesAllowed "<link xlink:href='&jee.javadoc.uri;annotations/2.0/apidocs/jakarta.annotation/jakarta/annotation/security/rolesallowed'>@RolesAllowed</link>">
+<!ENTITY jee9.inject.Singleton "<link xlink:href='&jee.javadoc.uri;/dependency-injection/2.0/apidocs/jakarta/inject/singleton'>@Singleton</link>">
+<!ENTITY jee9.jakarta.inject.Inject "<link xlink:href='&jee.javadoc.uri;/dependency-injection/2.0/apidocs/jakarta/inject/inject'>@Inject</link>">
+<!ENTITY jee9.jakarta.inject.Provider "<link xlink:href='&jee.javadoc.uri;/dependency-injection/2.0/apidocs/jakarta/inject/provider'>Provider</link>">
+<!ENTITY jee9.servlet.HttpServletRequest "<link xlink:href='&jee.javadoc.uri;/servlet/5.0/apidocs/jakarta/servlet/http/httpservletrequest'>HttpServletRequest</link>">
+<!ENTITY jee9.servlet.HttpSession "<link xlink:href='&jee.javadoc.uri;/servlet/5.0/apidocs/jakarta/servlet/http/httpsession'>HttpSession</link>">
+<!ENTITY jee9.DataSource "<link xlink:href='&jee.javadoc.uri;/activation/2.0/apidocs/jakarta.activation/jakarta/activation/datasource'>DataSource</link>">
 
-<!ENTITY jee6.javax.enterprise.concurrent.ManagedExecutorService "<link xlink:href='&jee.javadoc.uri;/javax/enterprise/concurrent/ManagedExecutorService.html'>ManagedExecutorService</link>">
-<!ENTITY jee6.javax.enterprise.concurrent.ManagedScheduledExecutorService "<link xlink:href='&jee.javadoc.uri;/javax/enterprise/concurrent/ManagedScheduledExecutorService.html'>ManagedScheduledExecutorService</link>">
+<!ENTITY jee6.jakarta.enterprise.concurrent.ManagedExecutorService "<link xlink:href='&jee.javadoc.uri;/jakarta.enterprise/concurrent/ManagedExecutorService.html'>ManagedExecutorService</link>">
+<!ENTITY jee6.jakarta.enterprise.concurrent.ManagedScheduledExecutorService "<link xlink:href='&jee.javadoc.uri;/jakarta.enterprise/concurrent/ManagedScheduledExecutorService.html'>ManagedScheduledExecutorService</link>">
 
 <!ENTITY jersey.apache.ApacheConnectorProvider "<link xlink:href='&jersey.javadoc.uri.prefix;/apache/connector/ApacheConnectorProvider.html'>ApacheConnectorProvider</link>">
 <!ENTITY jersey.apache.ApacheConnectionClosingStrategy "<link xlink:href='&jersey.javadoc.uri.prefix;/apache/connector/ApacheConnectionClosingStrategy.html'>ApacheConnectionClosingStrategy</link>">
@@ -410,7 +412,7 @@
 <!ENTITY jersey.common.internal.inject.InjectionManager "<link xlink:href='&jersey.javadoc.uri.prefix;/internal/inject/InjectionManager.html'>InjectionManager</link>">
 <!ENTITY jersey.common.internal.inject.AbstractBinder "<link xlink:href='&jersey.javadoc.uri.prefix;/internal/inject/AbstractBinder.html'>AbstractBinder</link>">
 <!ENTITY jersey.common.internal.inject.Binder "<link xlink:href='&jersey.javadoc.uri.prefix;/internal/inject/Binder.html'>Binder</link>">
-<!ENTITY jersey.common.ServiceLocatorProvider "<link xlink:href='&jersey.javadoc.uri.prefix;/ServiceLocatorProvider.html'>ServiceLocatorProvider</link>">
+<!ENTITY jersey.common.InjectionManagerProvider "<link xlink:href='&jersey.javadoc.uri.prefix;/InjectionManagerProvider.html'>InjectionManagerProvider</link>">
 <!ENTITY jersey.common.SslConfigurator "<link xlink:href='&jersey.javadoc.uri.prefix;/SslConfigurator.html'>SslConfigurator</link>">
 <!ENTITY jersey.common.spi.AbstractThreadPoolProvider "<link xlink:href='&jersey.javadoc.uri.prefix;/spi/AbstractThreadPoolProvider.html>AbstractThreadPoolProvider</link>">
 <!ENTITY jersey.common.spi.ContentEncoder "<link xlink:href='&jersey.javadoc.uri.prefix;/spi/ContentEncoder.html'>ContentEncoder</link>">
@@ -425,10 +427,10 @@
 <!ENTITY jersey.ext.ValidationFeature "<link xlink:href='&jersey.javadoc.uri.prefix;/server/validation/ValidationFeature.html'>ValidationFeature</link>">
 <!ENTITY jersey.ext.rx.client.AbstractRxInvoker "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/spi/AbstractRxInvoker.html'>AbstractRxInvoker</link>">
 <!ENTITY jersey.ext.rx.client.Rx "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html'>Rx</link>">
-<!ENTITY jersey.ext.rx.client.Rx.fromClient "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#from(javax.ws.rs.client.Client, java.lang.Class)'>Rx.from(Client,Class)</link>">
-<!ENTITY jersey.ext.rx.client.Rx.fromClientExecutor "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#from(javax.ws.rs.client.Client, java.lang.Class, java.util.concurrent.ExecutorService)'>Rx.from(Client,Class,ExecutorService)</link>">
-<!ENTITY jersey.ext.rx.client.Rx.fromWebTarget "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#from(javax.ws.rs.client.WebTarget, java.lang.Class)'>Rx.from(WebTarget,Class)</link>">
-<!ENTITY jersey.ext.rx.client.Rx.fromWebTargetExecutor "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#from(javax.ws.rs.client.WebTarget, java.lang.Class, java.util.concurrent.ExecutorService)'>Rx.from(WebTarget,Class,ExecutorService)</link>">
+<!ENTITY jersey.ext.rx.client.Rx.fromClient "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#from(jakarta.ws.rs.client.Client, java.lang.Class)'>Rx.from(Client,Class)</link>">
+<!ENTITY jersey.ext.rx.client.Rx.fromClientExecutor "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#from(jakarta.ws.rs.client.Client, java.lang.Class, java.util.concurrent.ExecutorService)'>Rx.from(Client,Class,ExecutorService)</link>">
+<!ENTITY jersey.ext.rx.client.Rx.fromWebTarget "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#from(jakarta.ws.rs.client.WebTarget, java.lang.Class)'>Rx.from(WebTarget,Class)</link>">
+<!ENTITY jersey.ext.rx.client.Rx.fromWebTargetExecutor "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#from(jakarta.ws.rs.client.WebTarget, java.lang.Class, java.util.concurrent.ExecutorService)'>Rx.from(WebTarget,Class,ExecutorService)</link>">
 <!ENTITY jersey.ext.rx.client.Rx.newClient "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#newClient(java.lang.Class)'>Rx.newClient(Class)</link>">
 <!ENTITY jersey.ext.rx.client.Rx.newClientExecutor "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/Rx.html#newClient(java.lang.Class, java.util.concurrent.ExecutorService)'>Rx.newClient(Class,ExecutorService)</link>">
 <!ENTITY jersey.ext.rx.client.RxClient "<link xlink:href='&jersey.javadoc.uri.prefix;/client/rx/RxClient.html'>RxClient</link>">
@@ -512,7 +514,6 @@
 <!ENTITY jersey.logging.LoggingFeature.Verbosity.HEADERS_ONLY "<link xlink:href='&jersey.javadoc.uri.prefix;/logging/LoggingFeature.Verbosity.html#HEADERS_ONLY'>LoggingFeature.Verbosity.HEADERS_ONLY</link>">
 <!ENTITY jersey.logging.LoggingFeature.Verbosity.PAYLOAD_ANY "<link xlink:href='&jersey.javadoc.uri.prefix;/logging/LoggingFeature.Verbosity.html#PAYLOAD_ANY'>LoggingFeature.Verbosity.PAYLOAD_ANY</link>">
 <!ENTITY jersey.logging.LoggingFeature.Verbosity.PAYLOAD_TEXT "<link xlink:href='&jersey.javadoc.uri.prefix;/logging/LoggingFeature.Verbosity.html#PAYLOAD_TEXT'>LoggingFeature.Verbosity.PAYLOAD_TEXT</link>">
-<!ENTITY jersey.media.Jackson1Feature "<link xlink:href='&jersey.javadoc.uri.prefix;/jackson1/Jackson1Feature.html'>Jackson1Feature</link>" >
 <!ENTITY jersey.media.JacksonFeature "<link xlink:href='&jersey.javadoc.uri.prefix;/jackson/JacksonFeature.html'>JacksonFeature</link>" >
 <!ENTITY jersey.media.JettisonConfig "<link xlink:href='&jersey.javadoc.uri.prefix;/jettison/JettisonConfig.html'>JettisonConfig</link>" >
 <!ENTITY jersey.media.JettisonFeature "<link xlink:href='&jersey.javadoc.uri.prefix;/jettison/JettisonFeature.html'>JettisonFeature</link>" >
@@ -524,7 +525,6 @@
 <!ENTITY jersey.media.MoxyJsonFeature "<link xlink:href='&jersey.javadoc.uri.prefix;/moxy/json/MoxyJsonFeature.html'>MoxyJsonFeature</link>">
 <!ENTITY jersey.media.MoxyJsonFeature "<link xlink:href='&jersey.javadoc.uri.prefix;/moxy/json/MoxyJsonFeature.html'>MoxyJsonFeature</link>">
 <!ENTITY jersey.media.ObjectMapper "<link xlink:href='http://fasterxml.github.io/jackson-databind/javadoc/&jackson.javadoc.temp.version;/com/fasterxml/jackson/databind/ObjectMapper.html'>ObjectMapper</link>" >
-<!ENTITY jersey.media.ObjectMapper1 "<link xlink:href='http://jackson.codehaus.org/1.9.9/javadoc/org/codehaus/jackson/map/ObjectMapper.html'>ObjectMapper</link>" > <!-- old jackson version -->
 <!ENTITY jersey.media.multipart "<link xlink:href='&jersey.javadoc.uri.prefix;/media/multipart/package-summary.html'>Multi Part</link>">
 <!ENTITY jersey.media.multipart.BodyPart "<link xlink:href='&jersey.javadoc.uri.prefix;/media/multipart/BodyPart.html'>BodyPart</link>" >
 <!ENTITY jersey.media.multipart.FileDataBodyPart "<link xlink:href='&jersey.javadoc.uri.prefix;/media/multipart/file/FileDataBodyPart.html'>FileDataBodyPart</link>" >
@@ -619,6 +619,8 @@
 <!ENTITY jersey.server.ServerProperties.WADL_GENERATOR_CONFIG "<link xlink:href='&jersey.javadoc.uri.prefix;/server/ServerProperties.html#WADL_GENERATOR_CONFIG'>ServerProperties.WADL_GENERATOR_CONFIG</link>" >
 <!ENTITY jersey.server.ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_DISABLED "<link xlink:href='&jersey.javadoc.uri.prefix;/server/ServerProperties.html#LOCATION_HEADER_RELATIVE_URI_RESOLUTION_DISABLED'>ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_DISABLED</link>" >
 <!ENTITY jersey.server.ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_RFC7231 "<link xlink:href='&jersey.javadoc.uri.prefix;/server/ServerProperties.html#LOCATION_HEADER_RELATIVE_URI_RESOLUTION_RFC7231'>ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_RFC7231</link>" >
+<!ENTITY jersey.server.ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE "<link xlink:href='&jersey.javadoc.uri.prefix;/server/ServerProperties.html#UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE'>ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE</link>" >
+<!ENTITY jersey.server.ServerProperties.EMPTY_REQUEST_MEDIA_TYPE_MATCHES_ANY_CONSUMES "<link xlink:href='&jersey.javadoc.uri.prefix;/server/ServerProperties.html#EMPTY_REQUEST_MEDIA_TYPE_MATCHES_ANY_CONSUMES'>ServerProperties.EMPTY_REQUEST_MEDIA_TYPE_MATCHES_ANY_CONSUMES</link>" >
 <!ENTITY jersey.server.Uri "<link xlink:href='&jersey.javadoc.uri.prefix;/server/Uri.html'>Uri</link>">
 <!ENTITY jersey.server.UriConnegFilter "<link xlink:href='&jersey.javadoc.uri.prefix;/server/filter/UriConnegFilter.html'>UriConnegFilter</link>">
 <!ENTITY jersey.server.WadlFeature "<link xlink:href='&jersey.javadoc.uri.prefix;/server/wadl/WadlFeature.html'>WadlFeature</link>">
@@ -700,9 +702,9 @@
 <!ENTITY jersey.test.spi.TestContainerFactory "<link xlink:href='&jersey.javadoc.uri.prefix;/test/spi/TestContainerFactory.html'>TestContainerFactory</link>">
 <!ENTITY jersey.test.util.ContainerRequestBuilder "<link xlink:href='&jersey.javadoc.uri.prefix;/test/util/server/ContainerRequestBuilder.html'>ContainerRequestBuilder</link>">
 <!ENTITY jersey.test.util.LoopBackConnectorProvider "<link xlink:href='&jersey.javadoc.uri.prefix;/test/util/client/LoopBackConnectorProvider.html'>LoopBackConnectorProvider</link>">
-<!ENTITY javax.ws.rs.sse.SseEventSource.Builder "<link xlink:href='&jaxrs21.javadoc.uri;/sse/SseEventSource.Builder.html'>SseEventSource.Builder</link>">
-<!ENTITY javax.ws.rs.sse.SseEventSource "<link xlink:href='&jaxrs21.javadoc.uri;/sse/SseEventSource.html'>SseEventSource</link>">
-<!ENTITY javax.ws.rs.sse.InboundSseEvent "<link xlink:href='&jaxrs21.javadoc.uri;/sse/InboundSseEvent.html'>InboundSseEvent</link>">
+<!ENTITY jakarta.ws.rs.sse.SseEventSource.Builder "<link xlink:href='&jaxrs21.javadoc.uri;/sse/SseEventSource.Builder.html'>SseEventSource.Builder</link>">
+<!ENTITY jakarta.ws.rs.sse.SseEventSource "<link xlink:href='&jaxrs21.javadoc.uri;/sse/SseEventSource.html'>SseEventSource</link>">
+<!ENTITY jakarta.ws.rs.sse.InboundSseEvent "<link xlink:href='&jaxrs21.javadoc.uri;/sse/InboundSseEvent.html'>InboundSseEvent</link>">
 
 <!ENTITY jsonb.JsonbConfig "<link xlink:href='&jsonb.javadoc.uri;/JsonbConfig'>JsonbConfig</link>">
 
@@ -874,7 +876,7 @@
 <!ENTITY lit.jdk6.Boolean "<literal>Boolean</literal>">
 <!ENTITY lit.jdk6.CertificateException "<literal>CertificateException</literal>">
 <!ENTITY lit.jdk6.Character "<literal>Character</literal>">
-<!ENTITY lit.jdk6.DataSource "<literal>DataSource</literal>">
+<!ENTITY lit.jee9.DataSource "<literal>DataSource</literal>">
 <!ENTITY lit.jdk6.DynamicMBean "<literal>DynamicMBean</literal>">
 <!ENTITY lit.jdk6.File "<literal>File</literal>">
 <!ENTITY lit.jdk6.ExecutorService "<literal>ExecutorService</literal>">
@@ -896,14 +898,14 @@
 <!ENTITY lit.jdk8.CompletableFuture "<literal>CompletableFuture</literal>">
 <!ENTITY lit.jdk8.CompletionStage "<literal>CompletionStage</literal>">
 
-<!ENTITY lit.jee6.annotations.PermitAll "<literal>@PermitAll</literal>">
-<!ENTITY lit.jee6.annotations.RolesAllowed "<literal>@RolesAllowed</literal>">
-<!ENTITY lit.jee6.inject.Singleton "<literal>@Singleton</literal>">
-<!ENTITY lit.jee6.javax.inject.Inject "<literal>@Inject</literal>">
-<!ENTITY lit.jee6.javax.inject.Provider "<literal>Provider</literal>">
-<!ENTITY lit.jee6.javax.inject.Singleton "<literal>@Singleton</literal>">
-<!ENTITY lit.jee6.servlet.HttpServletRequest "<literal>HttpServletRequest</literal>">
-<!ENTITY lit.jee6.servlet.HttpSession "<literal>HttpSession</literal>">
+<!ENTITY lit.jee9.annotations.PermitAll "<literal>@PermitAll</literal>">
+<!ENTITY lit.jee9.annotations.RolesAllowed "<literal>@RolesAllowed</literal>">
+<!ENTITY lit.jee9.inject.Singleton "<literal>@Singleton</literal>">
+<!ENTITY lit.jee9.jakarta.inject.Inject "<literal>@Inject</literal>">
+<!ENTITY lit.jee9.jakarta.inject.Provider "<literal>Provider</literal>">
+<!ENTITY lit.jee9.jakarta.inject.Singleton "<literal>@Singleton</literal>">
+<!ENTITY lit.jee9.servlet.HttpServletRequest "<literal>HttpServletRequest</literal>">
+<!ENTITY lit.jee9.servlet.HttpSession "<literal>HttpSession</literal>">
 
 <!ENTITY lit.jersey.apache.ApacheConnectorProvider "<literal>ApacheConnectorProvider</literal>">
 <!ENTITY lit.jersey.client.ChunkParser "<literal>ChunkParser</literal>">
diff --git a/docs/src/main/docbook/logging.xml b/docs/src/main/docbook/logging.xml
index 9849f6c..ce853a9 100644
--- a/docs/src/main/docbook/logging.xml
+++ b/docs/src/main/docbook/logging.xml
@@ -36,6 +36,7 @@
                 Jersey Logging supports the logging request and response via internal client and server filters, which are
                 configured and registered by &jersey.logging.LoggingFeature; 's properties. &lit.jersey.logging.LoggingFeature;
                 has been introduced in Jersey 2.23 version and deprecates an older &lit.jersey.logging.LoggingFilter;.
+                Jersey of version 3.x fully support all logging features of Jersey 2.x.
             </para>
             <para>
                 &lit.jersey.logging.LoggingFeature; might be discovered by
@@ -217,16 +218,16 @@
                 <para>An example of server-side logging with entity
                     <literal>Hello World!</literal>
                 </para>
-                <screen linenumbering="numbered"><![CDATA[May 09, 2016 2:55:33 PM org.glassfish.jersey.logging.LoggingInterceptor log
+                <screen linenumbering="numbered"><![CDATA[May 09, 2020 2:55:33 PM org.glassfish.jersey.logging.LoggingInterceptor log
 INFO: 1 * Server has received a request on thread grizzly-http-server-0
 1 > GET http://localhost:9998/helloworld
 1 > accept: text/plain
 1 > accept-encoding: gzip,deflate
 1 > connection: Keep-Alive
 1 > host: localhost:9998
-1 > user-agent: Jersey/3.0-SNAPSHOT (Apache HttpClient 4.5)
+1 > user-agent: Jersey/3.0.0 (Apache HttpClient 4.5.9)
 
-May 09, 2016 2:55:33 PM org.glassfish.jersey.logging.LoggingInterceptor log
+May 09, 2020 2:55:33 PM org.glassfish.jersey.logging.LoggingInterceptor log
 INFO: 1 * Server responded with a response on thread grizzly-http-server-0
 1 < 200
 1 < Content-Type: text/plain
@@ -234,4 +235,4 @@
             </section>
         </section>
     </section>
-</chapter>
+</chapter>
\ No newline at end of file
diff --git a/docs/src/main/docbook/mbw.xml b/docs/src/main/docbook/mbw.xml
index 0502be2..09b997c 100644
--- a/docs/src/main/docbook/mbw.xml
+++ b/docs/src/main/docbook/mbw.xml
@@ -663,7 +663,7 @@
         </procedure>
         <note>
             <para>
-                JAX-RS 2.0 is incompatible with JAX-RS 1.x in one step of the entity provider selection algorithm.
+                JAX-RS 3.x/2.x is incompatible with JAX-RS 1.x in one step of the entity provider selection algorithm.
                 JAX-RS 1.x defines sorting keys priorities in the <xref linkend="mbw.writer.selection.algorithm.sortStep" />
                 in exactly opposite order. So, in JAX-RS 1.x the keys are defined in the order: primary media type,
                 secondary type declaration distance where custom providers have always precedence to internal providers.
@@ -679,7 +679,7 @@
 
         <para>
             The algorithm for selection of &lit.jaxrs.ext.MessageBodyReader; is similar, including the incompatibility
-            between JAX-RS 2.0 and JAX-RS 1.x and the property to workaround it. The algorithm is defined as follows:
+            between JAX-RS 3.x/2.x and JAX-RS 1.x and the property to workaround it. The algorithm is defined as follows:
         </para>
         <procedure xml:id="mbw.reader.selection.algorithm">
             <title>&lit.jaxrs.ext.MessageBodyReader; Selection Algorithm</title>
@@ -834,7 +834,7 @@
                 &jdk6.File; (<literal>*/*</literal>)
             </member>
             <member>
-                &jdk6.DataSource; (<literal>*/*</literal>)
+                &jee9.DataSource; (<literal>*/*</literal>)
             </member>
             <member>
                 &jdk6.Source; (<literal>text/xml</literal>, <literal>application/xml</literal> and media types of the form
diff --git a/docs/src/main/docbook/media.xml b/docs/src/main/docbook/media.xml
index 1fafb79..6849118 100644
--- a/docs/src/main/docbook/media.xml
+++ b/docs/src/main/docbook/media.xml
@@ -188,10 +188,10 @@
 
                 <para>
                     JSON Processing API is a new standard API for parsing and processing JSON structures in similar way to what
-                    SAX and StAX parsers provide for XML. The API is part of Java EE 7 and later (including Jakarta EE 8).
-                    Another such JSON parsing/processing API is provided by Jettison framework. Both APIs provide a low-level
-                    access to producing and consuming JSON data structures. By adopting this low-level approach you would
-                    be working with
+                    SAX and StAX parsers provide for XML. The API is part of Jakarta EE 9 and later. Another such JSON
+                    parsing/processing API is provided by Jettison framework (which is also supported in jakartified environment).
+                    Both APIs provide a low-level access to producing
+                    and consuming JSON data structures. By adopting this low-level approach you would be working with
                     <literal>JsonObject</literal> (or <literal>JSONObject</literal> respectively) and/or
                     <literal>JsonArray</literal> (or <literal>JSONArray</literal> respectively) classes when processing your
                     JSON data representations.
@@ -220,7 +220,7 @@
                 <para>
                     Now to build an equivalent <literal>JsonObject</literal>/<literal>JSONObject</literal> (in terms of
                     resulting JSON expression), you would need several more lines of code. The following example illustrates
-                    how to construct the same JSON data using the standard Jakarta EE 8 JSON-Processing API.
+                    how to construct the same JSON data using the standard Jakarta EE 9 JSON-Processing API.
                     <example>
                         <title>Constructing a <literal>JsonObject</literal> (JSON-Processing)</title>
                         <programlisting language="java" linenumbering="numbered">JsonObject myObject = Json.createObjectBuilder()
@@ -376,7 +376,7 @@
                         <tgroup cols="2" align="left">
                             <tbody>
                                 <row>
-                                    <entry><literal>javax.xml.bind.Marshaller#JAXB_FORMATTED_OUTPUT</literal></entry>
+                                    <entry><literal>jakarta.xml.bind.Marshaller#JAXB_FORMATTED_OUTPUT</literal></entry>
                                     <entry><literal>false</literal></entry>
                                 </row>
                                 <row>
@@ -494,7 +494,7 @@
                         <listitem>
                             <para>
                                 <literal>JsonGenerator.PRETTY_PRINTING</literal>
-                                ("<literal>javax.json.stream.JsonGenerator.prettyPrinting</literal>")
+                                ("<literal>jakarta.json.stream.JsonGenerator.prettyPrinting</literal>")
                             </para>
                         </listitem>
                     </itemizedlist>
@@ -533,7 +533,7 @@
             </section>
         </section>
         <section xml:id="json.jackson">
-            <title>Jackson (1.x and 2.x)</title>
+            <title>Jackson (2.x)</title>
 
             <section>
                 <title>Dependency</title>
@@ -548,16 +548,8 @@
     &lt;version&gt;&version;&lt;/version&gt;
 &lt;/dependency&gt;</programlisting>
 
-                    To use Jackson 1.x it'll look like:
-
-                    <programlisting language="xml" linenumbering="unnumbered">&lt;dependency&gt;
-    &lt;groupId&gt;org.glassfish.jersey.media&lt;/groupId&gt;
-    &lt;artifactId&gt;jersey-media-json-jackson1&lt;/artifactId&gt;
-    &lt;version&gt;&version;&lt;/version&gt;
-&lt;/dependency&gt;</programlisting>
-
-                    If you're not using Maven make sure to have all needed dependencies (see &jersey.media.json-jackson.deps.link; or
-                    &jersey.media.json-jackson1.deps.link;) on the classpath.
+                    If you're not using Maven make sure to have all needed dependencies (see &jersey.media.json-jackson.deps.link;)
+                    on the classpath.
                 </para>
             </section>
             <section xml:id="jackson-registration">
@@ -565,17 +557,15 @@
 
                 <note>
                     <para>
-                        Note that there is a difference in namespaces between Jackson 1.x (<literal>org.codehaus.jackson</literal>)
-                        and Jackson 2.x (<literal>com.fasterxml.jackson</literal>).
+                        Note that namespace for Jackson 2.x is (<literal>com.fasterxml.jackson</literal>).
                     </para>
                 </note>
 
                 <para>
-                    Jackson JSON processor could be controlled via providing a custom Jackson 2 &jersey.media.ObjectMapper; (or
-                    &jersey.media.ObjectMapper1; for Jackson 1) instance.
+                    Jackson JSON processor could be controlled via providing a custom Jackson 2 &jersey.media.ObjectMapper; instance.
                     This could be handy if you need to redefine the default Jackson behaviour and to fine-tune how your JSON data
                     structures look like. Detailed description of all Jackson features is out of scope of this guide. The example
-                    below gives you a hint on how to wire your &lit.jersey.media.ObjectMapper; (&jersey.media.ObjectMapper1;)
+                    below gives you a hint on how to wire your &lit.jersey.media.ObjectMapper;
                     instance into your Jersey application.
                 </para>
 
@@ -590,7 +580,7 @@
 
                 <para>
                     In order to use Jackson as your JSON (JAXB/POJO) provider you need to register &jersey.media.JacksonFeature;
-                    (&jersey.media.Jackson1Feature;) and a &lit.jaxrs.ext.ContextResolver; for &lit.jersey.media.ObjectMapper;,
+                    and a &lit.jaxrs.ext.ContextResolver; for &lit.jersey.media.ObjectMapper;,
                     if needed, in your &jaxrs.core.Configurable; (client/server).
 
                     <example>
@@ -652,8 +642,7 @@
 
                 <para>
                     Jersey provides <link xlink:href='&jersey.github.examples.uri;/json-jackson'>JSON Jackson (2.x) example</link>
-                    and <link xlink:href='&jersey.github.examples.uri;/json-jackson1'>JSON Jackson (1.x) example</link> showing
-                    how to use Jackson to consume/produce JSON.
+                    showing how to use Jackson to consume/produce JSON.
                 </para>
             </section>
         </section>
diff --git a/docs/src/main/docbook/migration.xml b/docs/src/main/docbook/migration.xml
index 0e77e53..d9adba0 100644
--- a/docs/src/main/docbook/migration.xml
+++ b/docs/src/main/docbook/migration.xml
@@ -28,319 +28,90 @@
          xml:id="migration">
     <title>Migration Guide</title>
 
-    <section xml:id="mig-2.40">
-        <title>Migrating from Jersey 2.40 to 2.41</title>
-        <section xml:id="mig-2.40-breaking-changes">
+    <section xml:id="mig-3.0.11">
+        <title>Migrating from Jersey 3.0.11 to 3.0.12</title>
+        <section xml:id="mig-3.0.11-jackson-changes">
             <title>Changes in Jackson</title>
             <para>
-                Jersey 2.41 starts to support Jackson 2.15 which comes with default limitations for the length of parsed text,
+                Jersey 3.0.12 starts to support Jackson 2.15 which comes with default limitations for the length of parsed text,
                 numbers, and nesting depth. Jersey keeps the Jackson default value, but it allows to override the maximum
                 length of parsed text using the &jersey.message.MessageProperties.JSON_MAX_STRING_LENGTH; property if needed.
             </para>
         </section>
     </section>
 
-    <section xml:id="mig-2.38">
-        <title>Migrating from Jersey 2.37 to 2.38</title>
-        <section xml:id="mig-2.38-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                Versions 2.38 introduces non-compatible change for dependency of Open Tracing. As soon as Open Tracing
-                breaks compatibility between the 0.30.0 and the 0.33.0 versions in its API, and Jersey updates Open Tracing
-                to the 0.33.0 version in the 2.38, for everyone who uses Open Tracing framework it is required to upgrade
-                their dependencies to the 0.33.0 version of the Open Tracing respectively.
-            </para>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.30">
-        <title>Migrating from Jersey 2.29 to 2.29.1 and 2.30+</title>
-        <section xml:id="mig-2.30-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                Versions 2.30+ do not introduce anything breaking, however version 2.29.1 has a major change which means
-                migration of Jersey to Jakarta EE (8) platform thus all inner dependencies to APIs are migrated to
-                jakarta EE maven coordinates. This also means that all dependencies which were taken from JDK as such
-                (like JAXB etc.) are now external for JDK 1.8 (but for JDK 11+ they are external even in their Java EE form).
-                So, for those who will migrate to versions of Jersey 2.29.1 or 2.30+ , a massive extension of dependencies being
-                downloaded for the project build will occur.
-                Also, there is extended support of JDKs - maximum compatibility with JDK 15 (including previous JDKs).
-                And other major improvements and fixes which are described in details in release notes below.
-            </para>
-        </section>
-        <section xml:id="mig-2.30-whats-new">
-            <title>Changes in versions 2.29.1, 2.30+</title>
-            <para>
-                For detailed information regarding particular changes please refer to release notes:
-                <simplelist>
-                    <member><link xlink:href="&jersey.documentation.uri;/release-notes/2.29.1.html">2.29.1</link></member>
-                    <member><link xlink:href="&jersey.documentation.uri;/release-notes/2.30.html">2.30</link></member>
-                    <member><link xlink:href="&jersey.documentation.uri;/release-notes/2.31.html">2.31</link></member>
-                    <member><link xlink:href="&jersey.documentation.uri;/release-notes/2.32.html">2.32</link></member>
-                    <member><link xlink:href="&jersey.documentation.uri;/release-notes/2.33.html">2.33</link></member>
-                </simplelist>
-            </para>
-        </section>
-    </section>
-    <section xml:id="mig-2.27">
-        <title>Migrating from Jersey 2.26 to 2.27 (2.28, 2.29)</title>
-        <section xml:id="mig-2.27-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                Between versions of 2.26 and 2.29 there are no breaking changes in Jersey which could prevent smooth migration
-                It is enough just to increase Maven (Gradle or any other) dependencies to a required version and all existing
-                code shall work without modifications.
-            </para>
-        </section>
-        <section xml:id="mig-2.27-whats-new">
-            <title>Changes in versions 2.27 - 2.29</title>
-            <para>
-                For detailed information regarding particular changes please refer to release notes:
-                <simplelist>
-                    <member><link xlink:href="&jersey.documentation.uri;/release-notes/2.27.html">2.27</link></member>
-                    <member><link xlink:href="&jersey.documentation.uri;/release-notes/2.28.html">2.28</link></member>
-                    <member><link xlink:href="&jersey.documentation.uri;/release-notes/2.29.html">2.29</link></member>
-                </simplelist>
-            </para>
-        </section>
-    </section>
-    <section xml:id="mig-2.26">
-        <title>Migrating from Jersey 2.25 to 2.26.</title>
-        <section xml:id="mig-2.26-breaking-changes">
+    <section xml:id="mig-3.0.0">
+        <title>Migrating from Jersey 2.32+ to 3.0.x.</title>
+        <section xml:id="mig-3.0.0-breaking-changes">
             <title>Breaking Changes</title>
             <para>
                 <itemizedlist>
                     <listitem>
                         <para>
-                            The most fundamental change in Jersey 2.26 and later is that all the modules (including the client 
-                            module) are now being built with Java SE 8 and with 1.8 language level.
+                            The most fundamental change in Jersey &version; and later is namespace change.
+                            Since Jakarta EE 9 the <literal>jakarta.</literal> namespace is introduced as a replacement
+                            for javax namespace from Java EE.
                         </para>
                         <para>
-                            As a consequential change, one of the modules was dropped, the <literal>rx-client-jsr166e</literal>.
-                            This implementation relied on the
-                            <literal>ConcurrentHashMapV8</literal>
-                            and was made redundant by the JDK upgrade. Please use
-                            <literal>rx-client-java8</literal>
-                            instead.
+                            Due to required jakartification several modules where omitted (because of not satisfied dependencies).
+                            Or require higher JDK (11+).
                         </para>
                         <para>
-                            Spring version used in the extension module was upgraded to 4.2.1.RELEASE. The reason for that is lack
-                            of Java 8 support with Spring 3.x versions. Optionally, an extension module for Spring 5 can be used.
+                            Spring for now is not supported.
                         </para>
                         <para>
-                            Jersey proprietary reactive client API has been dropped and replaced by JAX-RS 2.1 Reactive Client API.
-                            The backwards compatibility rule couldn't be respected in this case, since the JAX-RS API are based on
-                            what was done in Jersey and there were unresolvable code incompatibilities.
+                            Helidon connector for now is not supported.
+                        </para>
+                        <para>
+                            Examples and tests are reduced in quantity (so you probably will not find all those examples which were available
+                            in the 2.32 version).
                         </para>
                     </listitem>
                 </itemizedlist>
             </para>
         </section>
-        <section xml:id="mig-2.26-injection-manager">
-            <title>Breaking Changes - Injection Manager</title>
-            <para>Following breaking changes are caused by removing and replacing HK2 (<literal>ServiceLocator</literal>) by
-            &jersey.common.internal.inject.InjectionManager;. Jersey injection API is considered as an internal API (except
-            &lit.jersey.common.internal.inject.InjectionManager;) </para>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            Classes in which <literal>HK2 ServiceLocator</literal> was simply replaced by
-                            &jersey.common.internal.inject.InjectionManager; and the replacing influenced their public methods:
-                            <simplelist>
-                                <member>&jersey.server.model.MethodHandler;</member>
-                                <member>&jersey.server.spi.ComponentProvider;</member>
-                                <member>&jersey.server.spi.ExternalRequestScope;</member>
-                                <member>&jersey.server.WadlGeneratorConfig;</member>
-                                <member>&jersey.server.spi.RequestScopedInitializer;</member>
-                            </simplelist>
-                        </para>
-                        <para>
-                            Support for <literal>HK2 Binder</literal> in the case of using HK2 Injection Module was implemented
-                            but Jersey newly supports a registration its own &jersey.common.internal.inject.AbstractBinder; and
-                            &jersey.common.internal.inject.Binder; in &jaxrs.core.Application; to easily switch from HK2 classes
-                            to Jersey ones just by adjusting the imports.
-                        </para>
-                        <para>
-                            &lit.jersey.common.internal.inject.InjectionManager; contains a mechanism for registering DI specific
-                            injection bindings, in case the application uses CDI, developers should use CDI mechanism, in case the
-                            application uses HK2, developers should configure HK2 - ideally via configuring a parent locator that
-                            is then passed to Jersey. The custom bindings can be also registered through &jaxrs.core.Application;
-                            if &lit.jersey.common.internal.inject.InjectionManager; supports the bindings type that means that
-                            <literal>InjectionManager#isRegistrable</literal> returns <literal>true</literal>;
-                        </para>
-                        <para>
-                            In &jersey.server.ResourceConfig; and &jersey.client.ClientConfig; configuration methods for
-                            auto-discoverable components and meta-components (e.g. &lit.jaxrs.core.Feature;) accept
-                            &lit.jersey.common.internal.inject.InjectionManager; and moreover the meta-components accept
-                            <literal>ManagedObjectFinalizer</literal> which ensures a pre-destroy method invocation on registered
-                            components.
-                        </para>
-                        <para>
-                            Method <literal>getTemplateObjectFactory</literal> in
-                            &jersey.server.mvc.spi.AbstractTemplateProcessor; accepts a function that initializes a retrieved
-                            template factory from a configuration, usually this function is just a wrapper with underlying
-                            &lit.jersey.common.internal.inject.InjectionManager; invocation.
-                        </para>
-                            <literal>HK2 Factory</literal> support is replaced by <literal>java.util.function.Supplier</literal>
-                            and Jersey-specific &jersey.common.internal.inject.DisposableSupplier;.
-                        <para>
-                            HK2-specific annotations <literal>@Optional</literal>, <literal>@Immediate</literal>,
-                            <literal>@Unqualified</literal> are no longer supported directly in Jersey but can be used if HK2
-                            Injection Module is used.
-                        </para>
-                        <para>
-                            HK2-specific annotations <literal>@PerLookup</literal> and <literal>@PerThread</literal> are migrated
-                            to Jersey with an adjusted package.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        If the internal Jersey injection API is to be backed by HK2, since 2.26, the following additional HK2
-                        support module is required:
-                        <programlisting language="xml" linenumbering="unnumbered">&lt;dependency&gt;
-  &lt;groupId&gt;org.glassfish.jersey.inject&lt;/groupId&gt;
-  &lt;artifactId&gt;jersey-hk2&lt;/artifactId&gt;
-  &lt;version&gt;&version;&lt;/version&gt;
-&lt;/dependency&gt;</programlisting>
-                    </listitem>
-                    <listitem>
-                        The direct support for <literal>HK2 Binder</literal> being able to be registered as in pre 2.26 Jersey has
-                        been returned back in Jersey 2.29. Note, however, this is for backward compatibility purposes and
-                        not a preferred way of registering injectables; the <literal>HK2 Binder</literal> support may be removed
-                        in the future versions of Jersey.
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-        <section xml:id="mig-2.26-removed-deprecated">
+        <section xml:id="mig-3.0.0-removed-deprecated">
             <title>Removed deprecated APIs</title>
-            <para>Following, already deprecated, APIs were removed:</para>
             <para>
                 <itemizedlist>
                     <listitem>
                         <para>
-                            &lit.jersey.logging.LoggingFilter; has been removed. Use &jersey.logging.LoggingFeature; instead. See
-                            <link linkend="logging">Logging chapter</link>.
+                            Jackson 1 support was removed.
                         </para>
                     </listitem>
                 </itemizedlist>
             </para>
         </section>
-    </section>
-
-    <section>
-        <title>Migrating from Jersey 2.22.1 to 2.25</title>
-        <section xml:id="mig-2.23-highlights">
-            <title>Release 2.23 Highlights</title>
-
-            <section>
-                <title>Introducing LoggingFeature</title>
-                <para>
-                    From version 2.23 onwards, &lit.jersey.logging.LoggingFilter; has been replaced
-                    with &jersey.logging.LoggingFeature;.
-                </para>
-            </section>
-        </section>
-        <section xml:id="mig-2.23-new-deprecated">
-            <title>Deprecated APIs</title>
-            <para>Following APIs were deprecated:</para>
+        <section xml:id="mig-3.0.0-application-servers">
+            <title>Application servers for Jersey</title>
             <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            &lit.jersey.logging.LoggingFilter; has been marked as deprecated and will be removed in a subsequent
-                            release. Use &jersey.logging.LoggingFeature; instead. See chapter<link linkend="logging">
-                            logging</link>.
-                        </para>
-                    </listitem>
-                </itemizedlist>
+                Note that only a few servers support Jakarta EE 9 compatible Servlet API and they are tested with Jersey.
+                Those are:
+                <literal>GlassFish 6</literal>,
+                <literal>Grizzly 3</literal>,
+                <literal>Jetty 11 (JDK 11+ required)</literal>,
+                <literal>Payara 6</literal>, and
+                <literal>Tomcat 10</literal>.
             </para>
         </section>
     </section>
-
-    <section xml:id="mig-2.23-breaking-changes">
-        <title>Breaking Changes</title>
-        <para>
-            Last version contained a change in relative URI resolution in the location header. Even though the change
-            was fixing the discrepancy between the real behaviour and RFC7231, it also caused JAX-RS spec
-            incompatibility
-            in some cases. Furthermore, there was no way to preserve backwards compatibility.
-        </para>
-        <para>
-            Therefore, the default behaviour was rollbacked and a new configuration property was introduced to switch
-            to the RFC7231 compliant
-            behaviour: &jersey.server.ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_RFC7231;. Also,
-            the possibility to switch the URI resolution completely off remains with the
-            &jersey.server.ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_DISABLED; disabled switch. Both
-            properties are false by default.
-        </para>
-    </section>
-
-    <section xml:id="mig-2.22.1">
-        <title>Migrating from Jersey 2.22 to 2.22.1</title>
-        <section xml:id="mig-2.22.1-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                Last version contained a change in relative URI resolution in the location header. Even though the change was
-                fixing the discrepancy between the real behaviour and RFC7231, it also caused JAX-RS spec incompatibility in some
-                cases. Furthermore, there was no way to preserve backwards compatibility.
-            </para>
-            <para>
-                Therefore, the default behaviour was rollbacked and a new configuration property was introduced to switch to the
-                RFC7231 compliant behaviour: &jersey.server.ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_RFC7231;.
-                Also, the possibility to switch the URI resolution completely off remains with
-                the &jersey.server.ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_DISABLED; disabled switch. Both
-                properties are false by default.
-            </para>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.22">
-        <title>Migrating from Jersey 2.21 to 2.22</title>
-        <section xml:id="mig-2.22-breaking-changes">
+    <section xml:id="mig-3.1.0">
+        <title>Migrating from Jersey 3.0.x to &version;.</title>
+        <section xml:id="mig-3.1.0-breaking-changes">
             <title>Breaking Changes</title>
             <para>
                 <itemizedlist>
                     <listitem>
                         <para>
-                            In previous Jersey versions, if the resource method created a response containing relative URI in the
-                            <literal>Location</literal>
-                            http header, the URI was resolved against
-                            <emphasis>base uri</emphasis>
-                            of the application. This behaviour was not correct, as pointed out by &jersey.jira.2883;. With this
-                            change, the URI is, by default, resolved against <emphasis>request base uri</emphasis>.
+                            Jersey 3.1.0+ is the implementation of Jakarta RESTful WebServices 3.1, which is part of
+                            Jakarta EE 10. Jakarta EE 10 defines the minimum JDK 11 requirement and hence Jersey no longer
+                            supports JDK 8.
                         </para>
+                    </listitem>
+                    <listitem>
                         <para>
-                            For example, having a resource at <literal>http://server.com/api/management/user</literal>, that
-                            returns response with <literal>Location: foo</literal>, while the root of the app is
-                            <literal>http://server.com/api</literal>, the resulting URI will be:
-                            <simplelist>
-                                <member>with Jersey 2.21 and earlier:
-                                    <literal>http://server.com/api/foo</literal>
-                                </member>
-                                <member>with Jersey 2.22:
-                                    <literal>http://server.com/api/management/foo</literal>
-                                </member>
-                            </simplelist>
-                        </para>
-                        <para>
-                            Please note, that the trailing slash is significant, so that if the URI ends with a slash (<literal>
-                            http://server.com/api/management/user/</literal>), the output will be:
-                            <simplelist>
-                                <member>with Jersey 2.21 and earlier:
-                                    <literal>http://server.com/api/foo</literal>
-                                </member>
-                                <member>with Jersey 2.22:
-                                    <literal>http://server.com/api/management/user/foo</literal>
-                                </member>
-                            </simplelist>
-                        </para>
-                        <para>
-                            Alternatively, the entire URI resolving logic can be switched off by newly
-                            introduced &jersey.server.ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_DISABLED; property.
-                            If the value is <literal>true</literal>, Jersey will not change the URI contained in the
-                            <literal>Location</literal>
-                            header at all (even if this behaviour may not match with behaviour described in JavaDoc).
+                            &jersey.server.ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE; is by default
+                            <literal>true</literal>.
                         </para>
                     </listitem>
                 </itemizedlist>
@@ -348,1995 +119,4 @@
         </section>
     </section>
 
-    <section xml:id="mig-2.20">
-        <title>Migrating from Jersey 2.19 to 2.20</title>
-
-        <section xml:id="mig-2.20-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            New parameter, <literal>org.glassfish.hk2.api.ServiceLocator</literal>, has been added
-                            to &jersey.server.spi.ExternalRequestScope; methods. This is to allow 3rd party component providers to
-                            hook up with the actual HK2 locator in case of multiple Jersey applications are running in parallel
-                            within a single 3rd party component container. The change was driven by CDI/Servlet requirements.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.19">
-        <title>Migrating from Jersey 2.18 to 2.19</title>
-
-        <section xml:id="mig-2.19-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            New method, <literal>close</literal>, has been added to &jersey.server.ResourceFinder;. Its intention
-                            is to release allocated/opened resources (such as streams) without a need to iterate through the
-                            whole &lit.jersey.server.ResourceFinder;.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.18">
-        <title>Migrating from Jersey 2.17 to 2.18</title>
-
-        <section xml:id="mig-2.18-highlights">
-            <title>Release 2.18 Highlights</title>
-
-            <section>
-                <title>Updated to MOXy 2.6</title>
-                <para>
-                    Jersey has updated version of MOXy (XML/JSON provider) to version 2.6. Among some bug fixes there are other
-                    notable changes (some of them breaking) that you should be aware of:
-
-                    <itemizedlist>
-                        <listitem>
-                            <para>
-                                <link xlink:href='https://wiki.eclipse.org/EclipseLink/DesignDocs/459464'>Redesign of type
-                                    property in JSON processing
-                                </link>
-                                - Special handling of JSON
-                                <literal>type</literal>
-                                property is deprecated. If there is need to identify type of JSON object - due to missing root
-                                element or some special inheritance requirements, it is necessary to specify fully qualified type
-                                property with
-                                <literal>http://www.w3.org/2001/XMLSchema-instance</literal>
-                                namespace.
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                <link xlink:href='https://bugs.eclipse.org/bugs/attachment.cgi?id=241506'>Bean Validation in MOXy
-                                </link>
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                <link xlink:href='https://wiki.eclipse.org/EclipseLink/DesignDocs/405161'>MOXy support for for
-                                    Java API for JSON Processing (JSR-353)
-                                </link>
-                            </para>
-                        </listitem>
-                    </itemizedlist>
-                </para>
-            </section>
-            <section>
-                <title>Promoted Public Beta APIs</title>
-
-                <para>
-                    Several experimental Jersey APIs have matured enough and as such we have decided to promote them
-                    from &jersey.common.Beta; status, namely:
-
-                    <itemizedlist>
-                        <listitem>
-                            <para>
-                                Jersey Reactive Client API. Also Reactive Client moved from incubator to extension (umbrella)
-                                module.
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                Jersey client-side &jersey.client.ClientLifecycleListener; SPI.
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                Jersey server-side &jersey.server.ContainerLifecycleListener; SPI.
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                Jersey server-side (MVC) &jersey.server.mvc.ErrorTemplate; annotation.
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                Jersey test framework (client-side) &jersey.test.util.LoopBackConnectorProvider; connector.
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                Jersey test framework (server-side) &jersey.test.util.ContainerRequestBuilder; class.
-                            </para>
-                        </listitem>
-                    </itemizedlist>
-
-                    These APIs are now part of the official public Jersey 2.x API.
-                </para>
-            </section>
-        </section>
-
-        <section xml:id="mig-2.18-removed-deprecated">
-            <title>Removed deprecated APIs</title>
-            <para>Following, already deprecated, APIs were removed:</para>
-
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.apache.connector.ApacheClientProperties</literal>
-                            - constant
-                            <literal>SSL_CONFIG</literal>
-                            has been removed. Use &jaxrs.client.ClientBuilder; methods to configure SSL in a &jaxrs.client.Client;
-                            instance.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.jetty.connector.JettyClientProperties</literal>
-                            - constant
-                            <literal>SSL_CONFIG</literal>
-                            has been removed. Use &jaxrs.client.ClientBuilder; methods to configure SSL in a &jaxrs.client.Client;
-                            instance.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>FreemarkerMvcFeature.TEMPLATES_BASE_PATH</literal>
-                            - constant has been unified across MVC modules and the deprecated one has been removed. Use
-                            <literal>FreemarkerMvcFeature.TEMPLATE_BASE_PATH</literal>
-                            or property
-                            <literal>jersey.config.server.mvc.templateBasePath.freemarker</literal>
-                            instead.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>JspMvcFeature.TEMPLATES_BASE_PATH</literal>
-                            - constant has been unified across MVC modules and the deprecated one has been removed. Use
-                            <literal>JspMvcFeature.TEMPLATE_BASE_PATH</literal>
-                            or property
-                            <literal>jersey.config.server.mvc.templateBasePath.jsp</literal>
-                            instead.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-
-        <section xml:id="mig-2.18-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            Integration of executor providers for Jersey runtime has been unified and refactored. As a result, the
-                            <literal>org.glassfish.jersey.spi.RequestExecutorProvider</literal>
-                            and
-                            <literal>org.glassfish.jersey.spi.RuntimeThreadProvider</literal>
-                            SPIs have been removed from Jersey. A new, common &amp; generic executor service providers have been
-                            introduced instead: &jersey.common.spi.ExecutorServiceProvider;
-                            and &jersey.common.spi.ScheduledExecutorServiceProvider;. These new providers are used to support
-                            custom qualified executor service injection, including the refactored use cases of client asynchronous
-                            request execution, server-side managed asynchronous request processing as well as server-side
-                            background task scheduler.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.17">
-        <title>Migrating from Jersey 2.16 to 2.17</title>
-        <section xml:id="mig-2.17-highlights">
-            <title>Release 2.17 Highlights</title>
-
-            <section>
-                <title>CDI integration in EAR packaged WARs</title>
-                <para>
-                    From version 2.17 onwards, it's possible to use CDI with JAX-RS web-applications packaged in EAR. All
-                    supported HK2/CDI injections now work as expected for JAX-RS application deployed in the mentioned fashion.
-                    One need to make sure that modules
-                    <literal>jersey-cdi1x</literal>
-                    and
-                    <literal>jersey-cdi1x-servlet</literal>
-                    are present in Servlet container (that supports EARs).
-                </para>
-            </section>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.16">
-        <title>Migrating from Jersey 2.15 to 2.16</title>
-        <section xml:id="mig-2.16-highlights">
-            <title>Release 2.16 Highlights</title>
-
-            <section>
-                <title>JAX-B providers separated from the core</title>
-                <para>
-                    From version 2.16 onwards, all JAX-B providers are being bundled in a separate module.
-                </para>
-            </section>
-            <section>
-                <title>Performance gain when using Sub-Resource Locators</title>
-                <para>
-                    We improved the performance for using sub-resource locators in a Jersey application. The performance gains
-                    are available for cases when the sub-resource locator method returns either a resource class (return value is
-                    e.g.
-                    <literal>Class&lt;?&gt;</literal>
-                    or<literal>Class&lt;MySubResource&gt;</literal>) or a (non-proxied) resource instance (when return value is an
-                    instance of
-                    <literal>MySubResource</literal>
-                    class).
-                </para>
-            </section>
-            <section>
-                <title>More unified connector configuration options</title>
-                <para>
-                    Jetty connector and Apache connector have been previously using their own custom properties to set SSL context
-                    on a connector. These properties have been deprecated and the code has been updated to read the SSL context
-                    information from the JAX-RS client configuration. This means that all Jersey connectors now properly accept
-                    SSL configuration as configured via standard JAX-RS &jaxrs.client.ClientBuilder; methods.
-                </para>
-                <para>
-                    Previously, all Jersey connectors have been using their own default chunk size when HTTP chunked coding was
-                    used. Since Jersey 2.16, there is a new default chunk size value used by all connectors, if a custom chunk
-                    size is not set. The new default value is stored under &jersey.client.ClientProperties.DEFAULT_CHUNK_SIZE;
-                    client property.
-                </para>
-            </section>
-        </section>
-        <section xml:id="mig-2.16-new-deprecated">
-            <title>Deprecated APIs</title>
-            <para>Following APIs were deprecated:</para>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.apache.connector.ApacheClientProperties</literal>
-                            - constant
-                            <literal>SSL_CONFIG</literal>
-                            has been marked as deprecated and will be removed in a subsequent release.
-                            Use &jaxrs.client.ClientBuilder; methods to configure SSL in a &jaxrs.client.Client; instance.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.jetty.connector.JettyClientProperties</literal>
-                            - constant
-                            <literal>SSL_CONFIG</literal>
-                            has been marked as deprecated and will be removed in a subsequent release.
-                            Use &jaxrs.client.ClientBuilder; methods to configure SSL in a &jaxrs.client.Client; instance.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-        <section xml:id="mig-2.16-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            JAX-B support modularization might cause breaking changes for those users relying on JAX-B and
-                            directly referring to the Jersey core-common module:
-                            <programlisting language="xml" linenumbering="unnumbered">
-                                &lt;dependency&gt; &lt;groupId&gt;org.glassfish.jersey.core&lt;/groupId&gt; &lt;artifactId&gt;jersey-common&lt;/artifactId&gt;
-                                &lt;version&gt;${pre-2.16-version}&lt;/version&gt; &lt;/dependency&gt;</programlisting>
-                            The following needs to be included in addition from version 2.16 on:
-                            <programlisting language="xml" linenumbering="unnumbered">
-                                &lt;dependency&gt; &lt;groupId&gt;org.glassfish.jersey.media&lt;/groupId&gt; &lt;artifactId&gt;jersey-media-jaxb&lt;/artifactId&gt;
-                                &lt;version&gt;&version;&lt;/version&gt; &lt;/dependency&gt;</programlisting>
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>MediaType</literal>'s quality source parameters (<literal>qs</literal>) reuse the same
-                            parsing as quality parameters. This means that values higher than
-                            <literal>1.0</literal>
-                            throw ParseException. I.e. following example is not allowed any more:
-                            <programlisting language="java" linenumbering="unnumbered">
-                                @Path("/") @Produces("text/html;qs=5") // wrong 'qs' value public class Bookstore { ... }
-                            </programlisting>
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.15">
-        <title>Migrating to 2.15</title>
-        <section xml:id="mig-2.15-highlights">
-            <title>Release 2.15 Highlights</title>
-
-            <section>
-                <title>Container agnostic CDI support</title>
-                <para>
-                    Before 2.15, CDI integration was supported primarily in Java EE containers with built-in CDI support. From
-                    version 2.15 onwards, it is possible to leverage CDI integration also outside of Java EE environment. A new
-                    example,<link xlink:href='https://github.com/jersey/jersey/tree/master/examples/helloworld-weld'>
-                    helloworld-weld</link>, has been introduced to demonstrate the new feature using Grizzly HTTP server. Another
-                    example application,<link xlink:href='https://github.com/jersey/jersey/tree/master/examples/cdi-webapp'>
-                    cdi-webapp</link>, has been updated so it enables Apache Tomcat Server deployment.
-                </para>
-            </section>
-
-        </section>
-
-        <section xml:id="mig-2.15-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            CDI support improvement caused breaking changes for those users directly referring to the following
-                            CDI supporting Jersey module in maven:
-                            <programlisting language="xml" linenumbering="unnumbered">
-                                &lt;dependency&gt; &lt;groupId&gt;org.glassfish.jersey.containers.glassfish&lt;/groupId&gt; &lt;artifactId&gt;jersey-gf-cdi&lt;/artifactId&gt;
-                                &lt;version&gt;${pre-2.15-version}&lt;/version&gt; &lt;/dependency&gt;</programlisting>
-                            The above dependency needs to be replaced with:
-                            <programlisting language="xml" linenumbering="unnumbered">
-                                &lt;dependency&gt; &lt;groupId&gt;org.glassfish.jersey.ext.cdi&lt;/groupId&gt; &lt;artifactId&gt;jersey-cdi1x&lt;/artifactId&gt;
-                                &lt;version&gt;&version;&lt;/version&gt; &lt;/dependency&gt;</programlisting>
-                            The following needs to be included in addition if you want to leverage CDI JTA support:
-                            <programlisting language="xml" linenumbering="unnumbered">
-                                &lt;dependency&gt; &lt;groupId&gt;org.glassfish.jersey.ext.cdi&lt;/groupId&gt; &lt;artifactId&gt;jersey-cdi1x-transaction&lt;/artifactId&gt;
-                                &lt;version&gt;&version;&lt;/version&gt; &lt;/dependency&gt;</programlisting>
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-
-
-    <section xml:id="mig-2.12">
-        <title>Migrating from Jersey 2.11 to 2.12</title>
-        <section xml:id="mig-2.12-highlights">
-            <title>Release 2.12 Highlights</title>
-            <para>Following experimental APIs have been promoted to become part of public Jersey API:
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            Jersey client-side &jersey.client.HttpAuthenticationFeature; API.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Jersey server-side &jersey.server.monitoring.DestroyListener; (formerly
-                            <literal>ExtendedMonitoringStatisticsListener</literal>), which has been slightly refactored and is
-                            now a separate interface (e.g. not extending<literal>MonitoringStatisticsListener</literal>), hence
-                            providing better compatibility with lambdas.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-                These APIs are now part of the official public Jersey 2.x API.
-            </para>
-        </section>
-        <section xml:id="mig-2.12-breaking-changes">
-            <title>Breaking Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            Because of a bug fix for issue
-                            <link xlink:href='https://java.net/jira/browse/JERSEY-2602'>JERSEY-2602</link>, we re-generate WADL
-                            classes from
-                            <literal>wadl.xsd</literal>
-                            to make sure the getters for boolean properties starts with
-                            <literal>is</literal>
-                            instead of
-                            <literal>get</literal>
-                            as in Jersey 1 and Jersey &lt;= 2.6.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            For performance purposes a new server property &jersey.server.ServerProperties.MONITORING_ENABLED; has
-                            been introduced. It is possible to enable just basic almost static monitoring information using the
-                            property. It allows to inject &jersey.server.monitoring.ApplicationInfo; object, renamed original
-                            class <literal>org.glassfish.jersey.server.monitoring.ApplicationStatistics</literal>.
-                            And &jersey.server.monitoring.MonitoringStatistics; no more have a reference to<literal>
-                            ApplicationStatistics</literal>, method
-                            <literal>getApplicationStatistics()</literal>
-                            has been removed.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.11">
-        <title>Migrating from Jersey 2.10 to 2.11</title>
-
-        <section xml:id="mig-2.11-highlights">
-            <title>Release 2.11 Highlights</title>
-
-            <section>
-                <title>Promoted Public Beta APIs</title>
-
-                <para>
-                    Several experimental Jersey APIs have matured enough and as such we have decided to promote them
-                    from &jersey.common.Beta; status, namely:
-
-                    <itemizedlist>
-                        <listitem>
-                            <para>
-                                Jersey client-side &jersey.client.ConnectorProvider; SPI.
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                Jersey server-side &jersey.server.ResponseErrorMapper; SPI.
-                            </para>
-                        </listitem>
-                    </itemizedlist>
-
-                    These APIs are now part of the official public Jersey 2.x API.
-                </para>
-            </section>
-            <section>
-                <title>Not closing provided streams in message body providers</title>
-
-                <para>
-                    Jersey is now preventing message body providers (MBR, MBW) from closing given input/output stream. With this
-                    change Jersey is enforcing the JavaDoc statements present in message body providers.
-                </para>
-            </section>
-            <section>
-                <title>Jackson 1</title>
-
-                <para>
-                    We have reintroduced support for JSON processing via Jackson 1.x JSON provider (1.9.11). In order to use
-                    Jackson 1 in your application you need to add
-                    <literal>jersey-media-json-jackson1</literal>
-                    module (+ its dependencies) to your class-path and register
-                    <literal>Jackson1Feature</literal>
-                    in your application (server or client).
-                </para>
-            </section>
-            <section>
-                <title>ClientLifecycleListener</title>
-                <para>
-                    Client-side providers (such as<literal>ClientRequestFilter</literal>s) implementing the new
-                    <literal>org.glassfish.jersey.client.ClientLifecycleListener</literal>
-                    interface will be notified when various lifecycle events occur. Currently client runtime initialization
-                    triggers the
-                    <literal>onInit()</literal>
-                    method and client closing triggers
-                    <literal>onClose()</literal>
-                    method. Such providers implementing the
-                    <literal>ClientLifecycleListener</literal>
-                    can be registered in a common way, e.g. into a
-                    <literal>JerseyClient</literal>
-                    or
-                    <literal>JerseyWebTarget</literal>
-                    instance, or into a (potentially) auto discoverable feature context.
-                </para>
-            </section>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.10">
-        <title>Migrating from Jersey 2.9 to 2.10</title>
-
-        <section xml:id="mig-2.10-removed-deprecated">
-            <title>Removed deprecated APIs</title>
-            <para>Following, already deprecated, APIs were removed:</para>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.server.model.ResourceModelContext</literal>
-                            (not used)
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.server.model.ResourceModelListener</literal>
-                            (not used)
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-
-    <section xml:id="mig-2.9">
-        <title>Migrating from Jersey 2.8 to 2.9</title>
-
-        <section xml:id="mig-2.9-highlights">
-            <title>Release 2.9 Highlights</title>
-
-            <section>
-                <title>Declarative Linking</title>
-
-                <para>
-                    Gerard updated the Declarative Linking extension module which has been ported to Jersey 2 in version 2.6. You
-                    can read more about what Declarative Linking does and what it's capable of in the following blog posts:
-
-                    <itemizedlist>
-                        <listitem>
-                            <para>
-                                <link xlink:href='http://kingsfleet.blogspot.co.uk/2014/05/declarative-linking-in-jersey-29.html'>
-                                    Declarative Linking in Jersey 2.9 and up
-                                </link>
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                <link xlink:href='http://kingsfleet.blogspot.co.uk/2014/05/reading-and-writing-jax-rs-link-objects.html'>
-                                    Reading and writing JAX-RS Link objects
-                                </link>
-                            </para>
-                        </listitem>
-                    </itemizedlist>
-                </para>
-            </section>
-            <section>
-                <title>Jackson 2</title>
-
-                <para>
-                    Our media module that supports working with JSON via Jackson library has been updated to use Jackson 2.x
-                    (2.3.2). All samples and tests have been rewritten to use Jackson 2 as well. In order to use Jackson 2 in your
-                    application you need to add jersey-media-json-jackson (+ its Jackson dependencies) to your class-path and
-                    register
-                    <literal>JacksonFeature</literal>
-                    in your application.
-                </para>
-            </section>
-            <section>
-                <title>META-INF/services</title>
-
-                <para>
-                    We dropped automatic registration of message body providers (MessageBodyWriter, MessageBodyReader) and
-                    exception mappers via META-INF/services mechanism. This functionality can be restored by adding
-                    <literal>jersey-metainf-services</literal>
-                    module to the class-path of your application.
-                </para>
-                <para>
-                    Note: This change may affect 3rd party libraries (e.g. Jackson 2.x) in a way their provider would not be
-                    registered in an JAX-RS app. You need to either register them manually or use mentioned
-                    <literal>jersey-metainf-services</literal>
-                    module.
-                </para>
-            </section>
-            <section>
-                <title>Jersey Test Framework</title>
-
-                <para>
-                    Jersey Test Framework now supports TestNG to run the tests (in addition to the JUnit, which is supported by
-                    default). You can now run the tests in parallel using either JUnit or TestNG. See chapters dedicated to TestNG
-                    and parallel testing for more information:
-                    <xref linkend="testng"/>
-                    and <xref linkend="parallel"/>.
-                </para>
-            </section>
-        </section>
-
-        <section xml:id="mig-2.9-breaking-changes">
-            <title>Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            Some of the feature specific configuration properties (disable WADL, disable BV, disable
-                            JSON-Processing, enable Monitoring), and their server/client counterparts, are no longer affected by a
-                            value of properties
-                            <literal>CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE</literal>
-                            or
-                            <literal>CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE</literal>. The specific properties have to
-                            be used to change default behaviour of mentioned features (e.g.
-                            <literal>ServerProperties.WADL_FEATURE_DISABLE</literal>).
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Automatic registration of <literal>MessageBodyWriter</literal>,
-                            <literal>MessageBodyReaders</literal>
-                            and
-                            <literal>ExceptionMappers</literal>
-                            via
-                            <literal>META-INF/services</literal>
-                            mechanism has been removed. Disabling the automatic registration of providers via
-                            <literal>META-INF/services</literal>
-                            may affect 3rd party libraries (i.e. Jackson 2.x) that are using this mechanism to register its
-                            providers. In order to restore this functionality the
-                            <literal>org.glassfish.jersey.ext:jersey-metainf-services</literal>
-                            has to be added on the classpath. Otherwise such providers has to be registered manually.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            The Jackson JSON Jersey module has been updated to use Jackson 2.x instead of Jackson 1.x. This means
-                            that all the code that has been using Jackson 1.x for JSON (de)serialization has to be migrated to
-                            Jackson 2.x.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-    <section xml:id="mig-2.8">
-        <title>Migrating from Jersey 2.7 to 2.8</title>
-
-        <section xml:id="mig-2.8-breaking-changes">
-            <title>Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            Because of a bug fix for issue
-                            <link xlink:href='https://java.net/jira/browse/JERSEY-2458'>JERSEY-2458</link>, there has been a
-                            slight change in the behavior of &jaxrs.core.UriInfo;
-                            <literal>getPath</literal>
-                            and
-                            <literal>getPathSegments</literal>
-                            methods. The
-                            <literal>getPath</literal>
-                            methods no longer return a path prefixed with a slash (<literal>'/'</literal>), instead they now
-                            correctly return a request path
-                            <emphasis>relative</emphasis>
-                            to the base request URI. Also, the &lit.jaxrs.core.UriInfo; now correctly handles requests which URI
-                            contains empty path segments (e.g.<literal>http://localhost///a/b//c</literal>). These empty path
-                            segments are now correctly included in the lists returned by the
-                            <literal>UriInfo.getPathSegments</literal>
-                            methods.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            &jersey.sse.SseFeature; now gets automatically discovered and enabled if the SSE module is present on
-                            the class path. This behavior can be suppressed by setting &jersey.sse.SseFeature.DISABLE_SSE;
-                            property to <literal>true</literal>. The behavior can also be selectively suppressed in either client
-                            or server runtime by setting the &jersey.sse.SseFeature.DISABLE_SSE_CLIENT;
-                            or &jersey.sse.SseFeature.DISABLE_SSE_SERVER; property respectively.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Deprecated
-                            <literal>getDestroyTime</literal>
-                            method has been removed from
-                            <literal>org.glassfish.jersey.server.monitoring.ApplicationStatistics</literal>. To get the
-                            application shutdown information, a &jersey.server.ContainerLifecycleListener; should be registered
-                            and its
-                            <literal>onShutdown</literal>
-                            method implemented to listen to and process the application shutdown event.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Method
-                            <literal>triggerEvent(RequestEvent.Type)</literal>
-                            has been removed from the public &jersey.server.ContainerRequest; API. This method has never been
-                            intended for public, application-level use.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            In Jersey 2.7 and earlier it was (under certain conditions) possible to supply
-                            custom &jersey.test.spi.TestContainerFactory; as part of the tested JAX-RS / Jersey application. This
-                            factory would be picked and used by &jersey.test.JerseyTest; to
-                            instantiate &jersey.test.spi.TestContainer; that will host the tested application. This feature was
-                            unreliable and redundant. As such, support for the feature has been removed. To specify a
-                            custom &lit.jersey.test.spi.TestContainerFactory; to be used by your &lit.jersey.test.JerseyTest;
-                            subclass, please override the
-                            <literal>JerseyTest.getTestContainerFactory</literal>
-                            method instead. Overriding
-                            <literal>getTestContainerFactory</literal>
-                            now remains the only reliable way of specifying custom &lit.jersey.test.spi.TestContainerFactory;
-                            implementation to be used in your tests.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Protected method
-                            <literal>setTestContainerFactory</literal>
-                            has been removed from the &lit.jersey.test.JerseyTest; API as calling the method had no effect on
-                            the &lit.jersey.test.spi.TestContainerFactory; instance used by the &lit.jersey.test.JerseyTest;
-                            subclass.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Protected method
-                            <literal>getClient</literal>
-                            has been removed from the &lit.jersey.test.JerseyTest; API. To configure test client instances, please
-                            override the
-                            <literal>configureClient</literal>
-                            method instead.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Utility methods &lit.jersey.test.JerseyTest; that provide access to
-                            pre-configured &jaxrs.client.Client; and &jaxrs.client.WebTarget; instances (<literal>
-                            client()</literal>,
-                            <literal>target(...)</literal>) have been made final to prevent overriding in subclasses and thus
-                            ensure consistency of the jersey test framework functionality.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            &lit.jersey.test.JerseyTest; constructor
-                            <literal>JerseyTest(Class&lt;? extends Application&gt;)</literal>
-                            has been made deprecated and will be removed in the subsequent Jersey release.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            It was previously possible to pass in a custom &jersey.server.spi.ContainerProvider; that was supposed
-                            to deploy and run the application as one of the JAX-RS / Jersey application providers. This ability
-                            has been removed without any substitute as the concept was fundamentally flawed. Typical use cases
-                            should not be affected by this change.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Factory methods
-                            <literal>createHttpServer</literal>
-                            which take Jersey &jersey.server.ApplicationHandler; as one of the input parameters have been removed
-                            from the Jersey container factory API as inherently broken. This
-                            impacts &jersey.grizzly.GrizzlyHttpServerFactory;, &jersey.jdkhttp.JdkHttpServerFactory;, &jersey.jetty.JettyHttpContainerFactory;
-                            and &jersey.simple.SimpleContainerFactory; implementations. The methods that
-                            take &jersey.server.ResourceConfig; as input parameter should be used instead. Typical use cases
-                            should not be affected by this change.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Method
-                            <literal>registerAdditionalBinders</literal>
-                            on &jersey.server.ApplicationHandler; has been removed from the public API. Please use the
-                            specific &lit.jersey.server.ApplicationHandler; constructor that accepts custom HK2 binders instead.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            Several configuration properties were renamed, especially those having client and server versions
-                            along with the common version in &lit.jersey.common.CommonProperties;. Please see following table for
-                            complete reference:
-                            <table>
-                                <title>List of changed configuration properties:</title>
-                                <tgroup cols="3">
-                                    <thead>
-                                        <row>
-                                            <entry>Constant</entry>
-                                            <entry>Old value (Jersey 2.7 and before)</entry>
-                                            <entry>New value (Jersey 2.8+)</entry>
-                                        </row>
-                                    </thead>
-                                    <tbody>
-                                        <row>
-                                            <entry>&jersey.client.ClientProperties.FEATURE_AUTO_DISCOVERY_DISABLE;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.disableAutoDiscovery.client</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.client.disableAutoDiscovery</literal>
-                                            </entry>
-                                        </row>
-                                        <row>
-                                            <entry>&jersey.server.ServerProperties.FEATURE_AUTO_DISCOVERY_DISABLE;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.disableAutoDiscovery.server</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.server.disableAutoDiscovery</literal>
-                                            </entry>
-                                        </row>
-
-                                        <row>
-                                            <entry>&jersey.client.ClientProperties.JSON_PROCESSING_FEATURE_DISABLE;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.disableJsonProcessing.client</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.client.disableJsonProcessing</literal>
-                                            </entry>
-                                        </row>
-                                        <row>
-                                            <entry>&jersey.server.ServerProperties.JSON_PROCESSING_FEATURE_DISABLE;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.disableJsonProcessing.server</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.server.disableJsonProcessing</literal>
-                                            </entry>
-                                        </row>
-
-                                        <row>
-                                            <entry>&jersey.client.ClientProperties.METAINF_SERVICES_LOOKUP_DISABLE;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.disableMetainfServicesLookup.client</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.client.disableMetainfServicesLookup</literal>
-                                            </entry>
-                                        </row>
-                                        <row>
-                                            <entry>&jersey.server.ServerProperties.METAINF_SERVICES_LOOKUP_DISABLE;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.disableMetainfServicesLookup.server</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.server.disableMetainfServicesLookup</literal>
-                                            </entry>
-                                        </row>
-
-                                        <row>
-                                            <entry>&jersey.client.ClientProperties.MOXY_JSON_FEATURE_DISABLE;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.disableMoxyJson.client</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.client.disableMoxyJson</literal>
-                                            </entry>
-                                        </row>
-                                        <row>
-                                            <entry>&jersey.server.ServerProperties.MOXY_JSON_FEATURE_DISABLE;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.disableMoxyJson.server</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.server.disableMoxyJson</literal>
-                                            </entry>
-                                        </row>
-
-                                        <row>
-                                            <entry>&jersey.client.ClientProperties.OUTBOUND_CONTENT_LENGTH_BUFFER;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.contentLength.buffer.client</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.client.contentLength.buffer</literal>
-                                            </entry>
-                                        </row>
-                                        <row>
-                                            <entry>&jersey.server.ServerProperties.OUTBOUND_CONTENT_LENGTH_BUFFER;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.contentLength.buffer.server</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.server.contentLength.buffer</literal>
-                                            </entry>
-                                        </row>
-
-                                        <row>
-                                            <entry>&jersey.server.ServerProperties.TRACING;
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.server.tracing</literal>
-                                            </entry>
-                                            <entry>
-                                                <literal>jersey.config.server.tracing.type</literal>
-                                            </entry>
-                                        </row>
-                                    </tbody>
-                                </tgroup>
-                            </table>
-                            The old names are still working for now, but are deprecated. There is a fallback mechanism implemented
-                            while reading the property and each get, that resolves the value from the old-named property, will log
-                            a
-                            <literal>CONFIG</literal>
-                            level warning.
-                        </para>
-
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-    <section xml:id="mig-2.7">
-        <title>Migrating from Jersey 2.6 to 2.7</title>
-
-        <section xml:id="mig-2.7-breaking-changes">
-            <title>Changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            Until version 2.6, Jersey was compiled with Java SE 6. This has changes in Jersey 2.7. Now almost all
-                            Jersey components are compiled with Java SE 7 target. It means, that you will need at least Java SE 7
-                            to be able to compile and run your application that is using latest Jersey. Only
-                            <literal>core-common</literal>
-                            and
-                            <literal>core-client</literal>
-                            modules are still compiled with Java class version runnable with Java SE 6.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            MVC support: method
-                            <literal>writeTo</literal>
-                            of &jersey.server.mvc.TemplateProcessor; was modified by adding an argument <literal>MultivaluedMap&lt;String,
-                            Object&gt; httpHeaders</literal>. This is an incompatible change (the method was modified directly in
-                            the interface). All Jersey provided MVC implementation were adjusted but if you have your own MVC
-                            implementation then you need to modify the method signature of the implementation.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            A minor JAX-RS incompatibility issue has been recently discovered and reported (see <link
-                                xlink:href="https://java.net/jira/browse/JERSEY-2387">JERSEY-2387</link>). As part of the fix,
-                            minor breaking changes related to URI resolving and creation have been introduced in the behavior
-                            of &jaxrs.core.UriBuilder;, &jaxrs.core.Link.Builder; and &jaxrs.client.WebTarget; classes. It is no
-                            longer possible to successfully build a new &lit.jdk6.URI; instance from a &lit.jaxrs.core.UriBuilder;
-                            that contains unresolved template parameters. An
-                            <literal>IllegalArgumentException</literal>
-                            will be thrown in such case, as mandated by JAX-RS API javadoc. Similarly, it is not possible to
-                            successfully create a &jaxrs.core.Link; instance from a URI template with unresolved template
-                            parameters. Also, it is not possible to successfully send a request on a &lit.jaxrs.client.WebTarget;
-                            that represents a URI template that does not have all the template parameters properly resolved. Any
-                            attempt to do so will fail with an exception. Note that this also applies to any managed clients
-                            injected into JAX-RS server-side components using &jersey.server.Uri; annotation.
-                        </para>
-                        <para>
-                            In Jersey 2.6 and earlier, producing a URI from an incompletely resolved URI template would succeed
-                            and all unresolved template parameter locations would be encoded without change into the resulting
-                            URI, for example
-                            <literal>"/path/{param}"</literal>
-                            would be implicitly encoded as
-                            <literal>"/path/%7Bparam%7D"</literal>. While we do not expect our users to depend on this
-                            functionality, if the former behavior is desired for some reason,
-                            <literal>UriComponent.encodeTemplateNames</literal>
-                            method can be used instead:
-
-                            <programlisting language="java" linenumbering="unnumbered">
-                                URI.create(UriComponent.encodeTemplateNames(UriBuilder.fromUri("/path/{param}").toTemplate()));
-                            </programlisting>
-
-                            or simply
-
-                            <programlisting language="java" linenumbering="unnumbered">
-                                URI.create(UriComponent.encodeTemplateNames("/path/{param}"));
-                            </programlisting>
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-    </section>
-    <section xml:id="mig-2.6">
-        <title>Migrating from Jersey 2.5.1 to 2.6</title>
-
-        <section xml:id="mig-2.6-repackaged">
-            <title>Guava and ASM have been embedded</title>
-            <para>
-                Jersey no longer depend directly on Guava and ASM artifacts which means that users are free to use their own
-                versions of mentioned libraries.
-            </para>
-            <para>
-                New bundle has been created for Guava (<literal>bundles/repackaged/jersey-guava</literal>), with Maven
-                coordinates:
-                <literal>org.glassfish.jersey.bundles.repackaged:jersey-guava</literal>
-            </para>
-            <para>
-                (Repackaged) ASM is now part of Jersey Server. Jersey currently uses ASM 5 for package-scanning capabilities.
-            </para>
-        </section>
-        <section xml:id="mig-2.6-new-deprecated">
-            <title>Deprecated APIs</title>
-            <para>Following APIs were deprecated:</para>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.message.internal.HttpDateFormat</literal>
-                            - method
-                            <literal>getPreferedDateFormat()</literal>
-                            has been marked as deprecated due to typo in the name. New method
-                            <literal>getPreferredDateFormat()</literal>
-                            should be used instead.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-        <section xml:id="mig-2.6-removed-deprecated">
-            <title>Removed deprecated APIs</title>
-            <para>Following, already deprecated, APIs were removed:</para>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.client.filter.HttpBasicAuthFilter</literal>
-                            and
-                            <literal>org.glassfish.jersey.client.filter.HttpDigestAuthFilter</literal>
-                            (use &jersey.client.HttpAuthenticationFeature; instead)
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.apache.connector.ApacheClientProperties.HTTP_PARAMS</literal>
-                            (use
-                            <literal>org.glassfish.jersey.apache.connector.ApacheClientProperties#REQUEST_CONFIG</literal>
-                            instead),
-                            <literal>org.glassfish.jersey.apache.connector.ApacheClientProperties.PROXY_URI</literal>,
-                            <literal>org.glassfish.jersey.apache.connector.ApacheClientProperties.PROXY_USERNAME</literal>,
-                            <literal>org.glassfish.jersey.apache.connector.ApacheClientProperties.PROXY_PASSWORD</literal>
-                            (use corresponding &jersey.client.ClientProperties; instead.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.server.validation.ValidationConfig.setMessageInterpolator</literal>
-                            <literal>org.glassfish.jersey.server.validation.ValidationConfig.setTraversableResolver</literal>
-                            <literal>org.glassfish.jersey.server.validation.ValidationConfig.setConstraintValidatorFactory
-                            </literal>
-                            <literal>org.glassfish.jersey.server.validation.ValidationConfig.setParameterNameProvider</literal>
-                            (use corresponding methods of the same class without
-                            <literal>"set"</literal>
-                            prefix in the method names).
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.server.mvc.MvcProperties</literal>
-                            (use properties of
-                            <literal>org.glassfish.jersey.server.mvc.MvcFeature</literal>
-                            instead).
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            MVC does not allow to specify the resolving class. Resolving class is used to create a path of the
-                            template. Changes are:
-                        </para>
-                        <para>
-                            Annotation attribute
-                            <literal>Class&lt;?&gt; org.glassfish.jersey.server.mvc.Template.resolvingClass()</literal>
-                            (the attribute was obsolete and therefore removed. Resolving class now always the resource class in
-                            which the MVC resource method is defined).
-                        </para>
-                        <para>
-                            <literal>resolvingClass</literal>
-                            was removed from &jersey.server.mvc.Viewable;. The constructor no longer accepts this argument and
-                            there is no getter for this field.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.server.mvc.freemarker.FreemarkerProperties</literal>
-                            (use &jersey.server.mvc.FreemarkerMvcFeature; instead)
-                        </para>
-                    </listitem>
-
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.server.mvc.jsp.JspProperties</literal>
-                            (use &jersey.server.mvc.JspMvcFeature; instead)
-                        </para>
-                    </listitem>
-
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.server.model.RuntimeResource.getFirstParentResource()</literal>
-                            (use &jersey.server.Resource.getParent; instead).
-                        </para>
-                    </listitem>
-
-                </itemizedlist>
-            </para>
-        </section>
-        <para>
-            <itemizedlist>
-                <listitem>
-                    <para>
-                        WADL is by default displayed in the simplified form. It does not contain supporting resources like OPTIONS
-                        methods or
-                        <literal>/application.wadl</literal>
-                        itself. In order to get the full WADL use query param <literal>detail=true</literal>. For example make a
-                        GET request to <literal>http://localhost:8080/application.wadl?detail=true</literal>.
-                    </para>
-                </listitem>
-            </itemizedlist>
-        </para>
-    </section>
-
-
-    <section xml:id="mig-2.5.1">
-        <title>Migrating from Jersey 2.5 to 2.5.1</title>
-
-        <para>
-            <itemizedlist>
-                <listitem>
-                    <para>
-                        WADL is by default displayed in the simplified form. It does not contain supporting resources like OPTIONS
-                        methods or
-                        <literal>/application.wadl</literal>
-                        itself. In order to get the full WADL use query param<literal>detail=true</literal>. For example make a
-                        GET request to <literal>http://localhost:8080/application.wadl?detail=true</literal>.
-                    </para>
-                </listitem>
-            </itemizedlist>
-        </para>
-    </section>
-
-    <section xml:id="mig-2.5">
-        <title>Migrating from Jersey 2.4.1 to 2.5</title>
-
-        <section xml:id="mig-2.5-client">
-            <title>Client-side API and SPI changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            <emphasis>Client chunked encoding configuration behaviour has changed:</emphasis>
-                        </para>
-                        <para>
-                            Jersey client uses chunked encoding (streaming) for serialization of the entity as a default option.
-                            Before Jersey 2.5 release entity buffering has been used by default. The size of the chunk can still
-                            be controlled by &jersey.client.ClientProperties.CHUNKED_ENCODING_SIZE; property, this property
-                            however no longer enforces the use of chunked encoding. To control request entity buffering and
-                            chunked transfer coding selection, please utilize use the new
-                            &jersey.client.ClientProperties.REQUEST_ENTITY_PROCESSING; property. The behaviour of the property
-                            is however not unified across the available &jersey.client.Connector; implementations and depends
-                            on the connector implementation configured for the &jaxrs.client.Client; instance.
-                            Default connector produced by &jersey.client.HttpUrlConnectorProvider; still uses
-                            buffering as default options due to bugs in <literal>HttpURLConnection</literal>. On the other hand,
-                            Jetty HTTP Client based connectors produced by &jersey.jetty.JettyConnectorProvider; do not support
-                            chunked encoding at all.
-                        </para><para>
-                            Please note that this is not a newly introduced limitation - it's merely
-                            an official acknowledgement of the fact that different connectors have different capabilities and
-                            limitations - something that has always been part of the individual connector implementations, it
-                            just was not publicly acknowledged.
-                        </para></listitem>
-                    <listitem><para>
-                        New &jersey.client.ConnectorProvider; SPI has been introduced to decouple &jersey.client.Connector;
-                        instantiation from &jaxrs.client.Client; instance boot-strapping. As such, the
-                        <literal>connector(Connector)</literal>
-                        method has been removed from &jersey.client.ClientConfig;
-                        API. It has been replaced with a newly introduced
-                        <literal>connectorProvider(ConnectorProvider)</literal>
-                        method.
-                    </para></listitem>
-                    <listitem><para>
-                        <literal>org.glassfish.jersey.client.HttpUrlConnector</literal>
-                        has been removed from the public API.
-                        &jersey.client.HttpUrlConnectorProvider; should be used to produce &jdk6.HttpUrlConnection;
-                        connector instances instead.
-                    </para></listitem>
-                    <listitem><para>
-                        <literal>ClientProperties.HTTP_URL_CONNECTION_SET_METHOD_WORKAROUND</literal>
-                        property has been moved to the new &jersey.client.HttpUrlConnectorProvider;
-                        has been introduced in Jersey 2.4) has been moved to the new &jersey.client.HttpUrlConnectorProvider;
-                        class as this property is specific to the connector instances created by
-                        &lit.jersey.client.HttpUrlConnectorProvider; only. The property has been also renamed to
-                        &jersey.client.HttpUrlConnectorProvider.SET_METHOD_WORKAROUND;. The name of the property
-                        remains the same - <literal>jersey.config.client.httpUrlConnection.setMethodWorkaround</literal>.
-                    </para></listitem>
-                    <listitem><para>
-                        <literal>ClientProperties.HTTP_URL_CONNECTOR_FIX_LENGTH_STREAMING</literal>
-                        property (that
-                        class as this property is specific to the connector instances created by
-                        &lit.jersey.client.HttpUrlConnectorProvider; only. The property has been also renamed to
-                        &jersey.client.HttpUrlConnectorProvider.USE_FIXED_LENGTH_STREAMING; and the new property name
-                        is <literal>jersey.config.client.httpUrlConnector.useFixedLengthStreaming</literal>.
-                    </para></listitem>
-                    <listitem><para>
-                        <literal>org.glassfish.jersey.grizzly.connector.GrizzlyConnector</literal>
-                        has been removed from the public
-                        API. &jersey.grizzly.GrizzlyConnectorProvider; should be used to produce Grizzly Asynchronous HTTP Client
-                        connector instances instead.
-                    </para></listitem>
-                    <listitem><para>
-                        Public constructor has been removed from the <literal>org.glassfish.jersey.apache.connector.ApacheConnector</literal>; API.
-                        &jersey.apache.ApacheConnectorProvider; should be used to provide Apache HTTP Client
-                        connector instances instead.
-                    </para></listitem>
-                    <listitem><para>
-                        Public constructor has been removed from the <literal>org.glassfish.jersey.jetty.connector.JettyConnector</literal>; API.
-                        &jersey.jetty.JettyConnectorProvider; should be used to provide Jetty HTTP Client
-                        connector instances instead.
-                    </para></listitem>
-                    <listitem><para>
-                        Renamed property <literal>CACHING_TEMPLATES_ENABLED</literal> in &jersey.server.mvc.MustacheMvcFeature;
-                        from <literal>jersey.config.server.mvc.caching.mustache.enabled</literal> to
-                        <literal>jersey.config.server.mvc.caching.mustache</literal>.
-                    </para></listitem>
-                    <listitem><para>
-                        Authentication filters <literal>org.glassfish.jersey.client.filter.HttpBasicAuthFilter</literal>
-                        and <literal>org.glassfish.jersey.client.filter.HttpDigestAuthFilter</literal>
-                        were deprecated and replaced by &jersey.client.HttpAuthenticationFeature;.
-                    </para></listitem>
-                </itemizedlist>
-            </para>
-        </section>
-        <section xml:id="mig-2.5-other">
-            <title>Other changes</title>
-            <para>
-                <itemizedlist>
-                    <listitem>
-                        <para>
-                            The &jersey.server.ContainerLifecycleListener; invokes event
-                            <literal>onStartup</literal>
-                            and
-                            <literal>onShutdown</literal>
-                            also when application is being started or stopped because of application redeploy. The interface was
-                            marked as a Beta now.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            The monitoring statistics method
-                            <literal>ApplicationStatistics.getDestroyTime()</literal>
-                            is deprecated and returns always null. Use &jersey.server.ContainerLifecycleListener; to listen on
-                            application destroy and get the destroy time.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.spi.ResponseExecutorsProvider</literal>
-                            contract has been completely removed from the Jersey SPI as it was inconsistently used by Jersey
-                            runtime and we did not find a suitable use case where a custom response executor would make sense.
-                            While we have no indication that the removed SPI is used in the Jersey community, please do not
-                            hesitate to contact us in case you think that you have a valid use case where the use of a custom
-                            response executor makes sense.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
-                            <literal>org.glassfish.jersey.spi.RequestsExecutorsProvider</literal>
-                            contract has been renamed to
-                            <literal>org.glassfish.jersey.spi.RequestsExecutorsProvider</literal>. It has been also extended with
-                            an additional
-                            <literal>releaseRequestingExecutor</literal>
-                            method to address executor shutdown handling issues reported in <link
-                                xlink:href='https://java.net/jira/browse/JERSEY-2205'>JERSEY-2205</link>. As such, any custom
-                            implementation of the SPI is now required to implement the new method. (Note that the SPI has been
-                            removed in Jersey 2.18 - see the Jersey 2.18 release migration guide section for more details.)
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
-        </section>
-
-    </section>
-
-    <section xml:id="mig-2.4.1">
-        <title>Migrating from Jersey 2.4 to 2.4.1</title>
-
-        <para>
-            <itemizedlist>
-                <listitem>
-                    <para>
-                        The unsupported
-                        <literal>ClientProperties.BUFFER_RESPONSE_ENTITY_ON_EXCEPTION</literal>
-                        property, with value of <literal>jersey.config.client.bufferResponseEntityOnException</literal>, has been
-                        removed from the API. Since Jersey 2.4 where
-                        <link xlink:href='https://java.net/jira/browse/jersey-2157'>JERSEY-2157</link>
-                        issue has been fixed, Jersey client runtime automatically buffers error response entities. This behavior
-                        is automatic and there is no need to set any property.
-                    </para>
-                </listitem>
-            </itemizedlist>
-        </para>
-    </section>
-
-    <section xml:id="mig-2.4">
-        <title>Migrating from Jersey 2.3 to 2.4</title>
-
-        <para>
-            <itemizedlist>
-                <listitem>
-                    <para>
-                        All deprecated SSE &jersey.sse.InboundEvent;
-                        <literal>getData(...)</literal>
-                        methods have been removed from the API. Use the new
-                        <literal>readData(...)</literal>
-                        methods have been introduced instead in Jersey 2.3 for consistency with other parts of client-side JAX-RS
-                        API. Access to the raw SSE event data content is provided via a &lit.jersey.sse.InboundEvent;'s
-                        <literal>byte[] getRawData()</literal>
-                        method that has been introduced in Jersey 2.3 as well.
-                    </para>
-                </listitem>
-                <listitem>
-                    <para>
-                        All EJB and CDI integration classes have been moved into internal Jersey packages, to clearly state the
-                        integration code should not be used as a public API.
-                    </para>
-                </listitem>
-            </itemizedlist>
-        </para>
-    </section>
-
-    <section xml:id="mig-2.3">
-        <title>Migrating from Jersey 2.0, 2.1 or 2.2 to 2.3</title>
-
-        <para>
-            <itemizedlist>
-                <listitem>
-                    <para>
-                        All existing SSE &jersey.sse.InboundEvent;
-                        <literal>getData(...)</literal>
-                        methods have been made deprecated and new
-                        <literal>readData(...)</literal>
-                        methods have been introduced instead for consistency with other parts of client-side JAX-RS API. The
-                        deprecated
-                        <literal>getData(...)</literal>
-                        methods will be removed in Jersey 2.4. A new SSE &jersey.sse.InboundEvent;
-                        <literal>byte[] getRawData()</literal>
-                        method has been introduced to provide access to the raw SSE event data content.
-                    </para>
-                </listitem>
-                <listitem>
-                    <para>
-                        Generic &jersey.server.Broadcaster; methods for adding/removing &jersey.server.BroadcasterListener;
-                        registrations have been renamed from
-                        <literal>addBroadcasterListener/removeBroadcasterListener</literal>
-                        to simply <literal>add/remove</literal>.
-                    </para>
-                </listitem>
-                <listitem>
-                    <para>
-                        Generic &jersey.server.Broadcaster; (and transitively, &jersey.sse.SseBroadcaster;)
-                        <literal>add/remove</literal>
-                        methods - that are responsible for adding/removing &jersey.server.BroadcasterListener;
-                        and &jersey.server.ChunkedOutput; (or &jersey.sse.EventOutput;) registrations - no longer try to avoid
-                        duplicate registrations by comparing hash code of the added/removed instance with the hash codes of
-                        already registered instances. This behavior has been identified as a potential source of hard to discover
-                        bugs and was removed as such. The issue with the former behavior was that hash codes as integer values
-                        provide only a very limited value space that could lead to false-positive duplicate registration
-                        rejections, especially with larger number of simultaneously connected SSE clients (represented
-                        by &lit.jersey.server.ChunkedOutput; or &lit.jersey.sse.EventOutput; broadcaster registrations).
-                        Consequently, users who rely on the old registration behavior in their application code need to adapt the
-                        code to the revised behavior of &lit.jersey.server.Broadcaster;
-                        <literal>add/remove</literal>
-                        methods.
-                    </para>
-                </listitem>
-            </itemizedlist>
-        </para>
-
-    </section>
-
-    <section xml:id="mig-1.x">
-        <title>Migrating from Jersey 1.x to 2.0</title>
-        <para>
-            This chapter is a migration guide for people switching from Jersey 1.x. Since many of the Jersey 1.x features became
-            part of JAX-RS 2.0 standard which caused changes in the package names, we decided it is a good time to do a more
-            significant incompatible refactoring, which will allow us to introduce some more interesting new features in the
-            future. As the result, there are many incompatibilities between Jersey 1.x and Jersey 2.0. This chapter summarizes how
-            to migrate the concepts found in Jersey 1.x to Jersey/JAX-RS 2.0 concepts.
-        </para>
-
-        <section xml:id="mig-server-api">
-            <title>Server API</title>
-            <para>
-                Jersey 1.x contains number of proprietary server APIs. This section covers migration of application code relying
-                on those APIs.
-            </para>
-
-            <section xml:id="mig-server-inject-custom-objects">
-                <title>Injecting custom objects</title>
-                <para>Jersey 1.x have its own internal dependency injection framework which handles injecting various parameters
-                    into field or methods. It also provides a way how to register custom injection provider in Singleton or
-                    PerRequest scopes. Jersey 2.x uses HK2 as dependency injection framework and users are also able to register
-                    custom classes or instances to be injected in various scopes.
-                </para>
-
-                <para>Main difference in Jersey 2.x is that you don't need to create special classes or providers for this task;
-                    everything should be achievable using HK2 API. Custom injectables can be registered at ResourceConfig level by
-                    adding new HK2 Module or by dynamically adding binding almost anywhere using injected HK2 Services instance.
-                </para>
-
-                <para>Jersey 1.x Singleton:
-                    <programlisting language="java" linenumbering="unnumbered">ResourceConfig resourceConfig = new
-                        DefaultResourceConfig(); resourceConfig.getSingletons().add( new SingletonTypeInjectableProvider&lt;Context,
-                        SingletonType&gt;( SingletonType.class, new SingletonType()) {});
-                    </programlisting>
-                </para>
-
-                <para>Jersey 1.x PerRequest:
-                    <programlisting language="java" linenumbering="unnumbered">ResourceConfig resourceConfig = new
-                        DefaultResourceConfig(); resourceConfig.getSingletons().add( new PerRequestTypeInjectableProvider&lt;Context,
-                        PerRequestType&gt;() { @Override public Injectable&lt;PerRequestType&gt; getInjectable(ComponentContext
-                        ic, Context context) { //... } });
-                    </programlisting>
-                </para>
-
-                <para>Jersey 2.0 HK2 Module:
-                    <programlisting language="java" linenumbering="unnumbered">public static class MyBinder extends AbstractBinder
-                        {
-
-                        @Override protected void configure() { // request scope binding
-                        bind(MyInjectablePerRequest.class).to(MyInjectablePerRequest.class).in(RequestScoped.class); // singleton
-                        binding bind(MyInjectableSingleton.class).in(Singleton.class); // singleton instance binding bind(new
-                        MyInjectableSingleton()).to(MyInjectableSingleton.class); }
-
-                        }
-
-                        // register module to ResourceConfig (can be done also in constructor) ResourceConfig rc = new
-                        ResourceConfig(); rc.addClasses(/* ... */); rc.addBinders(new MyBinder());
-                    </programlisting>
-                </para>
-
-                <para>Jersey 2.0 dynamic binding:
-                    <programlisting language="java" linenumbering="unnumbered">public static class MyApplication extends
-                        Application {
-
-                        @Inject public MyApplication(ServiceLocator serviceLocator) { System.out.println("Registering
-                        injectables...");
-
-                        DynamicConfiguration dc = Injections.getConfiguration(serviceLocator);
-
-                        // request scope binding Injections.addBinding(
-                        Injections.newBinder(MyInjectablePerRequest.class).to(MyInjectablePerRequest.class).in(RequestScoped.class),
-                        dc);
-
-                        // singleton binding Injections.addBinding( Injections.newBinder(MyInjectableSingleton.class)
-                        .to(MyInjectableSingleton.class) .in(Singleton.class), dc);
-
-                        // singleton instance binding Injections.addBinding( Injections.newBinder(new MyInjectableSingleton())
-                        .to(MyInjectableSingleton.class), dc);
-
-                        // request scope binding with specified custom annotation Injections.addBinding(
-                        Injections.newBinder(MyInjectablePerRequest.class) .to(MyInjectablePerRequest.class) .qualifiedBy(new
-                        MyAnnotationImpl()) .in(RequestScoped.class), dc);
-
-                        // commits changes dc.commit(); }
-
-                        @Override public Set&lt;Class&lt;?&gt;&gt; getClasses() { return ... }}
-                    </programlisting>
-                </para>
-            </section>
-
-            <section xml:id="mig-server-reload">
-
-                <title>ResourceConfig Reload</title>
-
-                <para>
-                    In Jersey 1, the reload functionality is based on two interfaces:
-                    <orderedlist>
-                        <listitem>
-                            <simpara>com.sun.jersey.spi.container.ContainerListener</simpara>
-                        </listitem>
-                        <listitem>
-                            <simpara>com.sun.jersey.spi.container.ContainerNotifier</simpara>
-                        </listitem>
-                    </orderedlist>
-
-                    Containers, which support the reload functionality implement the
-                    <literal>ContainerListener</literal>
-                    interface, so that once you get access to the actual container instance, you could call its
-                    <literal>onReload</literal>
-                    method and get the container re-load the config. The second interface helps you to obtain the actual container
-                    instance reference. An example on how things are wired together follows.
-
-                    <example>
-                        <title>Jersey 1 reloader implementation</title>
-                        <programlisting language="java" linenumbering="numbered">public class Reloader implements
-                            ContainerNotifier { List&lt;ContainerListener&gt; ls;
-
-                            public Reloader() { ls = new ArrayList&lt;ContainerListener&gt;(); }
-
-                            public void addListener(ContainerListener l) { ls.add(l); }
-
-                            public void reload() { for (ContainerListener l : ls) { l.onReload(); } } }
-                        </programlisting>
-                    </example>
-
-                    <example>
-                        <title>Jersey 1 reloader registration</title>
-                        <programlisting language="java" linenumbering="numbered">Reloader reloader = new Reloader();
-                            resourceConfig.getProperties().put(ResourceConfig.PROPERTY_CONTAINER_NOTIFIER, reloader);
-                        </programlisting>
-                    </example>
-
-                    In Jersey 2, two interfaces are involved again, but these have been re-designed.
-
-                    <orderedlist>
-                        <listitem>
-                            <simpara>org.glassfish.jersey.server.spi.Container</simpara>
-                        </listitem>
-                        <listitem>
-                            <simpara>org.glassfish.jersey.server.spi.ContainerLifecycleListener</simpara>
-                        </listitem>
-                    </orderedlist>
-
-                    The
-                    <literal>Container</literal>
-                    interface introduces two
-                    <literal>reload</literal>
-                    methods, which you can call to get the application re-loaded. One of these methods allows to pass in a
-                    new &lit.jersey.server.ResourceConfig; instance.
-
-                    You can register your implementation of
-                    <literal>ContainerLifecycleListener</literal>
-                    the same way as any other provider (i.e. either by annotating it by &jaxrs.ext.Provider; annotation or adding
-                    it to the Jersey &jersey.server.ResourceConfig; directly either using the class (using
-                    <literal>ResourceConfig.addClasses()</literal>) or registering a particular instance using
-                    <literal>ResourceConfig.addSingletons()</literal>
-                    method.
-                </para>
-
-                <para>
-                    An example on how things work in Jersey 2 follows.
-
-                    <example>
-                        <title>Jersey 2 reloader implementation</title>
-                        <programlisting language="java" linenumbering="numbered">public class Reloader implements
-                            ContainerLifecycleListener {
-
-                            Container container;
-
-                            public void reload(ResourceConfig newConfig) { container.reload(newConfig); }
-
-                            public void reload() { container.reload(); }
-
-                            @Override public void onStartup(Container container) { this.container = container; }
-
-                            @Override public void onReload(Container container) { // ignore or do whatever you want after reload
-                            has been done }
-
-                            @Override public void onShutdown(Container container) { // ignore or do something after the container
-                            has been shutdown } }
-                        </programlisting>
-                    </example>
-                    <example>
-                        <title>Jersey 2 reloader registration</title>
-                        <programlisting language="java" linenumbering="numbered">Reloader reloader = new Reloader();
-                            resourceConfig.addSingletons(reloader);
-                        </programlisting>
-                    </example>
-                </para>
-            </section>
-
-            <section xml:id="mig-server-provider-ordering">
-                <title>MessageBodyReaders and MessageBodyWriters ordering</title>
-                <para>JAX-RS 2.0 defines new order of MessageBodyWorkers - whole set is sorted by declaration distance, media type
-                    and source (custom providers having higher priority than default ones provided by Jersey). JAX-RS 1.x ordering
-                    can still be forced by setting parameter
-                    <literal>MessageProperties.LEGACY_WORKERS_ORDERING</literal>
-                    (<literal>"jersey.config.workers.legacyOrdering"</literal>) to &lit.true;
-                    in &lit.jersey.server.ResourceConfig; or &lit.jersey.client.ClientConfig; properties.
-                </para>
-            </section>
-        </section>
-
-        <section xml:id="mig-client-api">
-            <title>Migrating Jersey Client API</title>
-
-            <para>
-                JAX-RS 2.0 provides functionality that is equivalent to the Jersey 1.x proprietary client API. Here is a rough
-                mapping between the Jersey 1.x and JAX-RS 2.0 Client API classes:
-            </para>
-            <table frame='all'>
-                <title>Mapping of Jersey 1.x to JAX-RS 2.0 client classes</title>
-                <tgroup cols='3' align='left' colsep='1' rowsep='1'>
-                    <colspec colname='c1' colwidth="0*"/>
-                    <colspec colname='c2' colwidth="0*"/>
-                    <colspec colname='c3' colwidth="1*"/>
-                    <thead>
-                        <row>
-                            <entry>Jersey 1.x Class</entry>
-                            <entry>JAX-RS 2.0 Class</entry>
-                            <entry>Notes</entry>
-                        </row>
-                    </thead>
-                    <tbody>
-                        <row>
-                            <entry>
-                                <link xlink:href="http://jersey.java.net/nonav/apidocs/1.17/jersey/com/sun/jersey/api/client/Client.html">
-                                    com.sun.jersey.api.client.Client
-                                </link>
-                            </entry>
-                            <entry>
-                                &jaxrs.client.ClientBuilder;
-                            </entry>
-                            <entry>For the static factory methods and constructors.</entry>
-                        </row>
-                        <row>
-                            <entry/>
-                            <entry>
-                                &jaxrs.client.Client;
-                            </entry>
-                            <entry>For the instance methods.</entry>
-                        </row>
-                        <row>
-                            <entry>
-                                <link xlink:href="http://jersey.java.net/nonav/apidocs/1.17/jersey/com/sun/jersey/api/client/WebResource.html">
-                                    com.sun.jersey.api.client.WebResource
-                                </link>
-                            </entry>
-                            <entry>
-                                &jaxrs.client.WebTarget;
-                            </entry>
-                            <entry/>
-                        </row>
-                        <row>
-                            <entry>
-                                <link xlink:href="http://jersey.java.net/nonav/apidocs/1.17/jersey/com/sun/jersey/api/client/AsyncWebResource.html">
-                                    com.sun.jersey.api.client.AsyncWebResource
-                                </link>
-                            </entry>
-                            <entry>
-                                &jaxrs.client.WebTarget;
-                            </entry>
-                            <entry>You can access async versions of the async methods by calling
-                                <literal>WebTarget.request().async()</literal>
-                            </entry>
-                        </row>
-                    </tbody>
-                </tgroup>
-            </table>
-
-            <para>The following sub-sections show code examples.</para>
-
-            <section xml:id="mig-client-simple-request">
-                <title>Making a simple client request</title>
-                <para>
-                    Jersey 1.x way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = Client.create(); WebResource
-                        webResource = client.resource(restURL).path("myresource/{param}"); String result =
-                        webResource.pathParam("param", "value").get(String.class);
-                    </programlisting>
-                </para>
-
-                <para>
-                    JAX-RS 2.0 way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = ClientBuilder.newClient();
-                        WebTarget target = client.target(restURL).path("myresource/{param}"); String result =
-                        target.pathParam("param", "value").get(String.class);
-                    </programlisting>
-                </para>
-            </section>
-
-            <section xml:id="mig-client-filter-register">
-                <title>Registering filters</title>
-
-                <para>
-                    Jersey 1.x way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = Client.create(); WebResource
-                        webResource = client.resource(restURL); webResource.addFilter(new HTTPBasicAuthFilter(username,
-                        password));
-                    </programlisting>
-                </para>
-
-                <para>
-                    JAX-RS 2.0 way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = ClientBuilder.newClient();
-                        WebTarget target = client.target(restURL); target.register(new HttpBasicAuthFilter(username, password));
-                    </programlisting>
-                </para>
-            </section>
-
-            <section xml:id="mig-client-accept-header">
-                <title>Setting "Accept" header</title>
-
-                <para>
-                    Jersey 1.x way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = Client.create(); WebResource
-                        webResource = client.resource(restURL).accept("text/plain"); ClientResponse response =
-                        webResource.get(ClientResponse.class);
-                    </programlisting>
-                </para>
-
-                <para>
-                    JAX-RS 2.0 way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = ClientBuilder.newClient();
-                        WebTarget target = client.target(restURL); Response response = target.request("text/plain").get();
-                    </programlisting>
-                </para>
-            </section>
-
-            <section xml:id="mig-client-add-entity">
-                <title>Attaching entity to request</title>
-                <para>
-                    Jersey 1.x way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = Client.create(); WebResource
-                        webResource = client.resource(restURL); ClientResponse response = webResource.post(ClientResponse.class,
-                        "payload");
-                    </programlisting>
-                </para>
-
-                <para>
-                    JAX-RS 2.0 way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = ClientBuilder.newClient();
-                        WebTarget target = client.target(restURL); Response response =
-                        target.request().post(Entity.text("payload"));
-                    </programlisting>
-                </para>
-            </section>
-
-            <section xml:id="mig-client-ssl">
-                <title>Setting SSLContext and/or HostnameVerifier</title>
-
-                <para>
-                    Jersey 1.x way:
-
-                    <programlisting language="java" linenumbering="unnumbered">HTTPSProperties prop = new
-                        HTTPSProperties(hostnameVerifier, sslContext); DefaultClientConfig dcc = new DefaultClientConfig();
-                        dcc.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, prop); Client client =
-                        Client.create(dcc);
-                    </programlisting>
-                </para>
-
-                <para>
-                    Jersey 2.0 way:
-
-                    <programlisting language="java" linenumbering="unnumbered">Client client = ClientBuilder.newBuilder()
-                        .sslContext(sslContext) .hostnameVerifier(hostnameVerifier) .build();
-                    </programlisting>
-                </para>
-            </section>
-        </section>
-
-        <section xml:id="mig-1-x-json">
-            <title>JSON support changes</title>
-            <para>JSON Support has undergone certain changes in Jersey&nbsp;2.x. The most visible difference for the developer is
-                in the initialization and configuration.
-            </para>
-            <para>
-                In Jersey&nbsp;1.x, the JAXB/JSON Support was implemented as a set of
-                <literal>MessageBodyReaders</literal>
-                and
-                <literal>MessageWriters</literal>
-                in the
-                <literal>jersey-json</literal>
-                module. Internally, there were several implementations of JSON to Object mapping ranging from Jersey's own custom
-                solution to third party providers, such as
-                <literal>Jackson</literal>
-                or<literal>Jettison</literal>. The configuration of the JSON support was centralized in the
-                <literal>JSONConfiguration</literal>
-                and
-                <literal>JSONJAXBContext</literal>
-                classes.
-            </para>
-            <section xml:id="mig-1-x-json-init">
-                <title>Initialization</title>
-                <para>
-                    There are three main JSON-mapping handling approaches, which are preserved in Jersey&nbsp;2:
-                    <link linkend="json-jaxb">JAXB-based</link>,
-                    <link linkend="json-pojo">POJO mapping</link>
-                    and
-                    <link linkend="json-lowlevel">Low-level parsing</link>
-
-                    The following table shows how to enable each of them in both Jersey&nbsp;2 compared to Jersey&nbsp;1:
-                    <table>
-                        <title>JSON approaches and usage in Jersey&nbsp;1 vs Jersey&nbsp;2</title>
-                        <tgroup cols="3">
-                            <thead>
-                                <row>
-                                    <entry>Approach</entry>
-                                    <entry>Jersey&nbsp;1</entry>
-                                    <entry>Jersey&nbsp;2</entry>
-                                </row>
-                            </thead>
-                            <tbody>
-                                <row>
-                                    <entry>POJO</entry>
-                                    <entry>register<literal>POJOMappingFeature</literal>, use &jersey.media.ObjectMapper1; for
-                                        configuration
-                                    </entry>
-                                    <entry>
-                                        use
-                                        <literal>Jackson</literal>
-                                        provider: (add
-                                        <literal>jersey-media-json-jackson</literal>
-                                        dependency and
-                                        <link linkend="jackson-registration">register</link>
-                                        the<literal>JacksonFeature</literal>), configure with custom &jersey.media.ObjectMapper;
-                                        instance.
-                                    </entry>
-                                </row>
-                                <row>
-                                    <entry>JAXB</entry>
-                                    <entry>Default; use<literal>JSONConfiguration</literal>/
-                                        <literal>JSONJAXBContext</literal>
-                                        for configuration
-                                    </entry>
-                                    <entry>use
-                                        <literal>MOXy</literal>
-                                        (add the
-                                        <literal>jersey-media-moxy</literal>
-                                        dependency; the feature will be registered
-                                        <link linkend="deployment.autodiscoverable">automatically</link>), configure using
-                                        <literal>MoxyJsonConfig</literal>
-                                    </entry>
-                                </row>
-                                <row>
-                                    <entry>Low-level</entry>
-                                    <entry>Direct usage of
-                                        <literal>JSONObject</literal>
-                                        and/or
-                                        <literal>JSONArray</literal>
-                                        classes
-                                    </entry>
-                                    <entry>use JSON-P (standard) or Jettison (non-standard) APIs (add the relevant dependency)
-                                    </entry>
-                                </row>
-                            </tbody>
-                        </tgroup>
-                    </table>
-                    <example>
-                        <title>Initializing JAXB-based support with MOXy</title>
-                        <programlisting language="xml" linenumbering="unnumbered">
-                            &lt;dependency&gt; &lt;groupId&gt;org.glassfish.jersey.media&lt;/groupId&gt; &lt;artifactId&gt;jersey-media-moxy&lt;/artifactId&gt;
-                            &lt;version&gt;&version;&lt;/version&gt; &lt;/dependency&gt;</programlisting>
-                    </example>
-                    <note>
-                        <para>
-                            For JAXB-based support, MOXy is the default way in Jersey&nbsp;2. However, other providers (<literal>
-                            Jackson</literal>,<literal>Jettison</literal>) can be used as well. The relevant feature has to be
-                            registered (and dependency added) and custom implementation of
-                            <literal>ContextResolver</literal>
-                            has to be provided. See the code snippets in the <link linkend="json.jackson">related chapter</link>.
-                        </para>
-                        <para>
-                            For more on particular
-                            <literal>Feature</literal>
-                            registration, see also:
-                            <link linkend="jackson-registration">Jackson&nbsp;registration</link>,
-                            <link linkend="jettison-registration">Jettison&nbsp;registration</link>,
-                            <link linkend="moxy-registration">MOXy&nbsp;registration</link>,
-                            <link linkend="jsonp-registration">JSON-P&nbsp;registration</link>.
-                        </para>
-                        <para>
-                            It is important to point out, that the
-                            <literal>Feature</literal>
-                            registration has to be done separately for client and server.
-                        </para>
-                    </note>
-                    <note>
-                        <para>
-                            With Jersey 2.9,
-                            <literal>Jackson</literal>
-                            has been updated to version&nbsp;2.3.2. The feature is still configured via mentioned
-                            <literal>ObjectMapper</literal>
-                            class, but the package has changed.
-                            <itemizedlist>
-                                <listitem>For<literal>jackson&nbsp;1.x</literal>, use
-                                    <literal>org.codehaus.jackson.map.ObjectMapper</literal>
-                                </listitem>
-                                <listitem>For<literal>jackson&nbsp;2.x</literal>, use
-                                    <literal>com.fasterxml.jackson.core.ObjectMapper</literal>
-                                </listitem>
-                            </itemizedlist>
-                        </para>
-                    </note>
-                </para>
-            </section>
-            <section xml:id="mig-1-x-json-notation">
-                <title>JSON Notation</title>
-                <para>
-                    Jersey&nbsp;1 was selecting the provider automatically based on the desired JSON Notation. This concept was
-                    replaced in Jersey&nbsp;2 by direct choice of provider (as shown above). To provide some guide how to achieve
-                    the same results as in the previous Jersey version, see the following list:
-                    <itemizedlist>
-                        <listitem>
-                            <para>
-                                <literal>MAPPED</literal>
-                                not supported
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                <literal>NATURAL</literal>
-                                default MOXy output
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                <literal>JETTISON_MAPPED</literal>
-                                supported by Jettison
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                <literal>BADGERFISH</literal>
-                                supported by Jettison
-                            </para>
-                        </listitem>
-                    </itemizedlist>
-                </para>
-            </section>
-            <section xml:id="mig-1-x-json-config">
-                <title>Configuration</title>
-                <para>
-                    As mentioned, the centralized configuration of Jersey&nbsp;1's
-                    <literal>JSONConfiguration</literal>
-                    does not have a direct equivalent in Jersey&nbsp;2. Each provider has its own way to be configured. Detailed
-                    description of each method and property is out of scope of this migration guide and can be found in the
-                    documentation and APIs of the relevant providers and/or the relevant Jersey module API. Bellow are several
-                    basic examples how to configure certain options when using MOXy with Jersey's
-                    <literal>MoxyJsonConfig</literal>
-                    class.
-
-                    <itemizedlist>
-                        <listitem>
-                            <para>
-                                <emphasis>Formated output</emphasis>
-                            </para>
-                            <para>Jersey&nbsp;1:
-                                <literal>JSONConfiguration.createJSONConfigurationWithFormatted()</literal>
-                            </para>
-                            <para>Jersey&nbsp;2/MOXy:
-                                <literal>MoxyJsonConfig.setFormattedOutput()</literal>
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                <emphasis>Namespaces mapping</emphasis>
-                            </para>
-                            <para>Jersey&nbsp;1:
-                                <literal>JSONConfiguration.natural().xml2JsonNs()</literal>
-                            </para>
-                            <para>Jersey&nbsp;2/MOXy:
-                                <literal>MoxyJsonConfig.setNamespacePrefixMapper()</literal>
-                            </para>
-                        </listitem>
-                        <listitem>
-                            <para>
-                                <emphasis>Namespace separator</emphasis>
-                            </para>
-                            <para>Jersey&nbsp;1:
-                                <literal>JSONConfiguration.natural().nsSeparator()</literal>
-                            </para>
-                            <para>Jersey&nbsp;2/MOXy:
-                                <literal>MoxyJsonConfig.setNamespaceSeparator()</literal>
-                            </para>
-                        </listitem>
-                    </itemizedlist>
-
-                    Properties can be also passed directly to
-                    <literal>Marshaller</literal>
-                    and/or
-                    <literal>Unmarshaller</literal>
-                    using: <literal>MoxyJsonConfig</literal>'s <literal>property()</literal>,
-                    <literal>marshallerProperty()</literal>
-                    and
-                    <literal>unmarshallerProperty()</literal>
-                    methods.
-                </para>
-            </section>
-            <para>
-                More on the JSON Support topic can be found in <xref linkend="json"/>.
-            </para>
-        </section>
-    </section>
 </chapter>
diff --git a/docs/src/main/docbook/modules.xml b/docs/src/main/docbook/modules.xml
index 6f029df..5981ced 100644
--- a/docs/src/main/docbook/modules.xml
+++ b/docs/src/main/docbook/modules.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -112,7 +112,7 @@
     jersey-container-jetty-http
 </link>
 </entry>
-<entry>Jetty Http Container</entry>
+<entry>Jetty Http Container (for JDK 11+)</entry>
 </row>
 <row>
 <entry>
@@ -144,7 +144,7 @@
     jersey-container-servlet
 </link>
 </entry>
-<entry>Jersey core Servlet 3.x implementation</entry>
+<entry>Jersey core Servlet 3.x/5.x implementation</entry>
 </row>
 <row>
 <entry>
@@ -152,7 +152,7 @@
     jersey-container-servlet-core
 </link>
 </entry>
-<entry>Jersey core Servlet 2.x implementation</entry>
+<entry>Jersey core Servlet 2.x way implementation with Jakarta EE 9 adjustments</entry>
 </row>
 <row>
 <entry>
@@ -230,17 +230,17 @@
     jersey-jetty-connector
 </link>
 </entry>
-<entry>Jersey Client Transport via Jetty</entry>
+<entry>Jersey Client Transport via Jetty (for JDK 11+)</entry>
 </row>
 <row>
-<entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-jetty-http2-connector/dependencies.html">
-    jersey-jetty-http2-connector
-</link>
-</entry>
-<entry>Jersey Client Transport via Jetty with HTTP/2 support</entry>
-</row>
-<row>
+    <row>
+        <entry>
+            <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-jetty-http2-connector/dependencies.html">
+                jersey-jetty-http2-connector
+            </link>
+        </entry>
+        <entry>Jersey Client Transport via Jetty (for JDK 11+) with HTTP/2 support</entry>
+    </row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-netty-connector/dependencies.html">
     jersey-netty-connector
@@ -288,14 +288,6 @@
 </row>
 <row>
 <entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-media-json-jackson1/dependencies.html">
-    jersey-media-json-jackson1
-</link>
-</entry>
-<entry>Jersey JSON Jackson (1.x) entity providers support module.</entry>
-</row>
-<row>
-<entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-media-json-jettison/dependencies.html">
     jersey-media-json-jettison
 </link>
@@ -308,7 +300,7 @@
     jersey-media-json-processing
 </link>
 </entry>
-<entry>Jersey JSON-P (JSR 353) entity providers support proxy module.</entry>
+<entry>Jersey Jakarta JSON Processing entity providers support proxy module.</entry>
 </row>
 <row>
 <entry>
@@ -526,30 +518,6 @@
 </row>
 <row>
 <entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-servlet-portability/dependencies.html">
-    jersey-servlet-portability
-</link>
-</entry>
-<entry>Library that enables writing web applications that run with both Jersey 1.x and Jersey 2.x servlet containers.</entry>
-</row>
-<row>
-<entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-spring4/dependencies.html">
-    jersey-spring4
-</link>
-</entry>
-<entry>Jersey extension module providing support for Spring 4 integration.</entry>
-</row>
-<row>
-<entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-spring5/dependencies.html">
-    jersey-spring5
-</link>
-</entry>
-<entry>Jersey extension module providing support for Spring 5 integration.</entry>
-</row>
-<row>
-<entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/jersey-wadl-doclet/dependencies.html">
     jersey-wadl-doclet
 </link>
@@ -586,7 +554,7 @@
     container-runner-maven-plugin
 </link>
 </entry>
-<entry>The container runner maven plugin provides means to start and stop a container (currently, Weblogic, Tomcat and Glassfish4
+<entry>The container runner maven plugin provides means to start and stop a container (currently Tomcat 10 and Glassfish 6
         are supported). To deploy an application to this container or to repetitively redeploy and test an application in the container.</entry>
 </row>
 <row>
@@ -745,7 +713,7 @@
     jersey-test-framework-provider-jetty
 </link>
 </entry>
-<entry>Jersey Test Framework - Jetty HTTP container</entry>
+<entry>Jersey Test Framework - Jetty HTTP container (for JDK 11+)</entry>
 </row>
 <row>
 <entry>
@@ -847,6 +815,7 @@
         <tbody>
 <row>
 <entry>
+<!--
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/osgi-helloworld-webapp/additional-bundle/dependencies.html">
     additional-bundle
 </link>
@@ -863,12 +832,14 @@
 </row>
 <row>
 <entry>
+-->
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/assemblies/dependencies.html">
     assemblies
 </link>
 </entry>
 <entry>Jersey examples shared assembly types.</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/bean-validation-webapp/dependencies.html">
@@ -893,6 +864,7 @@
 </entry>
 <entry>Jersey Bookmark example using EntityManager.</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/bookstore-webapp/dependencies.html">
@@ -901,6 +873,7 @@
 </entry>
 <entry>Jersey MVC Bookstore example.</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/osgi-http-service/bundle/dependencies.html">
@@ -909,6 +882,7 @@
 </entry>
 <entry>OSGi HttpService example bundle</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/cdi-webapp/dependencies.html">
@@ -973,6 +947,7 @@
 </entry>
 <entry>Jersey example showing exception mappers in action.</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/extended-wadl-webapp/dependencies.html">
@@ -997,6 +972,7 @@
 </entry>
 <entry>Jersey Flight Management Demo Web Application Example</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/freemarker-webapp/dependencies.html">
@@ -1005,6 +981,7 @@
 </entry>
 <entry>Jersey Freemarker example.</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/osgi-helloworld-webapp/functional-test/dependencies.html">
@@ -1021,6 +998,7 @@
 </entry>
 <entry>OSGi HttpService example</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/groovy/dependencies.html">
@@ -1079,22 +1057,6 @@
 </row>
 <row>
 <entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/helloworld-spring-annotations/dependencies.html">
-    helloworld-spring-annotations
-</link>
-</entry>
-<entry>Spring 4 Integration Jersey Example</entry>
-</row>
-<row>
-<entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/helloworld-spring-webapp/dependencies.html">
-    helloworld-spring-webapp
-</link>
-</entry>
-<entry>Spring 4 Integration Jersey Example</entry>
-</row>
-<row>
-<entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/helloworld-webapp/dependencies.html">
     helloworld-webapp
 </link>
@@ -1193,14 +1155,6 @@
 </row>
 <row>
 <entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/json-jackson1/dependencies.html">
-    json-jackson1
-</link>
-</entry>
-<entry>Jersey JSON with Jackson 1.x example.</entry>
-</row>
-<row>
-<entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/json-jettison/dependencies.html">
     json-jettison
 </link>
@@ -1221,7 +1175,7 @@
     json-processing-webapp
 </link>
 </entry>
-<entry>Jersey JSON-P (JSR 353) example.</entry>
+<entry>Jersey Jakarta JSON Processing example.</entry>
 </row>
 <row>
 <entry>
@@ -1231,6 +1185,7 @@
 </entry>
 <entry>Jersey JSON with Padding example.</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/osgi-helloworld-webapp/lib-bundle/dependencies.html">
@@ -1239,6 +1194,7 @@
 </entry>
 <entry>OSGi Helloworld Webapp - lib bundle</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/managed-beans-webapp/dependencies.html">
@@ -1271,6 +1227,7 @@
 </entry>
 <entry>Jersey managed client web application example.</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/monitoring-webapp/dependencies.html">
@@ -1279,6 +1236,7 @@
 </entry>
 <entry>Jersey Web Application (Servlet) examples parent POM.</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/multipart-webapp/dependencies.html">
@@ -1289,29 +1247,13 @@
 </row>
 <row>
 <entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/oauth-client-twitter/dependencies.html">
-    oauth-client-twitter
-</link>
-</entry>
-<entry>Twitter client using OAuth 1 support for Jersey that retrieves Tweets from the home timeline of a
-        registered Twitter account.</entry>
-</row>
-<row>
-<entry>
-<link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/oauth2-client-google-webapp/dependencies.html">
-    oauth2-client-google-webapp
-</link>
-</entry>
-<entry>Google API data retrieving example using OAuth2 for authentication and authorization</entry>
-</row>
-<row>
-<entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/open-tracing/dependencies.html">
     open-tracing
 </link>
 </entry>
 <entry>Jersey OpenTracing example</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/osgi-helloworld-webapp/dependencies.html">
@@ -1336,6 +1278,7 @@
 </entry>
 <entry>Jersey resource configuration reload example.</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/rx-client-webapp/dependencies.html">
@@ -1390,7 +1333,7 @@
     server-sent-events-jaxrs
 </link>
 </entry>
-<entry>Jersey JAX-RS 2.1 Server-Sent Events example.</entry>
+<entry>Jersey JAX-RS 2.1/3.0 Server-Sent Events example.</entry>
 </row>
 <row>
 <entry>
@@ -1408,6 +1351,7 @@
 </entry>
 <entry>Jersey Servlet 3 example with missing servlet-class in the web.xml file</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/shortener-webapp/dependencies.html">
@@ -1416,6 +1360,7 @@
 </entry>
 <entry>Jersey Shortener Webapp (MVC + Bean Validation).</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/simple-console/dependencies.html">
@@ -1424,6 +1369,7 @@
 </entry>
 <entry>Jersey Simple Console example</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/sparklines/dependencies.html">
@@ -1432,13 +1378,14 @@
 </entry>
 <entry>Jersey examples</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/sse-item-store-jaxrs-webapp/dependencies.html">
     sse-item-store-jaxrs-webapp
 </link>
 </entry>
-<entry>Jersey JAX-RS 2.1 SSE API-based item store example.</entry>
+<entry>Jersey JAX-RS 2.1/3.0 SSE API-based item store example.</entry>
 </row>
 <row>
 <entry>
@@ -1464,6 +1411,7 @@
 </entry>
 <entry>Jersey system properties example.</entry>
 </row>
+<!--
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/tone-generator/dependencies.html">
@@ -1480,6 +1428,7 @@
 </entry>
 <entry>OSGi Helloworld Webapp WAR bundle</entry>
 </row>
+-->
 <row>
 <entry>
 <link xlink:href="https://eclipse-ee4j.github.io/jersey.github.io/project-info/&version;/jersey/project/webapp-example-parent/dependencies.html">
diff --git a/docs/src/main/docbook/monitoring.xml b/docs/src/main/docbook/monitoring.xml
index 0f561e9..8583355 100644
--- a/docs/src/main/docbook/monitoring.xml
+++ b/docs/src/main/docbook/monitoring.xml
@@ -353,8 +353,8 @@
                 </example>
                 <para>
                     &jersey.server.monitoring.MonitoringStatistics; are
-                    injected into the resource using an &jee6.javax.inject.Inject; annotation.
-                    Please note the usage of the &jee6.javax.inject.Provider; for injection (it will be discussed later).
+                    injected into the resource using an &jee9.jakarta.inject.Inject; annotation.
+                    Please note the usage of the &jee9.jakarta.inject.Provider; for injection (it will be discussed later).
                     Firstly, the snapshot of statistics is retrieved by the <literal>snapshot()</literal> method.
                     The snapshot of statistics is an immutable copy of statistics which does not change over the time.
                     Additionally, data in a snapshot are consistent. It's recommended to create snapshots before working with
@@ -451,11 +451,11 @@
                     on &lit.jersey.server.monitoring.TimeWindowStatistics; again.
                 </para>
                 <para>
-                    Statistics are injected using the &jee6.javax.inject.Provider;. This is preferred way of
+                    Statistics are injected using the &jee9.jakarta.inject.Provider;. This is preferred way of
                     injecting statistics. The reason is simple. Statistics might change over time and contract
                     of &lit.jersey.server.monitoring.MonitoringStatistics; does not make any assumptions about mutability of
                     monitoring statistics instances (to allow future optimizations and changes in implementation strategy). In
-                    order to get always latest statistics, we recommend injecting a &jee6.javax.inject.Provider; rather than a
+                    order to get always latest statistics, we recommend injecting a &jee9.jakarta.inject.Provider; rather than a
                     direct reference and use its <literal>get()</literal> method to retrieve the latest statistics. For example,
                     in singleton resources the use of the technique is very important otherwise statistics might correspond
                     to the time when singleton was firstly created and might not update since that time.
@@ -475,14 +475,6 @@
             </section>
             <section>
                 <title>Monitoring Statistics as MBeans</title>
-                <note>
-                    <para>
-                        Jersey examples contains a
-                        <link xlink:href='&jersey.github.examples.uri;/monitoring-webapp'>Monitoring Web Application Example</link>
-                        which demonstrates usage of MBean statistics.
-                    </para>
-                </note>
-
                 <para>
                     Jersey provides feature to expose monitoring statistics as JMX MXBeans.
                     In order to enable monitoring statistics MXBeans exposure, the
@@ -885,7 +877,7 @@
 ...
 X-Jersey-Tracing-033: WI          [ 0.00 / 23.39 ms |  0.02 %] [org.glassfish.jersey.server.mvc.internal.TemplateMethodInterceptor @141bcd49 #4000] BEFORE context.proceed()
 X-Jersey-Tracing-034: WI          [ 0.01 / 23.42 ms |  0.02 %] [org.glassfish.jersey.filter.LoggingFilter @2d427def #-2147483648] BEFORE context.proceed()
-X-Jersey-Tracing-035: MBW         [ ---- / 23.45 ms |  ---- %] Find MBW for type=[org.glassfish.jersey.server.mvc.internal.ImplicitViewable] genericType=[org.glassfish.jersey.server.mvc.internal.ImplicitViewable] mediaType=[[javax.ws.rs.core.MediaType @7bfbfeae]] annotations=[]
+X-Jersey-Tracing-035: MBW         [ ---- / 23.45 ms |  ---- %] Find MBW for type=[org.glassfish.jersey.server.mvc.internal.ImplicitViewable] genericType=[org.glassfish.jersey.server.mvc.internal.ImplicitViewable] mediaType=[[jakarta.ws.rs.core.MediaType @7bfbfeae]] annotations=[]
 X-Jersey-Tracing-036: MBW         [ ---- / 23.52 ms |  ---- %] [org.glassfish.jersey.server.mvc.internal.ViewableMessageBodyWriter @78b353d4] IS writeable
 X-Jersey-Tracing-037: MVC         [ ---- / 24.05 ms |  ---- %] Forwarding view to JSP page [/org/glassfish/jersey/examples/bookstore/webapp/resource/Track/index.jsp], model [org.glassfish.jersey.examples.bookstore.webapp.resource.Track @3937f594]
 X-Jersey-Tracing-038: MBW         [ 1.09 / 24.63 ms |  4.39 %] WriteTo by [org.glassfish.jersey.server.mvc.internal.ViewableMessageBodyWriter @78b353d4]
diff --git a/docs/src/main/docbook/mvc.xml b/docs/src/main/docbook/mvc.xml
index 4f7b5bb..f4bf93f 100644
--- a/docs/src/main/docbook/mvc.xml
+++ b/docs/src/main/docbook/mvc.xml
@@ -55,7 +55,7 @@
         <para>
             In this approach a resource method explicitly returns a reference to a view template and the data model to be
             used. For this purpose the &jersey.server.mvc.Viewable; class has been introduced in Jersey 1 and is also
-            present (under a different package) in Jersey 2. A simple example of usage can be seen in
+            present (under a different package) in Jersey 2 and 3. A simple example of usage can be seen in
             <xref linkend="mvc.example.viewable.simple"/>.
 
             <example xml:id="mvc.example.viewable.simple">
@@ -284,10 +284,10 @@
 
         <para>
             In addition to &jersey.server.mvc.Template; an &jersey.server.mvc.ErrorTemplate; annotation has been introduced in
-            Jersey 2.3. The purpose of this annotation is to bind the model to an error view in case an exception has been raised during
-            processing of a request. This is true for any exception thrown after the resource matching phase (i.e. this not only
-            applies to JAX-RS resources but providers and even Jersey runtime as well). The model in this case is the thrown exception
-            itself.
+            Jersey 2.3 (valid for Jersey 3.x as well). The purpose of this annotation is to bind the model to an error view in
+            case an exception has been raised during processing of a request. This is true for any exception thrown after the
+            resource matching phase (i.e. this not only applies to JAX-RS resources but providers and even Jersey runtime as
+            well). The model in this case is the thrown exception itself.
         </para>
         <para>
             <xref linkend="mvc.example.error.simple"/> shows how to use &lit.jersey.server.mvc.ErrorTemplate; on a resource method.
@@ -419,7 +419,7 @@
     <servlet-name>org.glassfish.jersey.examples.freemarker.MyApplication</servlet-name>
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
     <init-param>
-        <param-name>javax.ws.rs.Application</param-name>
+        <param-name>jakarta.ws.rs.Application</param-name>
         <param-value>org.glassfish.jersey.examples.freemarker.MyApplication</param-value>
     </init-param>
     <init-param>
diff --git a/docs/src/main/docbook/representations.xml b/docs/src/main/docbook/representations.xml
index 0e00786..50515d6 100644
--- a/docs/src/main/docbook/representations.xml
+++ b/docs/src/main/docbook/representations.xml
@@ -49,17 +49,17 @@
 				<listitem><literal>java.lang.String</literal></listitem>
 				<listitem><literal>java.io.Reader</literal> (inbound only)</listitem>
 				<listitem><literal>java.io.File</literal></listitem>
-				<listitem><literal>javax.activation.DataSource</literal></listitem>
-				<listitem><literal>javax.ws.rs.core.StreamingOutput</literal> (outbound only)</listitem>
+				<listitem><literal>jakarta.activation.DataSource</literal></listitem>
+				<listitem><literal>jakarta.ws.rs.core.StreamingOutput</literal> (outbound only)</listitem>
             		</itemizedlist>
 		</listitem>
             	<listitem>XML media types (<literal>text/xml</literal>, <literal>application/xml</literal> and <literal>application/...+xml</literal>)
             		<itemizedlist>
             			<listitem><literal>javax.xml.transform.Source</literal></listitem>
-            			<listitem><literal>javax.xml.bind.JAXBElement</literal></listitem>
+            			<listitem><literal>jakarta.xml.bind.JAXBElement</literal></listitem>
             			<listitem>Application supplied JAXB classes (types annotated with
-	    <link xlink:href="http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlRootElement.html">@XmlRootElement</link>
-	    or<link xlink:href="http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlType.html">@XmlType</link>)</listitem>
+	    <link xlink:href="http://docs.oracle.com/javase/6/docs/api/jakarta.xml.bind/annotation/XmlRootElement.html">@XmlRootElement</link>
+	    or<link xlink:href="http://docs.oracle.com/javase/6/docs/api/jakarta.xml.bind/annotation/XmlType.html">@XmlType</link>)</listitem>
              		</itemizedlist>
             	</listitem>
                 <listitem>Form content (<literal>application/x-www-form-urlencoded</literal>)
@@ -259,7 +259,7 @@
             response. For such cases it is possible to use a custom exception mapping provider. The provider must implement
             the &jaxrs.ext.ExceptionMapper; interface. For example, the following
             maps the
-            <link xlink:href="http://docs.oracle.com/javaee/5/api/javax/persistence/EntityNotFoundException.html">EntityNotFoundException</link>
+            <link xlink:href="http://docs.oracle.com/javaee/5/api/jakarta.persistence/EntityNotFoundException.html">EntityNotFoundException</link>
             to a HTTP 404 (Not Found) response:
         </para>
 
@@ -267,8 +267,8 @@
             <example>
                 <title>Mapping generic exceptions to responses</title>
                 <programlisting language="java" linenumbering="numbered">@Provider
-public class EntityNotFoundMapper implements ExceptionMapper&lt;javax.persistence.EntityNotFoundException&gt; {
-  public Response toResponse(javax.persistence.EntityNotFoundException ex) {
+public class EntityNotFoundMapper implements ExceptionMapper&lt;jakarta.persistence.EntityNotFoundException&gt; {
+  public Response toResponse(jakarta.persistence.EntityNotFoundException ex) {
     return Response.status(404).
       entity(ex.getMessage()).
       type("text/plain").
@@ -280,7 +280,7 @@
 
         <para>The above class is annotated with &jaxrs.ext.Provider;, this declares that the class is of interest to the JAX-RS runtime. Such a
             class may be added to the set of classes of the &jaxrs.core.Application; instance that is configured. When an application throws an
-            <link xlink:href="http://docs.oracle.com/javaee/6/api/javax/persistence/EntityNotFoundException.html">EntityNotFoundException</link>
+            <link xlink:href="http://docs.oracle.com/javaee/6/api/jakarta.persistence/EntityNotFoundException.html">EntityNotFoundException</link>
             the
             <literal>toResponse</literal>
             method of the
@@ -350,15 +350,15 @@
             root
             resource class computes an entity tag from the request URI and then calls
             the
-            <link xlink:href="&jaxrs.javadoc.uri;/core/Request.html#evaluatePreconditions(javax.ws.rs.core.EntityTag)">request.evaluatePreconditions</link>
+            <link xlink:href="&jaxrs.javadoc.uri;/core/Request.html#evaluatePreconditions(jakarta.ws.rs.core.EntityTag)">request.evaluatePreconditions</link>
             with that entity tag. If a client request contains an
             <literal>If-None-Match</literal>
             header with a value that contains the
             same entity tag that was calculated then the
-            <link xlink:href="&jaxrs.javadoc.uri;/core/Request.html#evaluatePreconditions(javax.ws.rs.core.EntityTag)">evaluatePreconditions</link>
+            <link xlink:href="&jaxrs.javadoc.uri;/core/Request.html#evaluatePreconditions(jakarta.ws.rs.core.EntityTag)">evaluatePreconditions</link>
             returns a pre-filled out response, with the 304 status code and entity tag
             set, that may be built and returned. Otherwise,
-            <link xlink:href="&jaxrs.javadoc.uri;/core/Request.html#evaluatePreconditions(javax.ws.rs.core.EntityTag)">evaluatePreconditions</link>
+            <link xlink:href="&jaxrs.javadoc.uri;/core/Request.html#evaluatePreconditions(jakarta.ws.rs.core.EntityTag)">evaluatePreconditions</link>
             returns
             <literal>null</literal>
             and the normal response can be
diff --git a/docs/src/main/docbook/resource-builder.xml b/docs/src/main/docbook/resource-builder.xml
index 0c4d2be..44185ef 100644
--- a/docs/src/main/docbook/resource-builder.xml
+++ b/docs/src/main/docbook/resource-builder.xml
@@ -94,9 +94,9 @@
                 <programlisting language="java" linenumbering="numbered">
                     package org.glassfish.jersey.examples.helloworld;
 
-                    import javax.ws.rs.container.ContainerRequestContext;
-                    import javax.ws.rs.core.Application;
-                    import javax.ws.rs.core.Response;
+                    import jakarta.ws.rs.container.ContainerRequestContext;
+                    import jakarta.ws.rs.core.Application;
+                    import jakarta.ws.rs.core.Response;
                     import org.glassfish.jersey.process.Inflector;
                     import org.glassfish.jersey.server.ResourceConfig;
                     import org.glassfish.jersey.server.model.Resource;
@@ -161,10 +161,10 @@
                 If you deploy your Jersey application into a Servlet container you will need to provide a &jaxrs.core.Application;
                 subclass that will be used for configuration. You may use a <literal>web.xml</literal> where you would define a
                 <literal>org.glassfish.jersey.servlet.ServletContainer</literal> Servlet entry there and specify initial parameter
-                <literal>javax.ws.rs.Application</literal> with the class name of your JAX-RS Application that you
+                <literal>jakarta.ws.rs.Application</literal> with the class name of your JAX-RS Application that you
                 wish to deploy. In the example above, this application will be <literal>MyResourceConfig</literal> class. This is
                 the reason why <literal>MyResourceConfig</literal> extends the &lit.jersey.server.ResourceConfig; (which, if you
-                remember extends the <literal>javax.ws.rs.Application</literal>).
+                remember extends the <literal>jakarta.ws.rs.Application</literal>).
             </para>
             <para>
                 The following example shows a fragment of <literal>web.xml</literal> that can be used to deploy the
@@ -177,7 +177,7 @@
                             &lt;servlet-name&gt;org.glassfish.jersey.examples.helloworld.MyApplication&lt;/servlet-name&gt;
                             &lt;servlet-class&gt;org.glassfish.jersey.servlet.ServletContainer&lt;/servlet-class&gt;
                             &lt;init-param&gt;
-                                &lt;param-name&gt;javax.ws.rs.Application&lt;/param-name&gt;
+                                &lt;param-name&gt;jakarta.ws.rs.Application&lt;/param-name&gt;
                                 &lt;param-value&gt;org.glassfish.jersey.examples.helloworld.MyResourceConfig&lt;/param-value&gt;
                             &lt;/init-param&gt;
                             &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
@@ -226,7 +226,7 @@
             In the example above the <literal>Resource</literal> is built from
             a <literal>HelloWorldResource</literal> resource class. The resource model built this way
             contains a &lit.http.GET; method producing <literal>'text/plain'</literal> responses with "Hello World!" entity.
-            This is quite important as it allows you to build any Resource objects based on introspecting
+            This is quite important as it allows you to build whatever Resource objects based on introspecting
             existing JAX-RS resources and use builder API to enhance such these standard resources.
             In the example we used already implemented <literal>HelloWorldResource</literal> resource class
             and enhanced it by &lit.http.OPTIONS; method. The &lit.http.OPTIONS; method is handled by an Inflector which
@@ -286,15 +286,15 @@
             <example>
                 <title>A programmatic resource</title>
                 <programlisting language="java" linenumbering="numbered">
-                    import javax.ws.rs.GET;
-                    import javax.ws.rs.Path;
-                    import javax.ws.rs.Produces;
-                    import javax.ws.rs.container.ContainerRequestContext;
-                    import javax.ws.rs.core.Application;
-                    import javax.ws.rs.core.Configuration;
-                    import javax.ws.rs.core.MediaType;
-                    import javax.ws.rs.core.Response;
-                    import javax.ws.rs.ext.Provider;
+                    import jakarta.ws.rs.GET;
+                    import jakarta.ws.rs.Path;
+                    import jakarta.ws.rs.Produces;
+                    import jakarta.ws.rs.container.ContainerRequestContext;
+                    import jakarta.ws.rs.core.Application;
+                    import jakarta.ws.rs.core.Configuration;
+                    import jakarta.ws.rs.core.MediaType;
+                    import jakarta.ws.rs.core.Response;
+                    import jakarta.ws.rs.ext.Provider;
 
                     import org.glassfish.jersey.process.Inflector;
                     import org.glassfish.jersey.server.model.ModelProcessor;
diff --git a/docs/src/main/docbook/rx-client.xml b/docs/src/main/docbook/rx-client.xml
index d1856db..0f1b89b 100644
--- a/docs/src/main/docbook/rx-client.xml
+++ b/docs/src/main/docbook/rx-client.xml
@@ -38,6 +38,7 @@
     <warning>
         <para>
             Jersey 2.26 (JAX-RS 2.1 implementation) dropped Jersey-proprietary API in favor of JAX-RS 2.1 Reactive Client API.
+            For Jersey 3.x this approach is still valid.
         </para>
     </warning>
 
@@ -479,7 +480,7 @@
 client.register(RxFlowableInvokerProvider.class);
 
 Flowable&lt;String&gt; responseFlowable =
-        client.target("http://jersey.java.net")
+        client.target("http://eclipse-ee4j.github.io/jersey")
               .request()
               .rx(RxFlowableInvoker.class)
               .get(String.class);
@@ -722,7 +723,7 @@
                         <title>Obtaining ListenableFuture&lt;Response&gt; from Jersey/Guava Client</title>
 
                         <programlisting language="java" linenumbering="numbered">
-ListenableFuture&lt;Response&gt; response = client.target("http://jersey.java.net")
+ListenableFuture&lt;Response&gt; response = client.target("http://eclipse-ee4j.github.io/jersey")
                                             .request()
                                             .rx(RxListenableFutureInvoker.class)
                                             .get();
@@ -827,7 +828,7 @@
 client.register(CompletionStageRxInvokerProvider.class);
 
 CompletionStage&lt;Response&gt; response =
-        client.target("http://jersey.java.net")
+        client.target("http://eclipse-ee4j.github.io/jersey")
               .request()
               .rx(CompletionStageRxInvoker.class)
               // Now we have an instance of CompletionStageRxInvoker returned from our registered RxInvokerProvider,
diff --git a/docs/src/main/docbook/security.xml b/docs/src/main/docbook/security.xml
index 5cf0697..80c6fdc 100644
--- a/docs/src/main/docbook/security.xml
+++ b/docs/src/main/docbook/security.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!--
 
-    Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -41,7 +41,7 @@
                 Security information of a request is available by injecting a JAX-RS &jaxrs.core.SecurityContext; instance
                 using &jaxrs.core.Context;
                 annotation. The injected security context instance provides the equivalent of the functionality available on
-                &jee6.servlet.HttpServletRequest; API.
+                &jee9.servlet.HttpServletRequest; API.
                 The injected security context depends on the actual Jersey application deployment. For example, for a
                 Jersey application deployed in a Servlet container, the Jersey &lit.jaxrs.core.SecurityContext; will
                 encapsulate information from a security context retrieved from the Servlet request.
@@ -171,7 +171,7 @@
             </section>
 
             <section xml:id="annotation-based-security">
-                <title>Securing JAX-RS resources with standard <literal>javax.annotation.security</literal> annotations</title>
+                <title>Securing JAX-RS resources with standard <literal>jakarta.annotation.security</literal> annotations</title>
 
                 <para>
                     With Jersey you can define the access to resources based on the user group using annotations. You
@@ -202,10 +202,10 @@
                 </para>
                 <para>
                     Once the feature is registered, you can use annotations from package
-                    <literal>javax.annotation.security</literal> defined by JSR-250. See the following example.
+                    <literal>jakarta.annotation.security</literal> defined by JSR-250. See the following example.
 
                     <example>
-                        <title>Applying <literal>javax.annotation.security</literal> to JAX-RS resource methods.</title>
+                        <title>Applying <literal>jakarta.annotation.security</literal> to JAX-RS resource methods.</title>
                         <programlisting language="java" linenumbering="numbered"><![CDATA[@Path("/")
 @PermitAll
 public class Resource {
@@ -225,13 +225,13 @@
                     </example>
 
                     The resource class <literal>Resource</literal> defined in the example is annotated with a
-                    &jee6.annotations.PermitAll; annotation. This means that all methods in the class which do not
+                    &jee9.annotations.PermitAll; annotation. This means that all methods in the class which do not
                     override this
                     annotation will be permitted for all user groups (no restrictions are defined). In our example, the
                     annotation will only apply to the <literal>getSubResource()</literal> method as it is the only method
                     that does not override the annotation by defining custom role-based security settings using the
-                    &jee6.annotations.RolesAllowed; annotation.
-                    &lit.jee6.annotations.RolesAllowed; annotations present on the other methods define a role or a set of
+                    &jee9.annotations.RolesAllowed; annotation.
+                    &lit.jee9.annotations.RolesAllowed; annotations present on the other methods define a role or a set of
                     roles that are allowed to execute a particular method.
                 </para>
                 <para>
@@ -510,8 +510,9 @@
                         </listitem>
                     </itemizedlist>
 
-                    An example of how Jersey OAuth 1 client API is used can be found in
-                    the &jersey.github.oauth1.twitter.client.example.link;. The following code snippets are extracted from the
+                    An example of how Jersey OAuth 1 client API is used was in
+                    the &jersey.github.oauth1.twitter.client.example.link; but for now it's temporally removed from examples.
+                    The following code snippets are extracted from the
                     example and explain how to use the Jersey OAuth client API.
                 </para>
                 <para>
@@ -571,9 +572,9 @@
                     of our application.
                     Then the user gets a verifier and enters it back to the console. However, if our application would be a
                     web application, we would need to return a redirection response to the user in order to redirect the user
-                    automatically to the <literal>authorizationUri</literal>. For more information about server deployment,
+                    automatically to the <literal>authorizationUri</literal>. <!--For more information about server deployment,
                     check our &jersey.github.oauth2.google.client.example.link;, where the client is part of the
-                    web application (the client API for OAuth 2 is similar to OAuth 1).
+                    web application (the client API for OAuth 2 is similar to OAuth 1).-->
                 </para>
 
                 <para>
@@ -841,8 +842,8 @@
                     Between the calls to <literal>flow.start()</literal> and <literal>flow.finish()</literal>, a user
                     must be redirected to the authorization URI. This means that the code will not be executed in
                     a single method and the finish part will be invoked as a handler of redirect request back to our web from
-                    authorization URI. Check the &jersey.github.oauth2.google.client.example.link; for more details on
-                    this approach.
+                    authorization URI. <!--Check the &jersey.github.oauth2.google.client.example.link; for more details on
+                    this approach.-->
                 </para>
             </section>
         </section>
diff --git a/docs/src/main/docbook/spring.xml b/docs/src/main/docbook/spring.xml
index 0b7568e..ddae2af 100644
--- a/docs/src/main/docbook/spring.xml
+++ b/docs/src/main/docbook/spring.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -48,8 +48,8 @@
         must themselves be managed by Spring, by annotating with <literal>@Component</literal>, <literal>@Service</literal>,
         <literal>@Controller</literal> or <literal>@Repository</literal>:
 
-        <programlisting language="java" linenumbering="numbered">import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+        <programlisting language="java" linenumbering="numbered">import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 import org.springframework.stereotype.Component;
 
 @Component
diff --git a/docs/src/main/docbook/sse.xml b/docs/src/main/docbook/sse.xml
index 01daec9..2b5a314 100644
--- a/docs/src/main/docbook/sse.xml
+++ b/docs/src/main/docbook/sse.xml
@@ -135,9 +135,8 @@
         <title>Server-Sent Events API</title>
         <para>
             In previous JAX-RS versions, no standard API for server-sent events was defined. The SSE support bundled with
-            Jersey was Jersey-specific. With JAX-RS 2.1, situation changed and SSE API is well defined in the
-            <literal>javax.ws.rs.sse</literal>
-            package.
+            Jersey was Jersey-specific. With JAX-RS 2.1 (with respect to namespace change after jakartification),
+            situation changed and SSE API is well defined in the <literal>jakarta.ws.rs.sse</literal> package.
         </para>
         <para>Following chapters will describe the new SSE API. For backwards compatibility reasons, the original
             Jersey-specific API remains valid and will be described in
@@ -149,7 +148,7 @@
             the instances of SSE related classes are not to be obtained manually by invoking constructors, nor to be directly
             returned from the resource methods.
             Actually, the implementing classes in the <literal>jersey.media.sse.internal</literal> package should never be needed
-            to be imported. The only API to be used is directly in the JAX-RS package (<literal>javax.ws.rs.sse</literal>).
+            to be imported. The only API to be used is directly in the JAX-RS package (<literal>jakarta.ws.rs.sse</literal>).
             Only builders in the API along with dependency injection should be used and provides access to the entire
             functionality.
         </para>
@@ -177,9 +176,9 @@
                 dependencies and injects the &jaxrs21.sse.SseEventSink; (represents the output) and &jaxrs21.sse.Sse; (provides
                 factory methods for other SSE related types, in this case it is used to retrieve the event builder).
                 <programlisting language="java" linenumbering="numbered">...
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.OutboundSseEvent;
 ...
 
 @Path("events")
@@ -218,9 +217,9 @@
             <para>
                 In the <xref linkend="example-simple-sse-jaxrs"/>, the resource method creates a new thread that sends a
                 sequence of 10 events. There is a 1 second delay between two subsequent events as indicated in a comment. Each
-                event is represented by <literal>javax.ws.rs.sse.OutboundSseEvent</literal> type and is built with a help of a
+                event is represented by <literal>jakarta.ws.rs.sse.OutboundSseEvent</literal> type and is built with a help of a
                 provided <literal>Builder</literal>. The <literal>Builder</literal> is obtain via the injected instance
-                (actually, it is a singleton) of <literal>javax.ws.rs.sse.Sse</literal> (the
+                (actually, it is a singleton) of <literal>jakarta.ws.rs.sse.Sse</literal> (the
                 <literal>newEventBuilder()</literal>
                 method). The <literal>OutboundSseEvent</literal> implementation reflects the standardized format of
                 SSE messages and contains properties that represent <literal>name</literal> (for named events),
@@ -325,11 +324,11 @@
                 clients. A simple broadcasting implementation is shown in the following example:
 
                 <example>
-                    <title>Broadcasting SSE messages (with JAX-RS 2.1 API)</title>
+                    <title>Broadcasting SSE messages (with JAX-RS 3.0 API)</title>
                     <programlisting language="java" linenumbering="numbered">...
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseBroadcaster;
 ...
 
 @Singleton
@@ -367,7 +366,7 @@
                     </programlisting>
                 </example>
                 Let's explore the example together. The <literal>BroadcasterResource</literal> resource class is annotated with
-                &jee6.inject.Singleton; annotation which tells Jersey runtime that only a single instance of the resource
+                &jee9.inject.Singleton; annotation which tells Jersey runtime that only a single instance of the resource
                 class should be used to serve all the incoming requests to <literal>/broadcast</literal> path. This is needed as
                 we want to keep an application-wide single reference to the private <literal>broadcaster</literal> field so
                 we can use the same instance for all requests. Clients that want to listen to SSE events first send a
@@ -420,14 +419,14 @@
         <title>Consuming SSE events within Jersey clients</title>
         <para>
             On the client side, push programming model is used (event consumer / client) gets asynchronously notified about
-            incoming events by subscribing custom listener to <literal>javax.ws.rs.sse.SseEventSource</literal>. This happens by
+            incoming events by subscribing custom listener to <literal>jakarta.ws.rs.sse.SseEventSource</literal>. This happens by
             invoking one of its <literal>subscribe()</literal> methods.
         </para>
         <para>
             The usage of <literal>SseEventSource</literal> is shown in the following example.
             <example xml:id="sse-event-source-example">
                 <title>Consuming SSE events with SseEventSource</title>
-                <programlisting language="java" linenumbering="numbered">import javax.ws.rs.sse.SseEventSource;
+                <programlisting language="java" linenumbering="numbered">import jakarta.ws.rs.sse.SseEventSource;
 ...
 Client client = ClientBuilder.newBuilder().build();
 WebTarget target = client.target("http://example.com/events");
@@ -446,15 +445,15 @@
             is deployed. The &jaxrs.client.Client; instance
             is created (and initialized with &jersey.sse.SseFeature; automatically). Then the &jaxrs.client.WebTarget; is built.
             In this case a request to the web target is not made directly in the code, instead, the web target instance
-            is used to initialize a new &javax.ws.rs.sse.SseEventSource.Builder; instance that is used to build a new
-            &javax.ws.rs.sse.SseEventSource;. The choice of <literal>build()</literal> method is important, as it tells
+            is used to initialize a new &jakarta.ws.rs.sse.SseEventSource.Builder; instance that is used to build a new
+            &jakarta.ws.rs.sse.SseEventSource;. The choice of <literal>build()</literal> method is important, as it tells
             the <literal>SseEventSource.Builder</literal> to create a new <literal>SseEventSource</literal> that is not
             automatically connected to the <literal>target</literal>. The connection is established only later by manually
             invoking the <literal>sseEventSource.open()</literal> method. A custom
             <literal>java.util.function.Consumer&lt;InboundSseEvent&gt;</literal>
             implementation is used to listen to and
             process incoming SSE events. The method readData(Class) says that the
-            event data should be de-serialized from a received &javax.ws.rs.sse.InboundSseEvent; instance into a
+            event data should be de-serialized from a received &jakarta.ws.rs.sse.InboundSseEvent; instance into a
             <literal>String</literal>
             Java type. This method call internally executes &jaxrs.ext.MessageBodyReader; which
             de-serializes the event data. This is similar to reading an entity from the &jaxrs.core.Response; by
@@ -507,6 +506,7 @@
 onComplete);
                 </programlisting>
             </example>
+
                 Few notes to the <literal>subscribe()</literal> methods:
                 <itemizedlist>
                     <listitem>
@@ -541,7 +541,7 @@
                             This gives the subscriber a tool to manage the load and do a back-pressure by incrementally
                             requesting only certain amount of items. When <literal>SseEventSource</literal> registers a new
                             subscriber, it calls its <literal>onSubscribe</literal> handler and hands over the
-                            <literal>javax.ws.rs.sse.SseSubscription</literal>
+                            <literal>jakarta.ws.rs.sse.SseSubscription</literal>
                             instance. This class only has two methods -
                             <literal>request(long)</literal>
                             for asking for a certain amount of events (often used as
@@ -570,6 +570,7 @@
                 </itemizedlist>
 
 
+
         </para>
         <section xml:id="sse-event-source-reconnect">
             <title>
@@ -577,7 +578,7 @@
                 reconnect support
             </title>
             <para>
-                The &javax.ws.rs.sse.SseEventSource; implementation supports automated recuperation
+                The &jakarta.ws.rs.sse.SseEventSource; implementation supports automated recuperation
                 from a connection loss, including negotiation of delivery of any missed events based on the last received
                 SSE event <literal>id</literal> field value, provided this field is set by the server and the negotiation
                 facility is supported by the server. In case of a connection loss, the last received SSE event
@@ -597,13 +598,13 @@
                 By default, when a connection to the SSE endpoint is lost, the event source will use a default delay
                 before attempting to reconnect to the SSE endpoint. The SSE endpoint can however control the client-side
                 retry delay by including a special <literal>retry</literal> field value in any event sent to the client.
-                Jersey &javax.ws.rs.sse.SseEventSource; implementation automatically tracks any received SSE event
+                Jersey &jakarta.ws.rs.sse.SseEventSource; implementation automatically tracks any received SSE event
                 <literal>retry</literal>
                 field values set by the endpoint and adjusts the reconnect delay accordingly,
                 using the last received <literal>retry</literal> field value as the new reconnect delay.
             </para>
             <para>
-                In addition to handling the standard connection losses, Jersey &javax.ws.rs.sse.SseEventSource; automatically
+                In addition to handling the standard connection losses, Jersey &jakarta.ws.rs.sse.SseEventSource; automatically
                 deals with any <literal>HTTP 503 Service Unavailable</literal> responses received from the SSE endpoint,
                 that include a <literal>Retry-After</literal> HTTP header with a valid value. The
                 <literal>HTTP 503 + Retry-After</literal>
@@ -617,9 +618,6 @@
         </section>
     </section>
 
-    <!--TODO - describes the Jersey-specific legacy API, change and only mention the differences -->
-
-
     <section xml:id="overview-jersey-specific">
         <title>Jersey-specific Server-Sent Events API</title>
         <important>
@@ -630,8 +628,8 @@
                 with common JAX-RS resources the same way as the JAX-RS 2.1 based implementation does.
             </para>
             <para>
-                Both implementations are compatible, which means client based on Jersey-specific SSE implementation can "talk"
-                to server resource implemetned using JAX-RS 2.1 based implementation and vice versa.
+                After the jakartification Jersey complies with JAX-RS 3.0 and SSE implementation may not be backward compatible due to
+                namespace change. When the 3.x version is being used, it's required to comply with JAX-RS 3.0 SSE spec.
             </para>
         </important>
         <para>
@@ -987,7 +985,7 @@
                     &lit.jersey.sse.EventSource;<literal>.register(EventListener, String)</literal>
                     method. The next method
                     arguments define the names of the events to receive and can be omitted. If names are defined, the listener
-                    will be associated with the named events and will only invoked for events with a name from the set of defined
+                    will be associated with the named events and will only be invoked for events with a name from the set of defined
                     event names. It will not be invoked for events with any other names or for events without a name.
 
                     <important>
@@ -1069,7 +1067,7 @@
                     </title>
                     <para>
                         Reconnect support in Jersey-specific &lit.jersey.sse.EventSource; works the same way as in the
-                        implementation of the JAX-RS &javax.ws.rs.sse.SseEventSource;.
+                        implementation of the JAX-RS &jakarta.ws.rs.sse.SseEventSource;.
                     </para>
                 </section>
             </section>
diff --git a/docs/src/main/docbook/test-framework.xml b/docs/src/main/docbook/test-framework.xml
index e32c14e..d17611e 100644
--- a/docs/src/main/docbook/test-framework.xml
+++ b/docs/src/main/docbook/test-framework.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!--
 
-    Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -96,7 +96,8 @@
             &jersey.test.JerseyTest; supports deploying applications on various containers, all (except the external container
             wrapper) need to have some "glue" code to be supported. Currently Jersey Test Framework provides support for
             Grizzly, In-Memory, JDK (<literal>com.sun.net.httpserver.HttpServer</literal>), Simple HTTP container
-            (<literal>org.simpleframework.http</literal>) and Jetty HTTP container (<literal>org.eclipse.jetty</literal>).
+            (<literal>org.simpleframework.http</literal>) and Jetty HTTP container (<literal>org.eclipse.jetty</literal>)
+            - since Jersey 3.x HTTP Jetty container requires JDK 11+.
         </para>
 
         <para>
@@ -149,7 +150,7 @@
                 </listitem>
                 <listitem>
                     <para>
-                        <literal>HttpServer</literal> from Oracle JDK is another supported test container.
+                        <literal>HttpServer</literal> from JDK is another supported test container.
 
                         <programlisting language="xml">&lt;dependency&gt;
     &lt;groupId&gt;org.glassfish.jersey.test-framework.providers&lt;/groupId&gt;
@@ -173,7 +174,7 @@
                 <listitem>
                     <para>
                         Jetty container (<literal>org.eclipse.jetty</literal>) is another high-performance, light-weight HTTP server
-                        that integrates with Jersey and is supported by Jersey Test Framework.
+                        that integrates with Jersey and is supported by Jersey Test Framework. Shall be used along with JDK 11+.
 
                         <programlisting language="xml">&lt;dependency&gt;
     &lt;groupId&gt;org.glassfish.jersey.test-framework.providers&lt;/groupId&gt;
diff --git a/docs/src/main/docbook/uris-and-links.xml b/docs/src/main/docbook/uris-and-links.xml
index c72aaab..7097509 100644
--- a/docs/src/main/docbook/uris-and-links.xml
+++ b/docs/src/main/docbook/uris-and-links.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!--
 
-    Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -188,4 +188,4 @@
             links.
         </para>
     </section>
-</chapter>
+</chapter>
\ No newline at end of file
diff --git a/docs/src/main/docbook/user-guide.xml b/docs/src/main/docbook/user-guide.xml
index 7d41244..3f03d55 100644
--- a/docs/src/main/docbook/user-guide.xml
+++ b/docs/src/main/docbook/user-guide.xml
@@ -39,9 +39,9 @@
         </para>
         <para>
             If you would like to contribute to the guide or have questions on things not covered in our docs, please
-            contact us at <link xlink:href="mailto:jersey-dev@eclipse.org">users@jersey.java.net</link>. Similarly,
+            contact us at <link xlink:href="mailto:jersey-dev@eclipse.org">jersey-dev@eclipse.org</link>. Similarly,
             in case you spot any errors in the Jersey documentation, please report them by filing a new issue in our
-            <link xlink:href="https://github.com/eclipse-ee4j/jersey/issues">Jersey JIRA Issue Tracker</link>
+            <link xlink:href="https://github.com/eclipse-ee4j/jersey/issues">Jersey Issue Tracker</link>
             under
             <literal>docs</literal>
             component. Please make sure to specify the version of the Jersey User Guide where the error has been spotted
@@ -116,7 +116,7 @@
     <xi:include href="monitoring.xml" />
     <xi:include href="custom-di.xml" />
     <xi:include href="cdi.xml" />
-    <xi:include href="spring.xml" />
+<!--    <xi:include href="spring.xml" />--> <!--Spring is not supported in Jakarta -->
     <xi:include href="graalvm-native-image.xml" />
     <xi:include href="test-framework.xml" />
     <xi:include href="how-to-build.xml" />
diff --git a/docs/src/main/docbook/wadl.xml b/docs/src/main/docbook/wadl.xml
index 664d124..7f06c59 100644
--- a/docs/src/main/docbook/wadl.xml
+++ b/docs/src/main/docbook/wadl.xml
@@ -76,7 +76,7 @@
             Jersey will return a response with a WADL content similar to the one in the following example:
             <programlisting language="xml" linenumbering="numbered"><![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <application xmlns="http://wadl.dev.java.net/2009/02">
-    <doc xmlns:jersey="http://jersey.java.net/" jersey:generatedBy="Jersey: 2.33-SNAPSHOT 2020-12-20 17:14:21"/>
+    <doc xmlns:jersey="http://jersey.java.net/" jersey:generatedBy="Jersey: 3.0.0 2020-12-16 13:49:07"/>
     <grammars/>
     <resources base="http://localhost:9998/">
         <resource path="country/{id}">
@@ -111,8 +111,8 @@
             <title>A simple WADL example - WADL content</title>
             <programlisting language="xml" linenumbering="numbered"><![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <application xmlns="http://wadl.dev.java.net/2009/02">
-    <doc xmlns:jersey="http://jersey.java.net/" jersey:generatedBy="Jersey: 2.33-SNAPSHOT 2020-12-20 17:14:21"/>
-    <doc xmlns:jersey="http://jersey.java.net/" jersey:hint="To get simplified WADL with user's resources only use the query parameter 'simple=true'. Link: http://localhost:9998/application.wadl?detail=true&amp;simple=true"/>
+    <doc xmlns:jersey="http://jersey.java.net/" jersey:generatedBy="Jersey: 3.0.0 2020-12-16 13:49:07"/>
+    <doc xmlns:jersey="http://jersey.java.net/" jersey:hint="To get simplified WADL with user's resources only do not use the query parameter detail. Link: http://localhost:9998/application.wadl"/>
     <grammars/>
     <resources base="http://localhost:9998/">
         <resource path="country/{id}">
@@ -269,7 +269,7 @@
                 <programlisting language="xml" linenumbering="numbered">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
 &lt;application xmlns="http://wadl.dev.java.net/2009/02"&gt;
     &lt;doc xmlns:jersey="http://jersey.java.net/"
-        jersey:generatedBy="Jersey: 2.33-SNAPSHOT ${buildNumber}"/&gt;
+        jersey:generatedBy="Jersey: 3.0.0 ${buildNumber}"/&gt;
     &lt;grammars/&gt;
     &lt;resources base="http://localhost:9998/"&gt;
         &lt;resource path="country/15"&gt;
@@ -381,7 +381,7 @@
                 <programlisting language="xml" linenumbering="numbered">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
 &lt;application xmlns="http://wadl.dev.java.net/2009/02"&gt;
     &lt;doc xmlns:jersey="http://jersey.java.net/"
-        jersey:generatedBy="Jersey: 2.0-SNAPSHOT ${buildNumber}"/&gt;
+        jersey:generatedBy="Jersey: 3.0.0 ${buildNumber}"/&gt;
     &lt;grammars/&gt;
     &lt;resources base="http://localhost:9998/"&gt;
         &lt;resource path="customer/{id}"&gt;
@@ -552,7 +552,7 @@
         <title>Extended WADL support</title>
         <para>
             <emphasis role="strong">Please note that the API of extended WADL support is going to be changed in one of the future
-            releases of Jersey 2.x (see below).</emphasis>
+            releases of Jersey 3.x (see below).</emphasis>
         </para>
         <para>
             Jersey supports extension of WADL generation called <emphasis>extended WADL</emphasis>. Using the extended WADL
@@ -561,7 +561,7 @@
             adding external grammar support, or adding any custom WADL extension information.
         </para>
         <para>
-            <emphasis role="strong">Again, note that the extended WADL in Jersey 2.x is NOT the intended final version and
+            <emphasis role="strong">Again, note that the extended WADL in Jersey 3.x is NOT the intended final version and
             API is going to be changed.</emphasis> The existing set of features and functionality will be preserved but the
             APIs will be significantly re-designed to support additional use cases. This impacts mainly the APIs of
             &jersey.server.WadlGenerator;, &jersey.server.WadlGeneratorConfig; as well as any related classes. The API changes
diff --git a/etc/config/copyright-exclude b/etc/config/copyright-exclude
index e892508..cc34e1e 100644
--- a/etc/config/copyright-exclude
+++ b/etc/config/copyright-exclude
@@ -41,7 +41,7 @@
 /etc/config/copyright.txt
 /etc/config/edl-copyright.txt
 /etc/jenkins/
-/etc/scripts
+/etc/scripts/
 /etc/travis/
 /LICENSE.md
 /third-party-license-readme.txt
diff --git a/etc/jenkins/Jenkinsfile_ci_build b/etc/jenkins/Jenkinsfile_ci_build
index cba5276..d933c21 100644
--- a/etc/jenkins/Jenkinsfile_ci_build
+++ b/etc/jenkins/Jenkinsfile_ci_build
@@ -19,6 +19,8 @@
                     steps {
                         sh '''
                                 bash ${WORKSPACE}/etc/jenkins/jenkins_build.sh
+                                export EXCLUDE_ARGS=' -pl !:jersey-spring6'
+                                bash ${WORKSPACE}/etc/scripts/validation/dependency-convergence.sh
                             '''
                     }
                 }
@@ -33,6 +35,7 @@
                     steps {
                         sh '''
                                 bash ${WORKSPACE}/etc/jenkins/jenkins_build.sh
+                                bash ${WORKSPACE}/etc/scripts/validation/dependency-convergence.sh
                             '''
                     }
                 }
@@ -47,6 +50,7 @@
                     steps {
                         sh '''
                                 bash ${WORKSPACE}/etc/jenkins/jenkins_build.sh
+                                bash ${WORKSPACE}/etc/scripts/validation/dependency-convergence.sh
                             '''
                     }
                 }
diff --git a/etc/jenkins/jenkins_build.sh b/etc/jenkins/jenkins_build.sh
index e612cbb..4e96c4e 100644
--- a/etc/jenkins/jenkins_build.sh
+++ b/etc/jenkins/jenkins_build.sh
@@ -2,4 +2,5 @@
 
 export DEBUG=true
 
-mvn -V -U -B -e clean install glassfish-copyright:check -Dcopyright.quiet=false
\ No newline at end of file
+mvn -V -U -B -e -Pstaging clean install glassfish-copyright:check -Dcopyright.quiet=false
+
diff --git a/etc/scripts/validation/dependency-convergence.sh b/etc/scripts/validation/dependency-convergence.sh
new file mode 100755
index 0000000..92ffeea
--- /dev/null
+++ b/etc/scripts/validation/dependency-convergence.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+readonly VALIDATION_DEPENDENCIES_MATCH='<!-- Insert dependencies here -->'
+readonly VALIDATION_POM=validation.pom.xml
+readonly POM_TEMPLATE_NAME=pom.template.xml
+readonly TEMP_FILE=modules.xml
+
+readonly MVN_CLI='org.apache.maven.plugins:maven-enforcer-plugin:enforce -Denforcer.rules=dependencyConvergence'
+
+readonly DEPENDENCY_GENERATION_PATTERN='<dependency><groupId>${project.groupId}</groupId><artifactId>${project.artifactId}</artifactId><version>${jersey.version}</version></dependency>'
+
+# Path to this script
+[ -h "${0}" ] && readonly SCRIPT_PATH="$(readlink "${0}")" || readonly SCRIPT_PATH="${0}"
+
+readonly CURRENT_LOCATION=$(dirname -- "${SCRIPT_PATH}")
+readonly WS_DIR=$(cd ${CURRENT_LOCATION}; cd '../../..' ; pwd -P)
+
+#Prepare pom.xml from template
+
+cp -a ${CURRENT_LOCATION}/${POM_TEMPLATE_NAME} ${CURRENT_LOCATION}/${VALIDATION_POM}
+
+export JERSEY_VERSION=$(mvn exec:exec -Dexec.executable='echo' -Dexec.args='${project.version}' -f ${WS_DIR}/pom.xml -q -pl org.glassfish.jersey:project)
+
+echo "Validating convergences for Jersey "$JERSEY_VERSION
+echo '****************************************************'
+echo `mvn -v`
+echo '****************************************************'
+
+#get list of modules to b validated
+mvn -f ${WS_DIR}/pom.xml -Dexec.executable='echo' \
+ -Dtests.excluded \
+ -Dexec.args=${DEPENDENCY_GENERATION_PATTERN} \
+ ${MVN_ARGS} \
+ ${EXCLUDE_ARGS} \
+ -pl '!:helloworld-benchmark' exec:exec -q > ${CURRENT_LOCATION}/${TEMP_FILE}
+
+#add the list of modules to the prepared pom.xml
+sed -e "/${VALIDATION_DEPENDENCIES_MATCH}/ {" -e "r ${CURRENT_LOCATION}/${TEMP_FILE}" -e 'd' -e '}'  -i ${CURRENT_LOCATION}/${VALIDATION_POM}
+
+#run validation
+mvn ${MVN_ARGS} ${MVN_CLI} -f ${CURRENT_LOCATION}/${VALIDATION_POM} -Djersey.version=${JERSEY_VERSION}
+
+#clean the mess
+rm ${CURRENT_LOCATION}/${TEMP_FILE}
\ No newline at end of file
diff --git a/etc/scripts/validation/pom.template.xml b/etc/scripts/validation/pom.template.xml
new file mode 100644
index 0000000..1e58300
--- /dev/null
+++ b/etc/scripts/validation/pom.template.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <groupId>org.glassfish.jersey.validation</groupId>
+    <artifactId>dependency-convergences</artifactId>
+    <version>0.0.1</version>
+    <modelVersion>4.0.0</modelVersion>
+
+    <packaging>war</packaging>
+    <name>jersey-dependency-convergence-validation</name>
+
+    <description>dependencyConvergence rule check</description>
+
+
+    <dependencies>
+    <!-- Insert dependencies here -->
+    </dependencies>
+
+    <properties>
+        <jersey.version>3.0.99-SNAPSHOT</jersey.version>
+    </properties>
+</project>
\ No newline at end of file
diff --git a/etc/travis/travis.sh b/etc/travis/travis.sh
index 681609b..f2f7d9c 100644
--- a/etc/travis/travis.sh
+++ b/etc/travis/travis.sh
@@ -30,11 +30,11 @@
 if [ "$1" = "glassfish-copyright:check" ]; then
     mvn -e $1 -Dcopyright.quiet=false
 else
-    mvn -e -U -B clean install $1 >> $BUILD_OUTPUT 2>&1
+    mvn -e -U -B -V -Peclipse_repo,staging clean install $1 >> $BUILD_OUTPUT 2>&1
 fi
 
 # The build finished without returning an error so dump a tail of the output
 dump_output
 
 # nicely terminate the ping output loop
-kill $PING_LOOP_PID
\ No newline at end of file
+kill $PING_LOOP_PID
diff --git a/examples/NOTICE.md b/examples/NOTICE.md
index 4dff288..b14ed9d 100644
--- a/examples/NOTICE.md
+++ b/examples/NOTICE.md
@@ -37,13 +37,13 @@
 * Project: http://aopalliance.sourceforge.net
 * Copyright: Material in the public domain is not protected by copyright
 
-Bean Validation API 2.0.2
+Bean Validation API 3.0.2
 * License: Apache License, 2.0
 * Project: http://beanvalidation.org/1.1/
 * Copyright: 2009, Red Hat, Inc. and/or its affiliates, and individual contributors
 * by the @authors tag.
 
-Hibernate Validator CDI, 6.2.5.Final
+Hibernate Validator CDI, 7.0.5.Final
 * License: Apache License, 2.0
 * Project: https://beanvalidation.org/
 * Repackaged in org.glassfish.jersey.server.validation.internal.hibernate
@@ -53,11 +53,16 @@
 * Project: http://getbootstrap.com
 * Copyright: 2011-2016 Twitter, Inc
 
+CDI API Version 3.0
+* License: Apache License, 2.0
+* Project: http://www.seamframework.org/Weld
+* Copyright 2010, Red Hat, Inc., and individual contributors by the @authors tag.
+
 Google Guava Version 18.0
 * License: Apache License, 2.0
 * Copyright (C) 2009 The Guava Authors
 
-javax.inject Version: 1
+jakarta.inject Version: 1
 * License: Apache License, 2.0
 * Copyright (C) 2009 The JSR-330 Expert Group
 
diff --git a/examples/assemblies/pom.xml b/examples/assemblies/pom.xml
index 3d6ba87..1c54fae 100644
--- a/examples/assemblies/pom.xml
+++ b/examples/assemblies/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>assemblies</artifactId>
diff --git a/examples/bookmark-em/pom.xml b/examples/bookmark-em/pom.xml
index 63f74cb..3663370 100644
--- a/examples/bookmark-em/pom.xml
+++ b/examples/bookmark-em/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>bookmark-em</artifactId>
@@ -45,7 +45,6 @@
         <dependency>
             <groupId>jakarta.ejb</groupId>
             <artifactId>jakarta.ejb-api</artifactId>
-            <version>${ejb.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/MyApplication.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/MyApplication.java
index 2cd0138..b8861dd 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/MyApplication.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.bookmark_em;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.examples.bookmark_em.resource.UsersResource;
 import org.glassfish.jersey.jettison.JettisonFeature;
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/BookmarkEntity.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/BookmarkEntity.java
index 8092a01..8d31bc2 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/BookmarkEntity.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/BookmarkEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,17 +13,17 @@
 import java.io.Serializable;
 import java.util.Date;
 
-import javax.annotation.ManagedBean;
-import javax.persistence.Column;
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
+import jakarta.annotation.ManagedBean;
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.TemporalType;
 
 /**
  * Entity class BookmarkEntity.
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/BookmarkEntityPK.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/BookmarkEntityPK.java
index 07ebe52..8c4fa1f 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/BookmarkEntityPK.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/BookmarkEntityPK.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,8 +12,8 @@
 
 import java.io.Serializable;
 
-import javax.persistence.Column;
-import javax.persistence.Embeddable;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
 
 /**
  * Primary Key class BookmarkEntityPK for entity class BookmarkEntity.
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/UserEntity.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/UserEntity.java
index 1a91d2b..18ad82a 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/UserEntity.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/entity/UserEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,14 +13,14 @@
 import java.io.Serializable;
 import java.util.Collection;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
 
 /**
  * Entity class UserEntity.
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/exception/ExtendedNotFoundException.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/exception/ExtendedNotFoundException.java
index 8a2926e..200e2b2 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/exception/ExtendedNotFoundException.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/exception/ExtendedNotFoundException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.bookmark_em.exception;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.core.Response;
 
 /**
  * @author Michal Gajdos
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/BookmarkResource.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/BookmarkResource.java
index ab10166..a4abdcd 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/BookmarkResource.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/BookmarkResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,15 +12,15 @@
 
 import java.util.Date;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.persistence.EntityManager;
-import javax.transaction.UserTransaction;
+import jakarta.persistence.EntityManager;
+import jakarta.transaction.UserTransaction;
 
 import org.glassfish.jersey.examples.bookmark_em.entity.BookmarkEntity;
 import org.glassfish.jersey.examples.bookmark_em.entity.BookmarkEntityPK;
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/BookmarksResource.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/BookmarksResource.java
index 8bc7ed4..f0294b3 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/BookmarksResource.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/BookmarksResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,18 +14,18 @@
 import java.util.Collection;
 import java.util.Date;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.persistence.EntityManager;
-import javax.transaction.UserTransaction;
+import jakarta.persistence.EntityManager;
+import jakarta.transaction.UserTransaction;
 
 import org.glassfish.jersey.examples.bookmark_em.entity.BookmarkEntity;
 import org.glassfish.jersey.examples.bookmark_em.util.tx.TransactionManager;
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/UserResource.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/UserResource.java
index d551f11..3070e97 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/UserResource.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/UserResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,17 +10,17 @@
 
 package org.glassfish.jersey.examples.bookmark_em.resource;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.persistence.EntityManager;
-import javax.transaction.UserTransaction;
+import jakarta.persistence.EntityManager;
+import jakarta.transaction.UserTransaction;
 
 import org.glassfish.jersey.examples.bookmark_em.entity.UserEntity;
 import org.glassfish.jersey.examples.bookmark_em.exception.ExtendedNotFoundException;
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/UsersResource.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/UsersResource.java
index e2f3060..464b75e 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/UsersResource.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/resource/UsersResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,19 +13,19 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.Resource;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.UserTransaction;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.Resource;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import jakarta.transaction.UserTransaction;
 
 import org.glassfish.jersey.examples.bookmark_em.entity.UserEntity;
 
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/util/tx/TransactionManager.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/util/tx/TransactionManager.java
index 5f4d844..aa42188 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/util/tx/TransactionManager.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/util/tx/TransactionManager.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.bookmark_em.util.tx;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
-import javax.transaction.SystemException;
-import javax.transaction.UserTransaction;
+import jakarta.transaction.SystemException;
+import jakarta.transaction.UserTransaction;
 
 /**
  * @author Paul Sandoz
diff --git a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/util/tx/Transactional.java b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/util/tx/Transactional.java
index 78a4d42..6efb2db 100644
--- a/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/util/tx/Transactional.java
+++ b/examples/bookmark-em/src/main/java/org/glassfish/jersey/examples/bookmark_em/util/tx/Transactional.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.bookmark_em.util.tx;
 
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
 
 /**
  * @author Paul Sandoz
diff --git a/examples/bookmark-em/src/main/webapp/WEB-INF/web.xml b/examples/bookmark-em/src/main/webapp/WEB-INF/web.xml
index e09e223..03d669c 100644
--- a/examples/bookmark-em/src/main/webapp/WEB-INF/web.xml
+++ b/examples/bookmark-em/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,7 +16,7 @@
         <servlet-name>org.glassfish.jersey.examples.bookmark_em.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.bookmark_em.MyApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/examples/bookmark-em/src/test/java/org/glassfish/jersey/examples/bookmark_em/BookmarkTest.java b/examples/bookmark-em/src/test/java/org/glassfish/jersey/examples/bookmark_em/BookmarkTest.java
index 7b287f9..1ec119a 100644
--- a/examples/bookmark-em/src/test/java/org/glassfish/jersey/examples/bookmark_em/BookmarkTest.java
+++ b/examples/bookmark-em/src/test/java/org/glassfish/jersey/examples/bookmark_em/BookmarkTest.java
@@ -12,9 +12,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jettison.JettisonFeature;
diff --git a/examples/bookmark/pom.xml b/examples/bookmark/pom.xml
index ef5a92e..21d30d8 100644
--- a/examples/bookmark/pom.xml
+++ b/examples/bookmark/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>bookmark</artifactId>
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/MyApplication.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/MyApplication.java
index 6d875a8..10188ea 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/MyApplication.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.bookmark;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.examples.bookmark.resource.UsersResource;
 import org.glassfish.jersey.jettison.JettisonFeature;
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/BookmarkEntity.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/BookmarkEntity.java
index 190644a..d7f1dd3 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/BookmarkEntity.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/BookmarkEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,16 +13,16 @@
 import java.io.Serializable;
 import java.util.Date;
 
-import javax.persistence.Column;
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
+import jakarta.persistence.Column;
+import jakarta.persistence.EmbeddedId;
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.TemporalType;
 
 /**
  * Entity class BookmarkEntity.
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/BookmarkEntityPK.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/BookmarkEntityPK.java
index 67be556..587262f 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/BookmarkEntityPK.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/BookmarkEntityPK.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,8 +12,8 @@
 
 import java.io.Serializable;
 
-import javax.persistence.Column;
-import javax.persistence.Embeddable;
+import jakarta.persistence.Column;
+import jakarta.persistence.Embeddable;
 
 /**
  * Primary Key class BookmarkEntityPK for entity class BookmarkEntity.
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/UserEntity.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/UserEntity.java
index 2389e3a..f3d4943 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/UserEntity.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/entity/UserEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,14 +13,14 @@
 import java.io.Serializable;
 import java.util.Collection;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
 
 /**
  * Entity class UserEntity.
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/exception/ExtendedNotFoundException.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/exception/ExtendedNotFoundException.java
index 3417426..16b9835 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/exception/ExtendedNotFoundException.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/exception/ExtendedNotFoundException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.bookmark.exception;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.core.Response;
 
 /**
  * @author Michal Gajdos
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/BookmarkResource.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/BookmarkResource.java
index 0640805..5ce61fd 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/BookmarkResource.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/BookmarkResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,15 +12,15 @@
 
 import java.util.Date;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
 
 import org.glassfish.jersey.examples.bookmark.entity.BookmarkEntity;
 import org.glassfish.jersey.examples.bookmark.entity.BookmarkEntityPK;
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/BookmarksResource.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/BookmarksResource.java
index 5791d5d..d6fabe4 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/BookmarksResource.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/BookmarksResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,18 +14,18 @@
 import java.util.Collection;
 import java.util.Date;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
 
 import org.glassfish.jersey.examples.bookmark.entity.BookmarkEntity;
 import org.glassfish.jersey.examples.bookmark.util.tx.TransactionManager;
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/UserResource.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/UserResource.java
index 7cbe531..9512de5 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/UserResource.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/UserResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,16 +10,16 @@
 
 package org.glassfish.jersey.examples.bookmark.resource;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
 
 import org.glassfish.jersey.examples.bookmark.entity.UserEntity;
 import org.glassfish.jersey.examples.bookmark.exception.ExtendedNotFoundException;
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/UsersResource.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/UsersResource.java
index 7ca5739..ca55327 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/UsersResource.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/resource/UsersResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,16 +13,16 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceUnit;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.PersistenceUnit;
 
 import org.glassfish.jersey.examples.bookmark.entity.UserEntity;
 
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/util/tx/TransactionManager.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/util/tx/TransactionManager.java
index 856a90d..3dcb29d 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/util/tx/TransactionManager.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/util/tx/TransactionManager.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.bookmark.util.tx;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.transaction.SystemException;
-import javax.transaction.UserTransaction;
+import jakarta.transaction.SystemException;
+import jakarta.transaction.UserTransaction;
 
 /**
  * @author Paul Sandoz
diff --git a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/util/tx/Transactional.java b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/util/tx/Transactional.java
index 4c88d06..a050f24 100644
--- a/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/util/tx/Transactional.java
+++ b/examples/bookmark/src/main/java/org/glassfish/jersey/examples/bookmark/util/tx/Transactional.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.bookmark.util.tx;
 
-import javax.persistence.EntityManager;
+import jakarta.persistence.EntityManager;
 
 /**
  * @author Paul Sandoz
diff --git a/examples/bookmark/src/main/webapp/WEB-INF/web.xml b/examples/bookmark/src/main/webapp/WEB-INF/web.xml
index d64c5f1..6d44ecf 100644
--- a/examples/bookmark/src/main/webapp/WEB-INF/web.xml
+++ b/examples/bookmark/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,7 +16,7 @@
         <servlet-name>org.glassfish.jersey.examples.bookmark.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.bookmark.MyApplication</param-value>
         </init-param>
         <init-param>
diff --git a/examples/bookmark/src/test/java/org/glassfish/jersey/examples/bookmark/BookmarkTest.java b/examples/bookmark/src/test/java/org/glassfish/jersey/examples/bookmark/BookmarkTest.java
index 2b1e690..11cc4df 100644
--- a/examples/bookmark/src/test/java/org/glassfish/jersey/examples/bookmark/BookmarkTest.java
+++ b/examples/bookmark/src/test/java/org/glassfish/jersey/examples/bookmark/BookmarkTest.java
@@ -12,10 +12,10 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jettison.JettisonFeature;
diff --git a/examples/bookstore-webapp/README.MD b/examples/bookstore-webapp/README.MD
index 870e986..93634f1 100644
--- a/examples/bookstore-webapp/README.MD
+++ b/examples/bookstore-webapp/README.MD
@@ -76,13 +76,13 @@
 Running the Example
 -------------------
 
-Bookstore example runs on Glassfish 4.0 application server
+Bookstore example runs on Glassfish 6.0 application server
 ([https://javaee.github.io/glassfish/](https://javaee.github.io/glassfish/)), which can be
 run as an embedded container or Jetty.
 
 If you are working with Jersey GlassFish update center module installed
 into your existing GlassFish instance, you will need to follow
-instructions at [the module README file](../../README.html) in order to
+instructions at [the module README file](../../README.md) in order to
 deploy the example.
 
 Otherwise, you can run the example using embedded GlassFish as follows:
diff --git a/examples/bookstore-webapp/pom.xml b/examples/bookstore-webapp/pom.xml
index b4fed42..d8c4725 100644
--- a/examples/bookstore-webapp/pom.xml
+++ b/examples/bookstore-webapp/pom.xml
@@ -35,7 +35,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>bookstore-webapp</artifactId>
@@ -56,12 +56,14 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.servlet.jsp.jstl</groupId>
             <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
             <version>${jstl.version}</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
diff --git a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Book.java b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Book.java
index 0718577..c6105be 100644
--- a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Book.java
+++ b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Book.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -26,9 +26,9 @@
 
 package org.glassfish.jersey.examples.bookstore.webapp.resource;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Bookstore.java b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Bookstore.java
index 7aa54d9..d35eca6 100644
--- a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Bookstore.java
+++ b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Bookstore.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -29,18 +29,18 @@
 import java.util.Map;
 import java.util.TreeMap;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/CD.java b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/CD.java
index de78bc2..9799fe4 100644
--- a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/CD.java
+++ b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/CD.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -26,14 +26,14 @@
 
 package org.glassfish.jersey.examples.bookstore.webapp.resource;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Response;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Happy.java b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Happy.java
index 7619d97..0a41bf9 100644
--- a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Happy.java
+++ b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Happy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -26,11 +26,11 @@
 
 package org.glassfish.jersey.examples.bookstore.webapp.resource;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Item.java b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Item.java
index 08e0b7e..99f630f 100644
--- a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Item.java
+++ b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Item.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -26,13 +26,13 @@
 
 package org.glassfish.jersey.examples.bookstore.webapp.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Track.java b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Track.java
index 9868da3..da79d25 100644
--- a/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Track.java
+++ b/examples/bookstore-webapp/src/main/java/org/glassfish/jersey/examples/bookstore/webapp/resource/Track.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -26,13 +26,13 @@
 
 package org.glassfish.jersey.examples.bookstore.webapp.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/examples/bookstore-webapp/src/main/webapp/WEB-INF/web.xml b/examples/bookstore-webapp/src/main/webapp/WEB-INF/web.xml
index 58e6493..7d3e06f 100644
--- a/examples/bookstore-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/bookstore-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
@@ -27,13 +27,13 @@
 
 -->
 
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
 
     <filter>
         <filter-name>org.glassfish.jersey.examples.bookstore.webapp.MyApplication</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.bookstore.webapp.MyApplication</param-value>
         </init-param>
         <!-- pass to next filter if Jersey/App returns 404 -->
diff --git a/examples/bookstore-webapp/src/test/java/org/glassfish/jersey/examples/bookstore/webapp/resource/ItemTest.java b/examples/bookstore-webapp/src/test/java/org/glassfish/jersey/examples/bookstore/webapp/resource/ItemTest.java
index b61f6c1..48735a6 100644
--- a/examples/bookstore-webapp/src/test/java/org/glassfish/jersey/examples/bookstore/webapp/resource/ItemTest.java
+++ b/examples/bookstore-webapp/src/test/java/org/glassfish/jersey/examples/bookstore/webapp/resource/ItemTest.java
@@ -26,7 +26,7 @@
 
 package org.glassfish.jersey.examples.bookstore.webapp.resource;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/examples/bookstore-webapp/src/test/java/org/glassfish/jersey/examples/bookstore/webapp/resource/TestSupport.java b/examples/bookstore-webapp/src/test/java/org/glassfish/jersey/examples/bookstore/webapp/resource/TestSupport.java
index 10212c6..533594e 100644
--- a/examples/bookstore-webapp/src/test/java/org/glassfish/jersey/examples/bookstore/webapp/resource/TestSupport.java
+++ b/examples/bookstore-webapp/src/test/java/org/glassfish/jersey/examples/bookstore/webapp/resource/TestSupport.java
@@ -26,7 +26,7 @@
 
 package org.glassfish.jersey.examples.bookstore.webapp.resource;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.examples.bookstore.webapp.MyApplication;
 import org.glassfish.jersey.server.mvc.jsp.JspMvcFeature;
diff --git a/examples/cdi-webapp/pom.xml b/examples/cdi-webapp/pom.xml
index dcd6a6f..4531b60 100644
--- a/examples/cdi-webapp/pom.xml
+++ b/examples/cdi-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-webapp</artifactId>
@@ -81,6 +81,14 @@
             <version>${project.version}</version>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
     </dependencies>
 
     <profiles>
@@ -150,8 +158,8 @@
                     <scope>compile</scope>
                 </dependency>
                 <dependency>
-                    <groupId>org.glassfish.hk2.external</groupId>
-                    <artifactId>jakarta.inject</artifactId>
+                    <groupId>jakarta.inject</groupId>
+                    <artifactId>jakarta.inject-api</artifactId>
                     <scope>provided</scope>
                 </dependency>
                 <dependency>
@@ -187,6 +195,14 @@
                     <classpathScope>test</classpathScope>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <forkMode>always</forkMode>
+                    <enableAssertions>false</enableAssertions>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamConstructorResource.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamConstructorResource.java
index 4efde86..4abe81b 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamConstructorResource.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamConstructorResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,16 +12,16 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.PostConstruct;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  * Shows constructor injection of a path parameter in a managed bean.
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamFieldResource.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamFieldResource.java
index 90b26e2..a2b8c40 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamFieldResource.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamFieldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,14 +10,14 @@
 
 package org.glassfish.jersey.examples.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.PostConstruct;
 
 /**
  * Shows injection of path and query parameter into a managed bean.
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamResource.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamResource.java
index 6e02543..cd5b9eb 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamResource.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/EchoParamResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
-import javax.annotation.ManagedBean;
+import jakarta.annotation.ManagedBean;
 
 /**
  * A managed bean that uses (but does not inject) a path parameter.
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/HelloWorldResource.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/HelloWorldResource.java
index f2210ab..698ce9d 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/HelloWorldResource.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,11 +10,11 @@
 
 package org.glassfish.jersey.examples.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.Path;
 
-import javax.annotation.ManagedBean;
+import jakarta.annotation.ManagedBean;
 
 /**
  * A managed bean with no use of injection whatsoever.
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MyApplication.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MyApplication.java
index 35f1464..d5921a5 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MyApplication.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,15 +13,13 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application.
  *
  * @author Jonathan Benoit
  */
-@ApplicationPath("/*")
 public class MyApplication extends Application {
     @Override
     public Set<Class<?>> getClasses() {
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MyOtherResource.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MyOtherResource.java
index 00ab878..9b5569f 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MyOtherResource.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MyOtherResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,21 +10,21 @@
 
 package org.glassfish.jersey.examples.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.ManagedBean;
+import jakarta.annotation.ManagedBean;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptors;
-import javax.interceptor.InvocationContext;
+import jakarta.interceptor.AroundInvoke;
+import jakarta.interceptor.Interceptors;
+import jakarta.interceptor.InvocationContext;
 
 /**
  * Shows injection of context objects and path parameters into the fields of a managed bean.
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MySingletonResource.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MySingletonResource.java
index d8408df..256b718 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MySingletonResource.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/MySingletonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,19 +10,19 @@
 
 package org.glassfish.jersey.examples.cdi.resources;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-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.Request;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+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.Request;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.Resource;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.Resource;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Shows injection of context objects into the fields of a managed bean.
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/ProxyInjectedAppScopedResource.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/ProxyInjectedAppScopedResource.java
index 7b1eebe..b47c691 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/ProxyInjectedAppScopedResource.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/ProxyInjectedAppScopedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,11 +10,11 @@
 
 package org.glassfish.jersey.examples.cdi.resources;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Application scoped CDI bean to demonstrate a dynamic proxy is being injected
diff --git a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/RequestScopedResource.java b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/RequestScopedResource.java
index 5c127f3..d847cf7 100644
--- a/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/RequestScopedResource.java
+++ b/examples/cdi-webapp/src/main/java/org/glassfish/jersey/examples/cdi/resources/RequestScopedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.cdi.resources;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Request scoped CDI bean to demonstrate no dynamic proxy is being injected
diff --git a/examples/cdi-webapp/src/main/webapp/WEB-INF/web.xml b/examples/cdi-webapp/src/main/webapp/WEB-INF/web.xml
index 3090928..95df745 100644
--- a/examples/cdi-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/cdi-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,10 +11,10 @@
 
 -->
 
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-      version="3.0">
+      xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+      version="5.0">
     <env-entry>
         <env-entry-name>injectedResource</env-entry-name>
         <env-entry-type>java.lang.Integer</env-entry-type>
diff --git a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/CdiTest.java b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/CdiTest.java
index 7f4e073..b4dbfa1 100644
--- a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/CdiTest.java
+++ b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/CdiTest.java
@@ -12,8 +12,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/EchoParamBeanTest.java b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/EchoParamBeanTest.java
index dcbbe8e..8d93375 100644
--- a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/EchoParamBeanTest.java
+++ b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/EchoParamBeanTest.java
@@ -12,7 +12,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
diff --git a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/EchoResourceTest.java b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/EchoResourceTest.java
index 97f9645..4f6ad30 100644
--- a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/EchoResourceTest.java
+++ b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/EchoResourceTest.java
@@ -12,7 +12,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/PerApplicationBeanTest.java b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/PerApplicationBeanTest.java
index b85c077..b5a157e 100644
--- a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/PerApplicationBeanTest.java
+++ b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/PerApplicationBeanTest.java
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.cdi.resources;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/PerRequestBeanTest.java b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/PerRequestBeanTest.java
index ed6be52..b43602d 100644
--- a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/PerRequestBeanTest.java
+++ b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/PerRequestBeanTest.java
@@ -12,7 +12,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
diff --git a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/ProxyScopeAlignmentTest.java b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/ProxyScopeAlignmentTest.java
index 43829be..a94557d 100644
--- a/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/ProxyScopeAlignmentTest.java
+++ b/examples/cdi-webapp/src/test/java/org/glassfish/jersey/examples/cdi/resources/ProxyScopeAlignmentTest.java
@@ -12,7 +12,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/examples/clipboard-programmatic/README.MD b/examples/clipboard-programmatic/README.MD
index e3f096d..40545aa 100644
--- a/examples/clipboard-programmatic/README.MD
+++ b/examples/clipboard-programmatic/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -32,7 +32,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the Clipboard example using [Grizzly](http://grizzly.java.net/)
+This deploys the Clipboard example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly)
 
 You can post any text:
 
diff --git a/examples/clipboard-programmatic/pom.xml b/examples/clipboard-programmatic/pom.xml
index d67258b..36b2854 100644
--- a/examples/clipboard-programmatic/pom.xml
+++ b/examples/clipboard-programmatic/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>clipboard-programmatic</artifactId>
diff --git a/examples/clipboard-programmatic/src/main/java/org/glassfish/jersey/examples/clipboard/App.java b/examples/clipboard-programmatic/src/main/java/org/glassfish/jersey/examples/clipboard/App.java
index d4976ce..fbef789 100644
--- a/examples/clipboard-programmatic/src/main/java/org/glassfish/jersey/examples/clipboard/App.java
+++ b/examples/clipboard-programmatic/src/main/java/org/glassfish/jersey/examples/clipboard/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,8 +15,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.process.Inflector;
diff --git a/examples/clipboard-programmatic/src/test/java/org/glassfish/jersey/examples/clipboard/ClipboardTest.java b/examples/clipboard-programmatic/src/test/java/org/glassfish/jersey/examples/clipboard/ClipboardTest.java
index e9ae01b..e1daf92 100644
--- a/examples/clipboard-programmatic/src/test/java/org/glassfish/jersey/examples/clipboard/ClipboardTest.java
+++ b/examples/clipboard-programmatic/src/test/java/org/glassfish/jersey/examples/clipboard/ClipboardTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.clipboard;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.Entity;
-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.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/clipboard/README.MD b/examples/clipboard/README.MD
index 0f1df89..8c54eaf 100644
--- a/examples/clipboard/README.MD
+++ b/examples/clipboard/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -34,7 +34,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the Clipboard example using [Grizzly](http://grizzly.java.net/)
+This deploys the Clipboard example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly)
 
 You can post a JSON entity:
 
diff --git a/examples/clipboard/pom.xml b/examples/clipboard/pom.xml
index fa48d6a..34ab9c2 100644
--- a/examples/clipboard/pom.xml
+++ b/examples/clipboard/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>clipboard</artifactId>
diff --git a/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/App.java b/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/App.java
index 12998e9..9e6e7b7 100644
--- a/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/App.java
+++ b/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,9 +15,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.process.Inflector;
diff --git a/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/ClipboardDataProvider.java b/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/ClipboardDataProvider.java
index 9f49c89..859ebaf 100644
--- a/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/ClipboardDataProvider.java
+++ b/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/ClipboardDataProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -20,14 +20,14 @@
 import java.util.Collection;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/ClipboardResource.java b/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/ClipboardResource.java
index ca09ce5..ceb187f 100644
--- a/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/ClipboardResource.java
+++ b/examples/clipboard/src/main/java/org/glassfish/jersey/examples/clipboard/ClipboardResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,18 +13,18 @@
 import java.util.LinkedList;
 import java.util.List;
 
-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.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+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.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 /**
  * Very basic resource example showcases CRUD functionality
diff --git a/examples/clipboard/src/test/java/org/glassfish/jersey/examples/clipboard/ClipboardTest.java b/examples/clipboard/src/test/java/org/glassfish/jersey/examples/clipboard/ClipboardTest.java
index 55c34a0..7fe0b3c 100644
--- a/examples/clipboard/src/test/java/org/glassfish/jersey/examples/clipboard/ClipboardTest.java
+++ b/examples/clipboard/src/test/java/org/glassfish/jersey/examples/clipboard/ClipboardTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.clipboard;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/configured-client/pom.xml b/examples/configured-client/pom.xml
index 9133999..6d38f0d 100644
--- a/examples/configured-client/pom.xml
+++ b/examples/configured-client/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>configured-client</artifactId>
@@ -50,14 +50,38 @@
         <dependency>
             <groupId>io.helidon.microprofile.config</groupId>
             <artifactId>helidon-microprofile-config</artifactId>
-            <version>${helidon.version}</version>
+            <version>${helidon.config.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.eclipse.microprofile.config</groupId>
                     <artifactId>microprofile-config-api</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.yaml</groupId>
+                    <artifactId>snakeyaml</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jakarta.annotation</groupId>
+                    <artifactId>jakarta.annotation-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.reactivestreams</groupId>
+                    <artifactId>reactive-streams</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.reactivestreams</groupId>
+            <artifactId>reactive-streams</artifactId>
+            <version>1.0.4</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.yaml</groupId>
+            <artifactId>snakeyaml</artifactId>
+            <version>2.2</version>
+            <scope>test</scope>
+        </dependency>
 
 <!--    Instead of helidon-microprofile-config, smallrye-config can be used -->
 <!--        <dependency>-->
@@ -114,5 +138,14 @@
                 </plugins>
             </build>
         </profile>
+        <profile>
+            <id>jdk11-</id>
+            <activation>
+                <jdk>(,12)</jdk>
+            </activation>
+            <properties>
+                <helidon.config.version>${helidon.config.11.version}</helidon.config.version>
+            </properties>
+        </profile>
     </profiles>
 </project>
diff --git a/examples/configured-client/src/main/java/org/glassfish/jersey/examples/configured/client/App.java b/examples/configured-client/src/main/java/org/glassfish/jersey/examples/configured/client/App.java
index 7190358..0f6d49b 100644
--- a/examples/configured-client/src/main/java/org/glassfish/jersey/examples/configured/client/App.java
+++ b/examples/configured-client/src/main/java/org/glassfish/jersey/examples/configured/client/App.java
@@ -21,11 +21,11 @@
 
 import org.glassfish.grizzly.http.server.HttpServer;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 /**
  * Hello world!
diff --git a/examples/configured-client/src/main/java/org/glassfish/jersey/examples/configured/client/HelloWorldResource.java b/examples/configured-client/src/main/java/org/glassfish/jersey/examples/configured/client/HelloWorldResource.java
index 1c91d66..3c25599 100644
--- a/examples/configured-client/src/main/java/org/glassfish/jersey/examples/configured/client/HelloWorldResource.java
+++ b/examples/configured-client/src/main/java/org/glassfish/jersey/examples/configured/client/HelloWorldResource.java
@@ -10,14 +10,14 @@
 
 package org.glassfish.jersey.examples.configured.client;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
 
 
 @Path("helloworld")
diff --git a/examples/configured-client/src/test/java/org/glassfish/jersey/examples/configured/client/HelloWorldTest.java b/examples/configured-client/src/test/java/org/glassfish/jersey/examples/configured/client/HelloWorldTest.java
index 88f99c2..7499c2b 100644
--- a/examples/configured-client/src/test/java/org/glassfish/jersey/examples/configured/client/HelloWorldTest.java
+++ b/examples/configured-client/src/test/java/org/glassfish/jersey/examples/configured/client/HelloWorldTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.configured.client;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/declarative-linking/pom.xml b/examples/declarative-linking/pom.xml
index 425d359..63c4e78 100644
--- a/examples/declarative-linking/pom.xml
+++ b/examples/declarative-linking/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>declarative-linking</artifactId>
@@ -55,6 +55,11 @@
         </dependency>
 
         <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-moxy</artifactId>
         </dependency>
@@ -87,18 +92,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>pre-release</id>
             <build>
                 <plugins>
diff --git a/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/representation/ItemRepresentation.java b/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/representation/ItemRepresentation.java
index 532527a..bfaeaa1 100644
--- a/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/representation/ItemRepresentation.java
+++ b/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/representation/ItemRepresentation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,15 +12,15 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
-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.XmlTransient;
-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.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.glassfish.jersey.examples.linking.model.ItemsModel;
 import org.glassfish.jersey.examples.linking.resources.ItemResource;
diff --git a/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/representation/ItemsRepresentation.java b/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/representation/ItemsRepresentation.java
index ae2023c..4d702a2 100644
--- a/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/representation/ItemsRepresentation.java
+++ b/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/representation/ItemsRepresentation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,15 +13,15 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
-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.XmlTransient;
-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.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.glassfish.jersey.examples.linking.model.ItemsModel;
 import org.glassfish.jersey.examples.linking.resources.ItemsResource;
diff --git a/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/resources/ItemResource.java b/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/resources/ItemResource.java
index db93267..0f0ce27 100644
--- a/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/resources/ItemResource.java
+++ b/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/resources/ItemResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.linking.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.examples.linking.model.ItemModel;
 import org.glassfish.jersey.examples.linking.model.ItemsModel;
diff --git a/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/resources/ItemsResource.java b/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/resources/ItemsResource.java
index f342665..64e5372 100644
--- a/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/resources/ItemsResource.java
+++ b/examples/declarative-linking/src/main/java/org/glassfish/jersey/examples/linking/resources/ItemsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,16 +10,16 @@
 
 package org.glassfish.jersey.examples.linking.resources;
 
-import javax.ws.rs.DefaultValue;
-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.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DefaultValue;
+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.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.examples.linking.model.ItemsModel;
 import org.glassfish.jersey.examples.linking.representation.ItemsRepresentation;
@@ -42,7 +42,7 @@
 
     @GET
     public ItemsRepresentation query(
-            @Context javax.ws.rs.core.UriInfo info,
+            @Context jakarta.ws.rs.core.UriInfo info,
             @QueryParam("offset") @DefaultValue("-1") int offset, @DefaultValue("-1") @QueryParam("limit") int limit) {
 
         if (offset == -1 || limit == -1) {
diff --git a/examples/declarative-linking/src/test/java/org/glassfish/jersey/examples/linking/LinkWebAppTest.java b/examples/declarative-linking/src/test/java/org/glassfish/jersey/examples/linking/LinkWebAppTest.java
index df19dd3..21b6a1a 100644
--- a/examples/declarative-linking/src/test/java/org/glassfish/jersey/examples/linking/LinkWebAppTest.java
+++ b/examples/declarative-linking/src/test/java/org/glassfish/jersey/examples/linking/LinkWebAppTest.java
@@ -12,8 +12,8 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.examples.linking.resources.ItemsResource;
 import org.glassfish.jersey.linking.DeclarativeLinkingFeature;
diff --git a/examples/entity-filtering-security/README.MD b/examples/entity-filtering-security/README.MD
index dcb02ac..c326bcf 100644
--- a/examples/entity-filtering-security/README.MD
+++ b/examples/entity-filtering-security/README.MD
@@ -12,7 +12,7 @@
 ### *Role-based Entity Filtering using security annotations*
 
 This example demonstrates how to use entity filtering feature together
-with security annotations (from `javax.annotation.security` package) and
+with security annotations (from `jakarta.annotation.security` package) and
 how to apply them on domain classes as well as on JAX-RS resource
 classes or JAX-RS resource methods.
 
@@ -29,7 +29,7 @@
 
 -   [Enabling and configuring Entity Filtering in your
     application](https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest/entity-filtering.html#d0e14229)
--   [Role-based Entity Filtering using (javax.annotation.security)
+-   [Role-based Entity Filtering using (jakarta.annotation.security)
     annotations](https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest/entity-filtering.html#ef.security.annotations)
 
 Contents
diff --git a/examples/entity-filtering-security/pom.xml b/examples/entity-filtering-security/pom.xml
index cd1a5a9..5cb67a3 100644
--- a/examples/entity-filtering-security/pom.xml
+++ b/examples/entity-filtering-security/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>entity-filtering-security</artifactId>
@@ -55,6 +55,10 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-processing</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jackson</artifactId>
         </dependency>
 
diff --git a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/SecurityEntityFilteringApplication.java b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/SecurityEntityFilteringApplication.java
index d2c741b..a6001e0 100644
--- a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/SecurityEntityFilteringApplication.java
+++ b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/SecurityEntityFilteringApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.entityfiltering.security;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.SecurityEntityFilteringFeature;
 import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/domain/RestrictedEntity.java b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/domain/RestrictedEntity.java
index 324ab22..bbedc1f 100644
--- a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/domain/RestrictedEntity.java
+++ b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/domain/RestrictedEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.entityfiltering.security.domain;
 
-import javax.annotation.security.DenyAll;
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.annotation.security.DenyAll;
+import jakarta.annotation.security.PermitAll;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Restricted entity to demonstrate various security annotations.
diff --git a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/domain/RestrictedSubEntity.java b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/domain/RestrictedSubEntity.java
index aabc845..30ded8a 100644
--- a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/domain/RestrictedSubEntity.java
+++ b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/domain/RestrictedSubEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.entityfiltering.security.domain;
 
-import javax.annotation.security.RolesAllowed;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Restricted sub-entity to demonstrate that security entity-filtering is transitive.
diff --git a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/provider/SecurityRequestFilter.java b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/provider/SecurityRequestFilter.java
index 6bf5a29..e217398 100644
--- a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/provider/SecurityRequestFilter.java
+++ b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/provider/SecurityRequestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,11 +13,11 @@
 import java.io.IOException;
 import java.security.Principal;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Michal Gajdos
diff --git a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/resource/RestrictedResource.java b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/resource/RestrictedResource.java
index 40517d3..679933e 100644
--- a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/resource/RestrictedResource.java
+++ b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/resource/RestrictedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,16 +12,16 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.security.DenyAll;
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
+import jakarta.annotation.security.DenyAll;
+import jakarta.annotation.security.PermitAll;
+import jakarta.annotation.security.RolesAllowed;
 
 import org.glassfish.jersey.examples.entityfiltering.security.domain.RestrictedEntity;
 import org.glassfish.jersey.internal.util.Tokenizer;
diff --git a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/resource/UnrestrictedResource.java b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/resource/UnrestrictedResource.java
index 76e2094..d7b9f44 100644
--- a/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/resource/UnrestrictedResource.java
+++ b/examples/entity-filtering-security/src/main/java/org/glassfish/jersey/examples/entityfiltering/security/resource/UnrestrictedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,15 +10,15 @@
 
 package org.glassfish.jersey.examples.entityfiltering.security.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.examples.entityfiltering.security.domain.RestrictedEntity;
 
 /**
  * Resource not restricted with security annotations leaving security restrictions solely to {@link RestrictedEntity} and
- * {@link javax.ws.rs.core.SecurityContext}.
+ * {@link jakarta.ws.rs.core.SecurityContext}.
  *
  * @author Michal Gajdos
  */
diff --git a/examples/entity-filtering-security/src/test/java/org/glassfish/jersey/examples/entityfiltering/security/RestrictedResourceTest.java b/examples/entity-filtering-security/src/test/java/org/glassfish/jersey/examples/entityfiltering/security/RestrictedResourceTest.java
index c247fe1..59e2e4b 100644
--- a/examples/entity-filtering-security/src/test/java/org/glassfish/jersey/examples/entityfiltering/security/RestrictedResourceTest.java
+++ b/examples/entity-filtering-security/src/test/java/org/glassfish/jersey/examples/entityfiltering/security/RestrictedResourceTest.java
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.entityfiltering.security;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.examples.entityfiltering.security.domain.RestrictedEntity;
 import org.glassfish.jersey.examples.entityfiltering.security.domain.RestrictedSubEntity;
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.SecurityEntityFilteringFeature;
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -43,7 +43,7 @@
 public class RestrictedResourceTest {
 
     public static Iterable<Class<? extends Feature>> providers() {
-        return Arrays.asList(MoxyJsonFeature.class, JacksonFeature.class);
+        return Arrays.asList(MoxyJsonFeature.class);
     }
 
     @TestFactory
diff --git a/examples/entity-filtering-security/src/test/java/org/glassfish/jersey/examples/entityfiltering/security/UnrestrictedResourceTest.java b/examples/entity-filtering-security/src/test/java/org/glassfish/jersey/examples/entityfiltering/security/UnrestrictedResourceTest.java
index 5990662..55e47fc 100644
--- a/examples/entity-filtering-security/src/test/java/org/glassfish/jersey/examples/entityfiltering/security/UnrestrictedResourceTest.java
+++ b/examples/entity-filtering-security/src/test/java/org/glassfish/jersey/examples/entityfiltering/security/UnrestrictedResourceTest.java
@@ -10,11 +10,11 @@
 
 package org.glassfish.jersey.examples.entityfiltering.security;
 
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.examples.entityfiltering.security.domain.RestrictedEntity;
 import org.glassfish.jersey.examples.entityfiltering.security.domain.RestrictedSubEntity;
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.SecurityEntityFilteringFeature;
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -41,7 +41,7 @@
 public class UnrestrictedResourceTest {
 
     public static Iterable<Class<? extends Feature>> providers() {
-        return Arrays.asList(MoxyJsonFeature.class, JacksonFeature.class);
+        return Arrays.asList(MoxyJsonFeature.class);
     }
 
     @TestFactory
diff --git a/examples/entity-filtering-selectable/pom.xml b/examples/entity-filtering-selectable/pom.xml
index 8bbdcb7..6664f23 100644
--- a/examples/entity-filtering-selectable/pom.xml
+++ b/examples/entity-filtering-selectable/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>entity-filtering-selectable</artifactId>
@@ -55,6 +55,10 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-processing</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jackson</artifactId>
         </dependency>
 
diff --git a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/SelectableEntityFilteringApplication.java b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/SelectableEntityFilteringApplication.java
index 4e94e3a..093d6c2 100644
--- a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/SelectableEntityFilteringApplication.java
+++ b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/SelectableEntityFilteringApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.entityfiltering.selectable;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.SelectableEntityFilteringFeature;
 import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/Address.java b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/Address.java
index cc4edbb..303e8e9 100644
--- a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/Address.java
+++ b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/Address.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.entityfiltering.selectable.domain;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 public class Address {
diff --git a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/Person.java b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/Person.java
index 8d4b9b5..40d6e95 100644
--- a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/Person.java
+++ b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/Person.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,7 +13,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 public class Person {
diff --git a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/PhoneNumber.java b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/PhoneNumber.java
index de8e89e..43faa5b 100644
--- a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/PhoneNumber.java
+++ b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/domain/PhoneNumber.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.entityfiltering.selectable.domain;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 public class PhoneNumber {
diff --git a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/resource/PersonResource.java b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/resource/PersonResource.java
index 45bb8b6..5450053 100644
--- a/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/resource/PersonResource.java
+++ b/examples/entity-filtering-selectable/src/main/java/org/glassfish/jersey/examples/entityfiltering/selectable/resource/PersonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,9 +13,9 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.examples.entityfiltering.selectable.domain.Address;
 import org.glassfish.jersey.examples.entityfiltering.selectable.domain.Person;
diff --git a/examples/entity-filtering-selectable/src/test/java/org/glassfish/jersey/examples/entityfiltering/selectable/PersonResourceTest.java b/examples/entity-filtering-selectable/src/test/java/org/glassfish/jersey/examples/entityfiltering/selectable/PersonResourceTest.java
index 5bd5a38..92b7340 100644
--- a/examples/entity-filtering-selectable/src/test/java/org/glassfish/jersey/examples/entityfiltering/selectable/PersonResourceTest.java
+++ b/examples/entity-filtering-selectable/src/test/java/org/glassfish/jersey/examples/entityfiltering/selectable/PersonResourceTest.java
@@ -16,7 +16,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.examples.entityfiltering.selectable.domain.Address;
diff --git a/examples/entity-filtering/README.MD b/examples/entity-filtering/README.MD
index eac743c..d396303 100644
--- a/examples/entity-filtering/README.MD
+++ b/examples/entity-filtering/README.MD
@@ -52,7 +52,7 @@
 
 ```javascript
 {
-   "description" : "Jersey is the open source (under dual EPL+GPL license) JAX-RS 2.1 (JSR 370) production quality Reference Implementation for building RESTful Web services.",
+   "description" : "Jersey 3 is the open source (see NOTICE.md for license information) Jakarta RESTful Web Services 3.0 production quality compatible implementation for building RESTful Web services.",
    "id" : 1,
    "name" : "Jersey"
 }
@@ -62,7 +62,7 @@
 
 ```javascript
 {
-   "description" : "Jersey is the open source (under dual EPL+GPL license) JAX-RS 2.1 (JSR 370) production quality Reference Implementation for building RESTful Web services.",
+   "description" : "Jersey 3 is the open source (see NOTICE.md for license information) Jakarta RESTful Web Services 3.0 production quality compatible implementation for building RESTful Web services.",
    "id" : 1,
    "name" : "Jersey",
    "tasks" : [ {
diff --git a/examples/entity-filtering/pom.xml b/examples/entity-filtering/pom.xml
index ff97e47..4af5fa4 100644
--- a/examples/entity-filtering/pom.xml
+++ b/examples/entity-filtering/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>entity-filtering</artifactId>
@@ -55,6 +55,10 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-processing</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jackson</artifactId>
         </dependency>
 
diff --git a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/EntityFilteringApplication.java b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/EntityFilteringApplication.java
index a98c5d4..a95210a 100644
--- a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/EntityFilteringApplication.java
+++ b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/EntityFilteringApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.entityfiltering;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/EntityStore.java b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/EntityStore.java
index c2cd8d1..5314112 100644
--- a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/EntityStore.java
+++ b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/EntityStore.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -29,9 +29,9 @@
 
     static {
         // Projects.
-        final Project project = createProject("Jersey", "Jersey is the open source (see NOTICE.md for license "
-                + "information) JAX-RS 2.1 (JSR 370) production quality Reference Implementation for building RESTful Web "
-                + "services.");
+        final Project project = createProject("Jersey", "Jersey 3 is the open source (see NOTICE.md for license "
+                + "information) Jakarta RESTful Web Services 3.0 production quality compatible implementation for building "
+                + "RESTful Web services.");
 
         // Users.
         final User robot = createUser("Jersey Robot", "very@secret.com");
diff --git a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/Project.java b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/Project.java
index 8533ea9..99e2a95 100644
--- a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/Project.java
+++ b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/Project.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,7 +12,7 @@
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.examples.entityfiltering.filtering.ProjectDetailedView;
 
diff --git a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/Task.java b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/Task.java
index dd7d889..a3d3158 100644
--- a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/Task.java
+++ b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/Task.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.entityfiltering.domain;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.examples.entityfiltering.filtering.TaskDetailedView;
 
diff --git a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/User.java b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/User.java
index 5a2673f..be7b160 100644
--- a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/User.java
+++ b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/domain/User.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,7 +12,7 @@
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.examples.entityfiltering.filtering.UserDetailedView;
 
diff --git a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/ProjectsResource.java b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/ProjectsResource.java
index fe0ece6..847ba10 100644
--- a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/ProjectsResource.java
+++ b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/ProjectsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,10 +12,10 @@
 
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.examples.entityfiltering.domain.EntityStore;
 import org.glassfish.jersey.examples.entityfiltering.domain.Project;
diff --git a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/TasksResource.java b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/TasksResource.java
index 1b1f177..ca4891c 100644
--- a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/TasksResource.java
+++ b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/TasksResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,12 +13,12 @@
 import java.lang.annotation.Annotation;
 import java.util.List;
 
-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.Response;
+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.Response;
 
 import org.glassfish.jersey.examples.entityfiltering.domain.EntityStore;
 import org.glassfish.jersey.examples.entityfiltering.domain.Task;
diff --git a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/UsersResource.java b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/UsersResource.java
index 71d7646..bd3cf48 100644
--- a/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/UsersResource.java
+++ b/examples/entity-filtering/src/main/java/org/glassfish/jersey/examples/entityfiltering/resource/UsersResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,13 +13,13 @@
 import java.lang.annotation.Annotation;
 import java.util.List;
 
-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.GenericEntity;
-import javax.ws.rs.core.Response;
+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.GenericEntity;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.examples.entityfiltering.domain.EntityStore;
 import org.glassfish.jersey.examples.entityfiltering.domain.User;
diff --git a/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/ProjectsResourceTest.java b/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/ProjectsResourceTest.java
index b834406..89c8616 100644
--- a/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/ProjectsResourceTest.java
+++ b/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/ProjectsResourceTest.java
@@ -15,11 +15,11 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.examples.entityfiltering.domain.Project;
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -43,7 +43,7 @@
 public class ProjectsResourceTest {
 
     public static Iterable<Class<? extends Feature>> providers() {
-        return Arrays.asList(MoxyJsonFeature.class, JacksonFeature.class);
+        return Arrays.asList(MoxyJsonFeature.class);
     }
 
     @TestFactory
diff --git a/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/TaskResourceTest.java b/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/TaskResourceTest.java
index ad61b9a..ed34790 100644
--- a/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/TaskResourceTest.java
+++ b/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/TaskResourceTest.java
@@ -15,11 +15,11 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.examples.entityfiltering.domain.Task;
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -42,7 +42,7 @@
 public class TaskResourceTest {
 
     public static Iterable<Class<? extends Feature>> providers() {
-        return Arrays.asList(MoxyJsonFeature.class, JacksonFeature.class);
+        return Arrays.asList(MoxyJsonFeature.class);
     }
 
     @TestFactory
diff --git a/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/UsersResourceTest.java b/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/UsersResourceTest.java
index 777d110..60b0608 100644
--- a/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/UsersResourceTest.java
+++ b/examples/entity-filtering/src/test/java/org/glassfish/jersey/examples/entityfiltering/UsersResourceTest.java
@@ -15,11 +15,11 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.examples.entityfiltering.domain.User;
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -42,7 +42,7 @@
 public class UsersResourceTest {
 
     public static Iterable<Class<? extends Feature>> providers() {
-        return Arrays.asList(MoxyJsonFeature.class, JacksonFeature.class);
+        return Arrays.asList(MoxyJsonFeature.class);
     }
 
     @TestFactory
diff --git a/examples/etc/gf-project-src-pom.xsl b/examples/etc/gf-project-src-pom.xsl
index bcd0b5c..a800edd 100644
--- a/examples/etc/gf-project-src-pom.xsl
+++ b/examples/etc/gf-project-src-pom.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2022 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -33,10 +33,10 @@
             or pom:artifactId='jersey-bean-validation'
             or pom:groupId='com.sun.xml.bind'
             or pom:groupId='org.codehaus.jettison'
-            or pom:groupId='javax.annotation'
-            or pom:groupId='javax.enterprise'
-            or pom:groupId='javax.servlet'
-            or pom:groupId='javax.ws.rs']/pom:scope[text()!=test]">
+            or pom:groupId='jakarta.annotation'
+            or pom:groupId='jakarta.enterprise'
+            or pom:groupId='jakarta.servlet'
+            or pom:groupId='jakarta.ws.rs']/pom:scope[text()!=test]">
         <scope>provided</scope>
     </xsl:template>
 
@@ -49,12 +49,12 @@
             or pom:artifactId='jersey-mvc-jsp'
             or pom:artifactId='jersey-bean-validation'
             or pom:groupId='com.sun.xml.bind'
-            or pom:groupId='javax.validation'
+            or pom:groupId='jakarta.validation'
             or pom:groupId='org.codehaus.jettison'
-            or pom:groupId='javax.annotation'
-            or pom:groupId='javax.enterprise'
-            or pom:groupId='javax.servlet'
-            or pom:groupId='javax.ws.rs']">
+            or pom:groupId='jakarta.annotation'
+            or pom:groupId='jakarta.enterprise'
+            or pom:groupId='jakarta.servlet'
+            or pom:groupId='jakarta.ws.rs']">
         <xsl:copy>
             <xsl:apply-templates />
             <xsl:if test="count(pom:scope)=0">
@@ -108,8 +108,8 @@
                 </exclusion>
 
                 <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>javax.servlet-api</artifactId>
+                    <groupId>jakarta.servlet</groupId>
+                    <artifactId>jakarta.servlet-api</artifactId>
                 </exclusion>
             </exclusions>
         </xsl:copy>
diff --git a/examples/etc/wls-project-src-pom.xsl b/examples/etc/wls-project-src-pom.xsl
index 350753b..ff9a34c 100644
--- a/examples/etc/wls-project-src-pom.xsl
+++ b/examples/etc/wls-project-src-pom.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -33,7 +33,7 @@
             or pom:artifactId='jersey-media-multipart'
             or pom:artifactId='jersey-media-sse'
             or pom:groupId='com.sun.xml.bind'
-            or pom:groupId='javax.servlet']/pom:scope[text()!=test]">
+            or pom:groupId='jakarta.servlet']/pom:scope[text()!=test]">
         <scope>provided</scope>
     </xsl:template>
 
@@ -47,7 +47,7 @@
             or pom:artifactId='jersey-media-multipart'
             or pom:artifactId='jersey-media-sse'
             or pom:groupId='com.sun.xml.bind'
-            or pom:groupId='javax.servlet']">
+            or pom:groupId='jakarta.servlet']">
         <xsl:copy>
             <xsl:apply-templates />
             <xsl:if test="count(pom:scope)=0">
@@ -71,7 +71,7 @@
             </exclusion>
             <exclusion>
                 <groupId>org.glassfish.hk2.external</groupId>
-                <artifactId>javax.inject</artifactId>
+                <artifactId>jakarta.inject</artifactId>
             </exclusion>
             <exclusion>
                 <groupId>jakarta.ws.rs</groupId>
@@ -98,7 +98,7 @@
                     </exclusion>
                     <exclusion>
                         <groupId>org.glassfish.hk2.external</groupId>
-                        <artifactId>javax.inject</artifactId>
+                        <artifactId>jakarta.inject</artifactId>
                     </exclusion>
                     <exclusion>
                         <groupId>jakarta.ws.rs</groupId>
diff --git a/examples/etc/wls1213-project-src-pom.xsl b/examples/etc/wls1213-project-src-pom.xsl
index b06099b..bc752cf 100644
--- a/examples/etc/wls1213-project-src-pom.xsl
+++ b/examples/etc/wls1213-project-src-pom.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -32,7 +32,7 @@
             or pom:artifactId='jersey-media-multipart'
             or pom:artifactId='jersey-media-sse'
             or pom:groupId='com.sun.xml.bind'
-            or pom:groupId='javax.servlet']/pom:scope[text()!=test]">
+            or pom:groupId='jakarta.servlet']/pom:scope[text()!=test]">
         <scope>provided</scope>
     </xsl:template>
 
@@ -45,7 +45,7 @@
             or pom:artifactId='jersey-media-multipart'
             or pom:artifactId='jersey-media-sse'
             or pom:groupId='com.sun.xml.bind'
-            or pom:groupId='javax.servlet']">
+            or pom:groupId='jakarta.servlet']">
         <xsl:copy>
             <xsl:apply-templates />
             <xsl:if test="count(pom:scope)=0">
@@ -70,7 +70,7 @@
             </exclusion>
             <exclusion>
                 <groupId>org.glassfish.hk2.external</groupId>
-                <artifactId>javax.inject</artifactId>
+                <artifactId>jakarta.inject</artifactId>
             </exclusion>
             <exclusion>
                 <groupId>jakarta.ws.rs</groupId>
@@ -98,7 +98,7 @@
                     </exclusion>
                     <exclusion>
                         <groupId>org.glassfish.hk2.external</groupId>
-                        <artifactId>javax.inject</artifactId>
+                        <artifactId>jakarta.inject</artifactId>
                     </exclusion>
                     <exclusion>
                         <groupId>jakarta.ws.rs</groupId>
diff --git a/examples/exception-mapping/README.MD b/examples/exception-mapping/README.MD
index ec73610..64190ca 100644
--- a/examples/exception-mapping/README.MD
+++ b/examples/exception-mapping/README.MD
@@ -43,7 +43,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
 
 -   <http://localhost:8080/base/exception>
 -   <http://localhost:8080/base/exception/response_exception>
diff --git a/examples/exception-mapping/pom.xml b/examples/exception-mapping/pom.xml
index deb0188..b55aa9e 100644
--- a/examples/exception-mapping/pom.xml
+++ b/examples/exception-mapping/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>exception-mapping</artifactId>
diff --git a/examples/exception-mapping/src/main/java/org/glassfish/jersey/examples/exception/ExceptionResource.java b/examples/exception-mapping/src/main/java/org/glassfish/jersey/examples/exception/ExceptionResource.java
index e4cfe74..4229bcd 100644
--- a/examples/exception-mapping/src/main/java/org/glassfish/jersey/examples/exception/ExceptionResource.java
+++ b/examples/exception-mapping/src/main/java/org/glassfish/jersey/examples/exception/ExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,20 +12,20 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.examples.exception.Exceptions.MyException;
 import org.glassfish.jersey.examples.exception.Exceptions.MySubException;
diff --git a/examples/exception-mapping/src/main/java/org/glassfish/jersey/examples/exception/Exceptions.java b/examples/exception-mapping/src/main/java/org/glassfish/jersey/examples/exception/Exceptions.java
index 670bde8..a3af2da 100644
--- a/examples/exception-mapping/src/main/java/org/glassfish/jersey/examples/exception/Exceptions.java
+++ b/examples/exception-mapping/src/main/java/org/glassfish/jersey/examples/exception/Exceptions.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.exception;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Exceptions class.
diff --git a/examples/exception-mapping/src/test/java/org/glassfish/jersey/examples/exception/ExceptionMappingFilterTest.java b/examples/exception-mapping/src/test/java/org/glassfish/jersey/examples/exception/ExceptionMappingFilterTest.java
index f95f191..31ded3c 100644
--- a/examples/exception-mapping/src/test/java/org/glassfish/jersey/examples/exception/ExceptionMappingFilterTest.java
+++ b/examples/exception-mapping/src/test/java/org/glassfish/jersey/examples/exception/ExceptionMappingFilterTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.exception;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/exception-mapping/src/test/java/org/glassfish/jersey/examples/exception/ExceptionMappingTest.java b/examples/exception-mapping/src/test/java/org/glassfish/jersey/examples/exception/ExceptionMappingTest.java
index 615cd29..0ada5be 100644
--- a/examples/exception-mapping/src/test/java/org/glassfish/jersey/examples/exception/ExceptionMappingTest.java
+++ b/examples/exception-mapping/src/test/java/org/glassfish/jersey/examples/exception/ExceptionMappingTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.exception;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/extended-wadl-webapp/pom.xml b/examples/extended-wadl-webapp/pom.xml
index 259da60..0d2e466 100644
--- a/examples/extended-wadl-webapp/pom.xml
+++ b/examples/extended-wadl-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>extended-wadl-webapp</artifactId>
@@ -132,39 +132,65 @@
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-osgi</artifactId>
-            <scope>test</scope>
+<!--            <scope>test</scope>-->
         </dependency>
         <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sun.activation</groupId>
+            <artifactId>jakarta.activation</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <!-- Extended Wadl Config: this plugin generates the jaxb beans from xsd schemas -->
             <plugin>
-                <groupId>org.jvnet.jaxb2.maven2</groupId>
-                <artifactId>maven-jaxb2-plugin</artifactId>
-                <version>0.14.0</version>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jaxb2-maven-plugin</artifactId>
+                <version>2.5.0</version>
                 <executions>
                     <execution>
-                        <phase>generate-sources</phase>
+                        <id>xjc</id>
                         <goals>
-                            <goal>generate</goal>
+                            <goal>xjc</goal>
                         </goals>
                     </execution>
                 </executions>
                 <configuration>
-                    <generatePackage>org.glassfish.jersey.examples.extendedwadl</generatePackage>
-                    <schemaDirectory>src/main/xsd</schemaDirectory>
-                    <!--<includeSchemas>-->
-                    <!--<includeSchema>**/*.xsd</includeSchema>-->
-                    <!--</includeSchemas>-->
+                    <sources>
+                        <source>src/main/xsd</source>
+                    </sources>
+                    <packageName>org.glassfish.jersey.examples.extendedwadl</packageName>
                     <extension>true</extension>
                     <strict>false</strict>
                     <verbose>true</verbose>
                 </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.glassfish.jaxb</groupId>
+                        <artifactId>jaxb-xjc</artifactId>
+                        <version>${jaxb.ri.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>jakarta.activation</groupId>
+                        <artifactId>jakarta.activation-api</artifactId>
+                        <version>${jakarta.activation.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>jakarta.xml.bind</groupId>
+                        <artifactId>jakarta.xml.bind-api</artifactId>
+                        <version>${jakarta.jaxb.api.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>com.sun.xml.bind</groupId>
+                        <artifactId>jaxb-impl</artifactId>
+                        <version>${jaxb.ri.version}</version>
+                    </dependency>
+
+                </dependencies>
             </plugin>
 
             <!-- Extended Wadl Config: javadoc plugin generates resourcedoc.xml during the compilation using doclet.
@@ -216,7 +242,7 @@
                         <docletArtifact>
                             <groupId>jakarta.xml.bind</groupId>
                             <artifactId>jakarta.xml.bind-api</artifactId>
-                            <version>${jaxb.api.version}</version>
+                            <version>${jakarta.jaxb.api.version}</version>
                         </docletArtifact>
                     </docletArtifacts>
                     <!-- the following option is required as a work around for
@@ -224,17 +250,9 @@
                          by a maven version > 2.0.9 -->
                     <useStandardDocletOptions>false</useStandardDocletOptions>
                     <additionalOptions>
-                        <additionalOption>-output</additionalOption>
-                        <additionalOption>${project.build.outputDirectory}/resourcedoc.xml</additionalOption>
+                        <additionalOption>-output ${project.build.outputDirectory}/resourcedoc.xml</additionalOption>
                     </additionalOptions>
-                    <additionalDependencies>
-                        <additionalDependency>
-                            <groupId>com.sun.xml.bind</groupId>
-                            <artifactId>jaxb-osgi</artifactId>
-                            <version>${jaxb.ri.version}</version>
-                        </additionalDependency>
-                    </additionalDependencies>
-<!--                    <additionalparam>-output ${project.build.outputDirectory}/resourcedoc.xml</additionalparam>-->
+                    <doclint>none</doclint>
                 </configuration>
             </plugin>
             <plugin>
@@ -243,6 +261,9 @@
                 <configuration>
                     <forkMode>always</forkMode>
                     <enableAssertions>false</enableAssertions>
+                    <excludes>
+                        <exclude>org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappOsgiTest.java</exclude>
+                    </excludes>
                 </configuration>
                 <dependencies>
                     <dependency>
@@ -269,42 +290,6 @@
 
     <profiles>
         <profile>
-            <id>testsJdk11</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.activation</groupId>
-                    <artifactId>jakarta.activation</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <id>javadocAndTestsSkipJDK13</id>
-            <activation>
-                <jdk>[13,)</jdk>
-            </activation>
-            <build>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-javadoc-plugin</artifactId>
-                    <configuration>
-                        <skip>true</skip>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <configuration>
-                        <skip>true</skip>
-                    </configuration>
-                </plugin>
-            </plugins>
-            </build>
-        </profile>
-        <profile>
             <id>pre-release</id>
             <build>
                 <plugins>
diff --git a/examples/extended-wadl-webapp/src/main/java/org/glassfish/jersey/examples/extendedwadl/resources/ItemResource.java b/examples/extended-wadl-webapp/src/main/java/org/glassfish/jersey/examples/extendedwadl/resources/ItemResource.java
index 97ae2ee..ed5d31e 100644
--- a/examples/extended-wadl-webapp/src/main/java/org/glassfish/jersey/examples/extendedwadl/resources/ItemResource.java
+++ b/examples/extended-wadl-webapp/src/main/java/org/glassfish/jersey/examples/extendedwadl/resources/ItemResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,16 +10,16 @@
 
 package org.glassfish.jersey.examples.extendedwadl.resources;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-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.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+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.glassfish.jersey.examples.extendedwadl.Item;
 
diff --git a/examples/extended-wadl-webapp/src/main/java/org/glassfish/jersey/examples/extendedwadl/resources/ItemsResource.java b/examples/extended-wadl-webapp/src/main/java/org/glassfish/jersey/examples/extendedwadl/resources/ItemsResource.java
index b1b7f51..748d082 100644
--- a/examples/extended-wadl-webapp/src/main/java/org/glassfish/jersey/examples/extendedwadl/resources/ItemsResource.java
+++ b/examples/extended-wadl-webapp/src/main/java/org/glassfish/jersey/examples/extendedwadl/resources/ItemsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,16 +14,16 @@
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.examples.extendedwadl.Item;
 
diff --git a/examples/extended-wadl-webapp/src/main/webapp/WEB-INF/web.xml b/examples/extended-wadl-webapp/src/main/webapp/WEB-INF/web.xml
index ccb2ede..8cbafd1 100644
--- a/examples/extended-wadl-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/extended-wadl-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,7 +16,7 @@
         <servlet-name>org.glassfish.jersey.examples.extendedwadl.resources.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.extendedwadl.resources.MyApplication</param-value>
         </init-param>
         <init-param>
diff --git a/examples/extended-wadl-webapp/src/test/java/org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappOsgiTest.java b/examples/extended-wadl-webapp/src/test/java/org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappOsgiTest.java
index 584ec0a..03d44bb 100644
--- a/examples/extended-wadl-webapp/src/test/java/org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappOsgiTest.java
+++ b/examples/extended-wadl-webapp/src/test/java/org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappOsgiTest.java
@@ -19,12 +19,12 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.xpath.XPath;
@@ -80,6 +80,8 @@
     BundleContext bundleContext;
 
     private static final Logger LOGGER = Logger.getLogger(ExtendedWadlWebappOsgiTest.class.getName());
+    private static final String JAXRS_RUNTIME_DELEGATE_PROPERTY = "jakarta.ws.rs.ext.RuntimeDelegate";
+    private static final String JAXRS_CLIENT_BUILDER = "jakarta.ws.rs.client.ClientBuilder";
 
     // we want to re-use the port number as set for Jersey test container to avoid CT port number clashes
     private static final String testContainerPort = System.getProperty(TestProperties.CONTAINER_PORT);
@@ -96,8 +98,10 @@
         List<Option> options = Arrays.asList(options(
                 // systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("FINEST"),
                 systemProperty("org.osgi.framework.system.packages.extra").value("jakarta.annotation"),
+                systemProperty(JAXRS_RUNTIME_DELEGATE_PROPERTY).value("org.glassfish.jersey.internal.RuntimeDelegateImpl"),
+                systemProperty(JAXRS_CLIENT_BUILDER).value("org.glassfish.jersey.client.JerseyClientBuilder"),
 
-                // javax.annotation must go first!
+                // jakarta.annotation must go first!
                 mavenBundle().groupId("jakarta.annotation").artifactId("jakarta.annotation-api").versionAsInProject(),
                 //JAXB-API
                 mavenBundle().groupId("jakarta.xml.bind").artifactId("jakarta.xml.bind-api").versionAsInProject(),
diff --git a/examples/extended-wadl-webapp/src/test/java/org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappTest.java b/examples/extended-wadl-webapp/src/test/java/org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappTest.java
index 918471c..abfeb24 100644
--- a/examples/extended-wadl-webapp/src/test/java/org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappTest.java
+++ b/examples/extended-wadl-webapp/src/test/java/org/glassfish/jersey/examples/extendedwadl/ExtendedWadlWebappTest.java
@@ -15,8 +15,8 @@
 import java.nio.charset.Charset;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Response;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
diff --git a/examples/freemarker-webapp/README.MD b/examples/freemarker-webapp/README.MD
index 11bfa2b..59bf569 100644
--- a/examples/freemarker-webapp/README.MD
+++ b/examples/freemarker-webapp/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -38,7 +38,7 @@
 
 >     mvn clean test
 
-This deploys this example using [Grizzly](http://grizzly.java.net/) and
+This deploys this example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) and
 executes the Jersey Test Framework using the unit test framework.
 
 You can see test classes at `src/main/test` subdirectory for detailed
diff --git a/examples/freemarker-webapp/pom.xml b/examples/freemarker-webapp/pom.xml
index 7499b8b..d5b3042 100644
--- a/examples/freemarker-webapp/pom.xml
+++ b/examples/freemarker-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>freemarker-webapp</artifactId>
@@ -37,14 +37,24 @@
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <!-- Run the application using "mvn jetty:run" -->
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
-                <artifactId>maven-jetty-plugin</artifactId>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
diff --git a/examples/freemarker-webapp/src/main/java/org/glassfish/jersey/examples/freemarker/resources/FreemarkerResource.java b/examples/freemarker-webapp/src/main/java/org/glassfish/jersey/examples/freemarker/resources/FreemarkerResource.java
index c71b22d..1b79a26 100644
--- a/examples/freemarker-webapp/src/main/java/org/glassfish/jersey/examples/freemarker/resources/FreemarkerResource.java
+++ b/examples/freemarker-webapp/src/main/java/org/glassfish/jersey/examples/freemarker/resources/FreemarkerResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,10 +15,10 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.mvc.Viewable;
 
diff --git a/examples/freemarker-webapp/src/main/webapp/WEB-INF/web.xml b/examples/freemarker-webapp/src/main/webapp/WEB-INF/web.xml
index 940b11a..17eef2b 100644
--- a/examples/freemarker-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/freemarker-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,16 +11,16 @@
 
 -->
 
-<web-app version="2.5"
-        xmlns="http://java.sun.com/xml/ns/javaee"
+<web-app version="5.0"
+        xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+        xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
 
     <servlet>
         <servlet-name>org.glassfish.jersey.examples.freemarker.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.freemarker.MyApplication</param-value>
         </init-param>
         <init-param>
@@ -32,7 +32,8 @@
 
     <servlet-mapping>
         <servlet-name>org.glassfish.jersey.examples.freemarker.MyApplication</servlet-name>
-        <url-pattern>/*</url-pattern>
+        <!-- TODO jetty 11 beta does not use glassfish-web.xml -->
+        <url-pattern>/freemarker-webapp/*</url-pattern>
     </servlet-mapping>
 
 </web-app>
diff --git a/examples/freemarker-webapp/src/test/java/org/glassfish/jersey/examples/freemarker/FreemarkerTest.java b/examples/freemarker-webapp/src/test/java/org/glassfish/jersey/examples/freemarker/FreemarkerTest.java
index 1fa542b..85634a0 100644
--- a/examples/freemarker-webapp/src/test/java/org/glassfish/jersey/examples/freemarker/FreemarkerTest.java
+++ b/examples/freemarker-webapp/src/test/java/org/glassfish/jersey/examples/freemarker/FreemarkerTest.java
@@ -12,8 +12,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.mvc.freemarker.FreemarkerMvcFeature;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/groovy/README.MD b/examples/groovy/README.MD
index 68e5c16..cf42107 100644
--- a/examples/groovy/README.MD
+++ b/examples/groovy/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -34,7 +34,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
 
 From a web browser, visit:
 
diff --git a/examples/groovy/pom.xml b/examples/groovy/pom.xml
index 3b92f11..c42253f 100644
--- a/examples/groovy/pom.xml
+++ b/examples/groovy/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <artifactId>groovy</artifactId>
     <packaging>jar</packaging>
@@ -29,6 +29,16 @@
             <artifactId>groovy-all</artifactId>
             <type>pom</type>
             <version>${groovy.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.junit.jupiter</groupId>
+                    <artifactId>junit-jupiter-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -48,7 +58,7 @@
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-engine</artifactId>
-            <version>5.8.2</version>
+            <version>${junit5.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
@@ -83,7 +93,7 @@
             <plugin>
                 <groupId>org.codehaus.gmavenplus</groupId>
                 <artifactId>gmavenplus-plugin</artifactId>
-                <version>1.12.1</version>
+                <version>${org.codehaus.gmavenplus.version}</version>
                 <executions>
                     <execution>
                         <id>1</id>
diff --git a/examples/groovy/src/main/groovy/org/glassfish/jersey/examples/groovy/GroovyResource.groovy b/examples/groovy/src/main/groovy/org/glassfish/jersey/examples/groovy/GroovyResource.groovy
index 8f67e15..fceed96 100644
--- a/examples/groovy/src/main/groovy/org/glassfish/jersey/examples/groovy/GroovyResource.groovy
+++ b/examples/groovy/src/main/groovy/org/glassfish/jersey/examples/groovy/GroovyResource.groovy
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.groovy
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Example Groovy JAX-RS resource.
diff --git a/examples/groovy/src/main/script/NewGroovyScript.groovy b/examples/groovy/src/main/script/NewGroovyScript.groovy
index c3aae52..9687680 100644
--- a/examples/groovy/src/main/script/NewGroovyScript.groovy
+++ b/examples/groovy/src/main/script/NewGroovyScript.groovy
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,7 +13,7 @@
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory
 import org.glassfish.jersey.server.ResourceConfig
 
-import javax.ws.rs.core.UriBuilder
+import jakarta.ws.rs.core.UriBuilder
 
 /*
  * Groovy script to start the example app
diff --git a/examples/groovy/src/test/groovy/org/glassfish/jersey/examples/groovy/GroovyResourceTest.groovy b/examples/groovy/src/test/groovy/org/glassfish/jersey/examples/groovy/GroovyResourceTest.groovy
index eb0d749..8d73db4 100644
--- a/examples/groovy/src/test/groovy/org/glassfish/jersey/examples/groovy/GroovyResourceTest.groovy
+++ b/examples/groovy/src/test/groovy/org/glassfish/jersey/examples/groovy/GroovyResourceTest.groovy
@@ -15,7 +15,7 @@
 import org.glassfish.jersey.test.TestProperties
 import org.junit.jupiter.api.Test
 
-import javax.ws.rs.core.Response
+import jakarta.ws.rs.core.Response
 import static org.junit.jupiter.api.Assertions.assertEquals
 
 /**
diff --git a/examples/helloworld-benchmark/pom.xml b/examples/helloworld-benchmark/pom.xml
index 87d4ad5..055c055 100644
--- a/examples/helloworld-benchmark/pom.xml
+++ b/examples/helloworld-benchmark/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld-benchmark</artifactId>
@@ -73,6 +73,13 @@
             <type>pom</type>
             <scope>test</scope>
         </dependency>
+
+        <!-- JMH dependency -->
+        <dependency>
+            <groupId>javax.annotation</groupId>
+            <artifactId>javax.annotation-api</artifactId>
+            <version>${javax.annotation.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/examples/helloworld-benchmark/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java b/examples/helloworld-benchmark/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
index a57a53d..fd30fcc 100644
--- a/examples/helloworld-benchmark/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
+++ b/examples/helloworld-benchmark/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,11 +10,11 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-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 jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Simple "Hello World" resource with three resource methods and a sub-resource locator (that points again to this class itself).
diff --git a/examples/helloworld-benchmark/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java b/examples/helloworld-benchmark/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
index 00ede89..92cf5aa 100644
--- a/examples/helloworld-benchmark/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
+++ b/examples/helloworld-benchmark/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/helloworld-cdi2-se/README.MD b/examples/helloworld-cdi2-se/README.MD
index 839b069..5f96f8c 100644
--- a/examples/helloworld-cdi2-se/README.MD
+++ b/examples/helloworld-cdi2-se/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -29,6 +29,6 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
 
 -   <http://localhost:8080/helloworld/Some%20Name>
diff --git a/examples/helloworld-cdi2-se/pom.xml b/examples/helloworld-cdi2-se/pom.xml
index c83af74..fa19a70 100644
--- a/examples/helloworld-cdi2-se/pom.xml
+++ b/examples/helloworld-cdi2-se/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld-cdi2-se</artifactId>
@@ -86,6 +86,12 @@
                 <dependency>
                     <groupId>org.jboss.weld.se</groupId>
                     <artifactId>weld-se-core</artifactId>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.jboss.logging</groupId>
+                            <artifactId>jboss-logging</artifactId>
+                        </exclusion>
+                    </exclusions>
                 </dependency>
             </dependencies>
         </profile>
diff --git a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/ApplicationScopedCounter.java b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/ApplicationScopedCounter.java
index 119aa08..2632cdc 100644
--- a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/ApplicationScopedCounter.java
+++ b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/ApplicationScopedCounter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,7 +12,7 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Application-scoped counter.
diff --git a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/CounterResource.java b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/CounterResource.java
index 519da94..a1edad4 100644
--- a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/CounterResource.java
+++ b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/CounterResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,11 +10,11 @@
 
 package org.glassfish.jersey.examples.helloworld.cdi2se;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  * Request-scoped resource counter.
diff --git a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/HelloBean.java b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/HelloBean.java
index 7a06759..0f37d93 100644
--- a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/HelloBean.java
+++ b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/HelloBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.helloworld.cdi2se;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Application-scoped service returning "hello" sentence.
diff --git a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/HelloWorldResource.java b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/HelloWorldResource.java
index ce9cba1..df3b93d 100644
--- a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/HelloWorldResource.java
+++ b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,15 +12,15 @@
 
 import java.security.Principal;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.SecurityContext;
 
 import static java.util.Optional.ofNullable;
 
diff --git a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/RequestScopedCounter.java b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/RequestScopedCounter.java
index d457878..751303d 100644
--- a/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/RequestScopedCounter.java
+++ b/examples/helloworld-cdi2-se/src/main/java/org/glassfish/jersey/examples/helloworld/cdi2se/RequestScopedCounter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,7 +12,7 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 /**
  * Request-scoped counter.
diff --git a/examples/helloworld-netty/pom.xml b/examples/helloworld-netty/pom.xml
index 05045e5..2bb3e5f 100644
--- a/examples/helloworld-netty/pom.xml
+++ b/examples/helloworld-netty/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld-netty</artifactId>
diff --git a/examples/helloworld-netty/src/main/java/org/glassfish/jersey/examples/helloworld/netty/HelloWorldResource.java b/examples/helloworld-netty/src/main/java/org/glassfish/jersey/examples/helloworld/netty/HelloWorldResource.java
index b95dff9..b6232fb 100644
--- a/examples/helloworld-netty/src/main/java/org/glassfish/jersey/examples/helloworld/netty/HelloWorldResource.java
+++ b/examples/helloworld-netty/src/main/java/org/glassfish/jersey/examples/helloworld/netty/HelloWorldResource.java
@@ -10,13 +10,13 @@
 
 package org.glassfish.jersey.examples.helloworld.netty;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 /**
  *
diff --git a/examples/helloworld-netty/src/test/java/org/glassfish/jersey/examples/helloworld/netty/CustomLoggingFilter.java b/examples/helloworld-netty/src/test/java/org/glassfish/jersey/examples/helloworld/netty/CustomLoggingFilter.java
index 219f219..db33a7a 100644
--- a/examples/helloworld-netty/src/test/java/org/glassfish/jersey/examples/helloworld/netty/CustomLoggingFilter.java
+++ b/examples/helloworld-netty/src/test/java/org/glassfish/jersey/examples/helloworld/netty/CustomLoggingFilter.java
@@ -13,14 +13,14 @@
 import java.io.IOException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/examples/helloworld-netty/src/test/java/org/glassfish/jersey/examples/helloworld/netty/HelloWorldTest.java b/examples/helloworld-netty/src/test/java/org/glassfish/jersey/examples/helloworld/netty/HelloWorldTest.java
index 44f5e2f..84d7561 100644
--- a/examples/helloworld-netty/src/test/java/org/glassfish/jersey/examples/helloworld/netty/HelloWorldTest.java
+++ b/examples/helloworld-netty/src/test/java/org/glassfish/jersey/examples/helloworld/netty/HelloWorldTest.java
@@ -16,14 +16,14 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.netty.connector.NettyConnectorProvider;
diff --git a/examples/helloworld-programmatic/README.MD b/examples/helloworld-programmatic/README.MD
index 4fd210d..6581a63 100644
--- a/examples/helloworld-programmatic/README.MD
+++ b/examples/helloworld-programmatic/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -30,6 +30,6 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
 -   <http://localhost:8080/base/helloworld>
diff --git a/examples/helloworld-programmatic/pom.xml b/examples/helloworld-programmatic/pom.xml
index 2bc7045..6636d3a 100644
--- a/examples/helloworld-programmatic/pom.xml
+++ b/examples/helloworld-programmatic/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld-programmatic</artifactId>
@@ -95,7 +95,6 @@
                 <dependency>
                     <groupId>jakarta.activation</groupId>
                     <artifactId>jakarta.activation-api</artifactId>
-                    <version>${jakarta.activation.version}</version>
                 </dependency>
                 <dependency>
                     <groupId>jakarta.xml.bind</groupId>
diff --git a/examples/helloworld-programmatic/src/main/java/org/glassfish/jersey/examples/helloworld/App.java b/examples/helloworld-programmatic/src/main/java/org/glassfish/jersey/examples/helloworld/App.java
index e5b5f3c..e670d0c 100644
--- a/examples/helloworld-programmatic/src/main/java/org/glassfish/jersey/examples/helloworld/App.java
+++ b/examples/helloworld-programmatic/src/main/java/org/glassfish/jersey/examples/helloworld/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,8 +15,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.process.Inflector;
diff --git a/examples/helloworld-programmatic/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-programmatic/reflect-config.json b/examples/helloworld-programmatic/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-programmatic/reflect-config.json
index 90f407d..7283a4a 100644
--- a/examples/helloworld-programmatic/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-programmatic/reflect-config.json
+++ b/examples/helloworld-programmatic/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-programmatic/reflect-config.json
@@ -3,19 +3,19 @@
   "name":"java.awt.image.RenderedImage"
   },
   {
-    "name":"javax.activation.DataSource"
+    "name":"jakarta.activation.DataSource"
   },
   {
-    "name":"javax.inject.Singleton",
+    "name":"jakarta.inject.Singleton",
     "allDeclaredMethods":true
   },
   {
-    "name":"javax.ws.rs.core.Application",
+    "name":"jakarta.ws.rs.core.Application",
     "allDeclaredMethods":true
   },
   {
-    "name":"javax.ws.rs.core.Feature",
-    "methods":[{"name":"configure","parameterTypes":["javax.ws.rs.core.FeatureContext"] }]
+    "name":"jakarta.ws.rs.core.Feature",
+    "methods":[{"name":"configure","parameterTypes":["jakarta.ws.rs.core.FeatureContext"] }]
   },
   {
     "name":"javax.xml.transform.Source"
diff --git a/examples/helloworld-programmatic/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-programmatic/resource-config.json b/examples/helloworld-programmatic/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-programmatic/resource-config.json
index b247af1..5129ea6 100644
--- a/examples/helloworld-programmatic/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-programmatic/resource-config.json
+++ b/examples/helloworld-programmatic/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-programmatic/resource-config.json
@@ -3,6 +3,6 @@
     {"pattern": "org/glassfish/grizzly/version.properties"}
   ],
   "bundles": [
-    {"name":"javax.xml.bind.Messages"}
+    {"name":"jakarta.xml.bind.Messages"}
   ]
 }
\ No newline at end of file
diff --git a/examples/helloworld-programmatic/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java b/examples/helloworld-programmatic/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
index a74b18f..13ec198 100644
--- a/examples/helloworld-programmatic/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
+++ b/examples/helloworld-programmatic/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/helloworld-pure-jax-rs/README.MD b/examples/helloworld-pure-jax-rs/README.MD
index 8129168..61b5c86 100644
--- a/examples/helloworld-pure-jax-rs/README.MD
+++ b/examples/helloworld-pure-jax-rs/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -27,6 +27,6 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
 -   <http://localhost:8080/helloworld>
diff --git a/examples/helloworld-pure-jax-rs/pom.xml b/examples/helloworld-pure-jax-rs/pom.xml
index 9796026..768bfec 100644
--- a/examples/helloworld-pure-jax-rs/pom.xml
+++ b/examples/helloworld-pure-jax-rs/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld-pure-jax-rs</artifactId>
@@ -98,7 +98,6 @@
                 <dependency>
                     <groupId>jakarta.activation</groupId>
                     <artifactId>jakarta.activation-api</artifactId>
-                    <version>${jakarta.activation.version}</version>
                 </dependency>
                 <dependency>
                     <groupId>jakarta.xml.bind</groupId>
diff --git a/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/App.java b/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/App.java
index 24985a2..81cb3c0 100644
--- a/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/App.java
+++ b/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/App.java
@@ -14,8 +14,8 @@
 import java.net.InetSocketAddress;
 import java.net.URI;
 
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import com.sun.net.httpserver.HttpHandler;
 import com.sun.net.httpserver.HttpServer;
diff --git a/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/HelloWorldResource.java b/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/HelloWorldResource.java
index 2f34446..ef71ee6 100644
--- a/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/HelloWorldResource.java
+++ b/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.helloworld.jaxrs;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  *
diff --git a/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/JaxRsApplication.java b/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/JaxRsApplication.java
index 240ea1c..4c5a71b 100644
--- a/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/JaxRsApplication.java
+++ b/examples/helloworld-pure-jax-rs/src/main/java/org/glassfish/jersey/examples/helloworld/jaxrs/JaxRsApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,7 +13,7 @@
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS Application class for this example.
diff --git a/examples/helloworld-pure-jax-rs/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-pure-jax-rs/reflect-config.json b/examples/helloworld-pure-jax-rs/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-pure-jax-rs/reflect-config.json
index ccde28c..85fad85 100644
--- a/examples/helloworld-pure-jax-rs/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-pure-jax-rs/reflect-config.json
+++ b/examples/helloworld-pure-jax-rs/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-pure-jax-rs/reflect-config.json
@@ -3,19 +3,19 @@
   "name":"java.awt.image.RenderedImage"
   },
   {
-    "name":"javax.activation.DataSource"
+    "name":"jakarta.activation.DataSource"
   },
   {
-    "name":"javax.inject.Singleton",
+    "name":"jakarta.inject.Singleton",
     "allDeclaredMethods":true
   },
   {
-    "name":"javax.ws.rs.core.Application",
+    "name":"jakarta.ws.rs.core.Application",
     "allDeclaredMethods":true
   },
   {
-    "name":"javax.ws.rs.core.Feature",
-    "methods":[{"name":"configure","parameterTypes":["javax.ws.rs.core.FeatureContext"] }]
+    "name":"jakarta.ws.rs.core.Feature",
+    "methods":[{"name":"configure","parameterTypes":["jakarta.ws.rs.core.FeatureContext"] }]
   },
   {
     "name":"javax.xml.transform.Source"
diff --git a/examples/helloworld-pure-jax-rs/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-pure-jax-rs/resource-config.json b/examples/helloworld-pure-jax-rs/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-pure-jax-rs/resource-config.json
index b247af1..5129ea6 100644
--- a/examples/helloworld-pure-jax-rs/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-pure-jax-rs/resource-config.json
+++ b/examples/helloworld-pure-jax-rs/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld-pure-jax-rs/resource-config.json
@@ -3,6 +3,6 @@
     {"pattern": "org/glassfish/grizzly/version.properties"}
   ],
   "bundles": [
-    {"name":"javax.xml.bind.Messages"}
+    {"name":"jakarta.xml.bind.Messages"}
   ]
 }
\ No newline at end of file
diff --git a/examples/helloworld-pure-jax-rs/src/test/java/org/glassfish/jersey/examples/helloworld/jaxrs/HelloWorldTest.java b/examples/helloworld-pure-jax-rs/src/test/java/org/glassfish/jersey/examples/helloworld/jaxrs/HelloWorldTest.java
index 37e4e9a..361f0c5 100644
--- a/examples/helloworld-pure-jax-rs/src/test/java/org/glassfish/jersey/examples/helloworld/jaxrs/HelloWorldTest.java
+++ b/examples/helloworld-pure-jax-rs/src/test/java/org/glassfish/jersey/examples/helloworld/jaxrs/HelloWorldTest.java
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.helloworld.jaxrs;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/examples/helloworld-spring-annotations/README.MD b/examples/helloworld-spring-annotations/README.MD
index 359a595..cec2cf5 100644
--- a/examples/helloworld-spring-annotations/README.MD
+++ b/examples/helloworld-spring-annotations/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -10,7 +10,7 @@
 ==========================================================
 
 This example demonstrates how to create simple Jersey application that
-utilises Spring 3 DI features based on Spring annotations, packaged into WAR file.
+utilises Spring 6 DI features based on Spring annotations, packaged into WAR file.
 
 Contents
 --------
@@ -30,7 +30,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
 
 -   <http://localhost:8080/base/spring-resource>
 -   <http://localhost:8080/base/spring-resource/goodbye>
diff --git a/examples/helloworld-spring-annotations/pom.xml b/examples/helloworld-spring-annotations/pom.xml
index e5a6596..b196038 100644
--- a/examples/helloworld-spring-annotations/pom.xml
+++ b/examples/helloworld-spring-annotations/pom.xml
@@ -15,11 +15,19 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.examples</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>helloworld-spring-annotations</artifactId>
-    <description>Spring 4 Integration Jersey Example</description>
+    <description>Spring 6 Integration Jersey Example</description>
+
+    <repositories>
+        <repository>
+            <name>Spring Repository</name>
+            <id>spring-repository</id>
+            <url>https://repo.spring.io/milestone</url>
+        </repository>
+    </repositories>
 
     <dependencies>
         <dependency>
@@ -32,16 +40,37 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-spring5</artifactId>
+            <artifactId>jersey-spring6</artifactId>
             <version>${project.version}</version>
         </dependency>
+
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
-            <version>${spring5.version}</version>
-            <scope>compile</scope>
+            <version>${spring6.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aop</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+
+        <dependency>
             <groupId>commons-logging</groupId>
             <artifactId>commons-logging</artifactId>
             <version>1.2</version>
@@ -52,9 +81,9 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>3.0.1</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
         </dependency>
     </dependencies>
 
diff --git a/examples/helloworld-spring-annotations/src/main/java/org/glassfish/jersey/examples/hello/spring/annotations/App.java b/examples/helloworld-spring-annotations/src/main/java/org/glassfish/jersey/examples/hello/spring/annotations/App.java
index 3556034..d1451c8 100644
--- a/examples/helloworld-spring-annotations/src/main/java/org/glassfish/jersey/examples/hello/spring/annotations/App.java
+++ b/examples/helloworld-spring-annotations/src/main/java/org/glassfish/jersey/examples/hello/spring/annotations/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -28,7 +28,7 @@
 
     private static final URI BASE_URI = URI.create("http://localhost:8080/base/");
 
-    public static final String ROOT_PATH = "base";
+    public static final String ROOT_PATH = "spring-resource";
 
     public static void main(String[] args) {
         try {
diff --git a/examples/helloworld-spring-annotations/src/main/java/org/glassfish/jersey/examples/hello/spring/annotations/SpringRequestResource.java b/examples/helloworld-spring-annotations/src/main/java/org/glassfish/jersey/examples/hello/spring/annotations/SpringRequestResource.java
index c0dbbbe..ba2ae34 100644
--- a/examples/helloworld-spring-annotations/src/main/java/org/glassfish/jersey/examples/hello/spring/annotations/SpringRequestResource.java
+++ b/examples/helloworld-spring-annotations/src/main/java/org/glassfish/jersey/examples/hello/spring/annotations/SpringRequestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,13 +15,13 @@
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/examples/helloworld-spring-annotations/src/test/java/org/glassfish/jersey/examples/hello/spring/annotations/SpringRequestResourceTest.java b/examples/helloworld-spring-annotations/src/test/java/org/glassfish/jersey/examples/hello/spring/annotations/SpringRequestResourceTest.java
index 3ad9bea..1d9ec92 100644
--- a/examples/helloworld-spring-annotations/src/test/java/org/glassfish/jersey/examples/hello/spring/annotations/SpringRequestResourceTest.java
+++ b/examples/helloworld-spring-annotations/src/test/java/org/glassfish/jersey/examples/hello/spring/annotations/SpringRequestResourceTest.java
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.hello.spring.annotations;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/examples/helloworld-spring-webapp/README.MD b/examples/helloworld-spring-webapp/README.MD
index a5f07f7..7bc0787 100644
--- a/examples/helloworld-spring-webapp/README.MD
+++ b/examples/helloworld-spring-webapp/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -24,7 +24,7 @@
 **_/spring-singleton-hello_**   | SpringSingletonResource   | GET
 
 Application is configured by using web.xml, which registers
-[javax.ws.rs.core.Application](https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/core/Application.html)
+[jakarta.ws.rs.core.Application](https://jax-rs-spec.java.net/nonav/2.0/apidocs/jakarta.ws.rs/core/Application.html)
 descendant to get classes and singletons from it (see class
 MyApplication).
 
diff --git a/examples/helloworld-spring-webapp/pom.xml b/examples/helloworld-spring-webapp/pom.xml
index 18beeeb..81d3514 100644
--- a/examples/helloworld-spring-webapp/pom.xml
+++ b/examples/helloworld-spring-webapp/pom.xml
@@ -25,14 +25,22 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld-spring-webapp</artifactId>
     <packaging>war</packaging>
     <name>jersey-examples-helloworld-spring-webapp</name>
 
-    <description>Spring 4 Integration Jersey Example</description>
+    <description>Spring 6 Integration Jersey Example</description>
+
+    <repositories>
+        <repository>
+            <name>Spring Repository</name>
+            <id>spring-repository</id>
+            <url>https://repo.spring.io/milestone</url>
+        </repository>
+    </repositories>
 
     <dependencies>
         <dependency>
@@ -43,11 +51,43 @@
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
         </dependency>
+
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
-            <version>${spring4.version}</version>
-            <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>io.micrometer</groupId>
+                    <artifactId>micrometer-observation</artifactId>
+                </exclusion>
+            </exclusions>
+            <version>${spring6.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aop</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
         </dependency>
 
         <dependency>
@@ -56,7 +96,7 @@
             <version>${commons.logging.version}</version>
             <exclusions>
                 <exclusion>
-                    <groupId>javax.servlet</groupId>
+                    <groupId>jakarta.servlet</groupId>
                     <artifactId>servlet-api</artifactId>
                 </exclusion>
             </exclusions>
@@ -64,18 +104,11 @@
 
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-spring4</artifactId>
+            <artifactId>jersey-spring6</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
-            <groupId>org.mortbay.jetty</groupId>
-            <artifactId>servlet-api-2.5</artifactId>
-            <version>${jetty.servlet.api.25.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
             <scope>test</scope>
@@ -86,8 +119,13 @@
         <plugins>
             <!-- Run the application using "mvn jetty:run" to deploy to Jetty-->
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
-                <artifactId>maven-jetty-plugin</artifactId>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
+                <configuration>
+                    <webApp>
+                        <contextPath>/helloworld-spring-webapp</contextPath>
+                    </webApp>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/CustomExceptionMapper.java b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/CustomExceptionMapper.java
index ec1e6b4..a0deb27 100644
--- a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/CustomExceptionMapper.java
+++ b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/CustomExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,11 +10,9 @@
 
 package org.glassfish.jersey.examples.helloworld.spring;
 
-import org.springframework.stereotype.Component;
-
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Exception mapper to convert {@link IllegalArgumentException} into a textual response.
diff --git a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/GreetingServiceImpl.java b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/GreetingServiceImpl.java
index d0b5c70..652e763 100644
--- a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/GreetingServiceImpl.java
+++ b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/GreetingServiceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.helloworld.spring;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
diff --git a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/JerseyResource.java b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/JerseyResource.java
index 6c0439c..e7d8147 100644
--- a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/JerseyResource.java
+++ b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/JerseyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,11 +12,11 @@
 
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
diff --git a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/SpringRequestResource.java b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/SpringRequestResource.java
index 8987a85..4ab913d 100644
--- a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/SpringRequestResource.java
+++ b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/SpringRequestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.helloworld.spring;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
diff --git a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/SpringSingletonResource.java b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/SpringSingletonResource.java
index de91d63..96816bf 100644
--- a/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/SpringSingletonResource.java
+++ b/examples/helloworld-spring-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/spring/SpringSingletonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,15 +12,15 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
diff --git a/examples/helloworld-spring-webapp/src/main/webapp/WEB-INF/web.xml b/examples/helloworld-spring-webapp/src/main/webapp/WEB-INF/web.xml
index c3bb6a5..e6350b1 100644
--- a/examples/helloworld-spring-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/helloworld-spring-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -30,7 +30,7 @@
         <servlet-name>SpringApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.helloworld.spring.MyApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/examples/helloworld-webapp/README.MD b/examples/helloworld-webapp/README.MD
index e449fce..4d2d2fd 100644
--- a/examples/helloworld-webapp/README.MD
+++ b/examples/helloworld-webapp/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -11,7 +11,7 @@
 
 This example demonstrates how to create simple Jersey application,
 package it into WAR file and how to run it using [Grizzly
-container](http://grizzly.java.net).
+container](https://projects.eclipse.org/projects/ee4j.grizzly).
 
 Contents
 --------
@@ -23,7 +23,7 @@
 **_/helloworld_**   | HelloWorldResource   | GET
 
 Application is configured by using web.xml, which registers
-[javax.ws.rs.core.Application](https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/core/Application.html)
+[jakarta.ws.rs.core.Application](https://jakarta.ee/specifications/restful-ws/3.0/apidocs/jakarta/ws/rs/core/Application.html)
 descendant to get classes and singletons from it (see class MyApplication).
 
 Running the Example
@@ -33,6 +33,6 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
 - <http://localhost:8080/helloworld-webapp/helloworld>
diff --git a/examples/helloworld-webapp/pom.xml b/examples/helloworld-webapp/pom.xml
index 8433be5..f0ad725 100644
--- a/examples/helloworld-webapp/pom.xml
+++ b/examples/helloworld-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld-webapp</artifactId>
@@ -32,7 +32,8 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
+<!--            <scope>provided</scope> Make this provided for jetty:run -->
         </dependency>
 
         <dependency>
@@ -44,14 +45,28 @@
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <!-- Run the application using "mvn jetty:run" to deploy to Jetty-->
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
-                <artifactId>maven-jetty-plugin</artifactId>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
+                <configuration>
+                    <webApp>
+                        <contextPath>/helloworld-webapp</contextPath>
+                    </webApp>
+                </configuration>
             </plugin>
             <!-- Run the application using "mvn exec:java" to deploy to Grizzly Servlet-->
             <plugin>
diff --git a/examples/helloworld-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/webapp/HelloWorldResource.java b/examples/helloworld-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/webapp/HelloWorldResource.java
index 57526ef..2f06b61 100644
--- a/examples/helloworld-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/webapp/HelloWorldResource.java
+++ b/examples/helloworld-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/webapp/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.helloworld.webapp;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/examples/helloworld-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/webapp/MyApplication.java b/examples/helloworld-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/webapp/MyApplication.java
index 70351d9..b6d3317 100644
--- a/examples/helloworld-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/webapp/MyApplication.java
+++ b/examples/helloworld-webapp/src/main/java/org/glassfish/jersey/examples/helloworld/webapp/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.helloworld.webapp;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 import java.util.HashSet;
 import java.util.Set;
 
diff --git a/examples/helloworld-webapp/src/main/webapp/WEB-INF/web.xml b/examples/helloworld-webapp/src/main/webapp/WEB-INF/web.xml
index 1e484b9..9c3211d 100644
--- a/examples/helloworld-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/helloworld-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,12 +11,12 @@
 
 -->
 
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
     <servlet>
         <servlet-name>org.glassfish.jersey.examples.helloworld_servlet.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.helloworld.webapp.MyApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/examples/helloworld-webapp/src/test/java/org/glassfish/jersey/examples/helloworld/webapp/HelloWorldTest.java b/examples/helloworld-webapp/src/test/java/org/glassfish/jersey/examples/helloworld/webapp/HelloWorldTest.java
index a5b9f9b..9a83a96 100644
--- a/examples/helloworld-webapp/src/test/java/org/glassfish/jersey/examples/helloworld/webapp/HelloWorldTest.java
+++ b/examples/helloworld-webapp/src/test/java/org/glassfish/jersey/examples/helloworld/webapp/HelloWorldTest.java
@@ -11,8 +11,8 @@
 package org.glassfish.jersey.examples.helloworld.webapp;
 
 import java.net.URI;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/examples/helloworld-weld/README.MD b/examples/helloworld-weld/README.MD
index b7d157a..e257f59 100644
--- a/examples/helloworld-weld/README.MD
+++ b/examples/helloworld-weld/README.MD
@@ -35,6 +35,6 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
 - <http://localhost:8080/weld/application.wadl>
\ No newline at end of file
diff --git a/examples/helloworld-weld/pom.xml b/examples/helloworld-weld/pom.xml
index 2a66f30..a5ce51c 100644
--- a/examples/helloworld-weld/pom.xml
+++ b/examples/helloworld-weld/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld-weld</artifactId>
@@ -36,6 +36,10 @@
             <artifactId>jersey-hk2</artifactId>
         </dependency>
         <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-bundle</artifactId>
             <type>pom</type>
@@ -64,6 +68,10 @@
         </dependency>
 
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-impl</artifactId>
         </dependency>
diff --git a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/App.java b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/App.java
index d9ed128..e3b5343 100644
--- a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/App.java
+++ b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -18,11 +18,11 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.annotation.ManagedBean;
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.annotation.ManagedBean;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.grizzly.http.server.HttpServer;
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
diff --git a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/AppScopedResource.java b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/AppScopedResource.java
index c301e09..c2202df 100644
--- a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/AppScopedResource.java
+++ b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/AppScopedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,10 +12,10 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Application scoped CDI based resource.
diff --git a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/CustomInterceptor.java b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/CustomInterceptor.java
index 5701b5e..43de035 100644
--- a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/CustomInterceptor.java
+++ b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/CustomInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,13 +12,13 @@
 
 import java.io.IOException;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * CDI based JAX-RS interceptor that re-writes the original output
diff --git a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
index 984e80c..061ea38 100644
--- a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
+++ b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 /**
  * Hello-world JAX-RS resource implemented as CDI bean.
diff --git a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/RequestScopedBean.java b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/RequestScopedBean.java
index 84371c8..6b3ac26 100644
--- a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/RequestScopedBean.java
+++ b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/RequestScopedBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 /**
  * Request scoped CDI bean. Serves as a storage
diff --git a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/RequestScopedResource.java b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/RequestScopedResource.java
index b522ffb..184bf0b 100644
--- a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/RequestScopedResource.java
+++ b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/RequestScopedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,16 +15,16 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * JAX-RS resource class backed by a request scoped CDI bean.
diff --git a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/ResponseBodyFromCdiBean.java b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/ResponseBodyFromCdiBean.java
index aedf846..3971a56 100644
--- a/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/ResponseBodyFromCdiBean.java
+++ b/examples/helloworld-weld/src/main/java/org/glassfish/jersey/examples/helloworld/ResponseBodyFromCdiBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,7 +15,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
-import javax.ws.rs.NameBinding;
+import jakarta.ws.rs.NameBinding;
 
 /**
  * Binds {@link org.glassfish.jersey.examples.helloworld.CustomInterceptor} with resource methods that should return modified
diff --git a/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/AppScopedResourceTest.java b/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/AppScopedResourceTest.java
index e736aca..73d8b9e 100644
--- a/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/AppScopedResourceTest.java
+++ b/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/AppScopedResourceTest.java
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-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.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java b/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
index c59b686..ae3a105 100644
--- a/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
+++ b/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/RequestScopeAlignmentTest.java b/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/RequestScopeAlignmentTest.java
index 365d749..5ad769e 100644
--- a/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/RequestScopeAlignmentTest.java
+++ b/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/RequestScopeAlignmentTest.java
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/RequestScopedResourceTest.java b/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/RequestScopedResourceTest.java
index eeae260..f39e30e 100644
--- a/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/RequestScopedResourceTest.java
+++ b/examples/helloworld-weld/src/test/java/org/glassfish/jersey/examples/helloworld/RequestScopedResourceTest.java
@@ -16,7 +16,7 @@
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/helloworld/README.MD b/examples/helloworld/README.MD
index 350d991..f4e86d2 100644
--- a/examples/helloworld/README.MD
+++ b/examples/helloworld/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -9,7 +9,7 @@
 Hello World Example
 ===================
 
-This example demonstrates Hello World example. JAX-RS resource returns the usual text
+This example demonstrates Hello World example. Jakarta RESTful Web Services resource returns the usual text
 
 Contents
 --------
@@ -27,6 +27,6 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
 
 -   <http://localhost:8080/base/helloworld>
diff --git a/examples/helloworld/pom.xml b/examples/helloworld/pom.xml
index cd16bff..b99c2ef 100644
--- a/examples/helloworld/pom.xml
+++ b/examples/helloworld/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>helloworld</artifactId>
@@ -110,7 +110,6 @@
                 <dependency>
                     <groupId>jakarta.activation</groupId>
                     <artifactId>jakarta.activation-api</artifactId>
-                    <version>${jakarta.activation.version}</version>
                 </dependency>
                 <dependency>
                     <groupId>jakarta.xml.bind</groupId>
diff --git a/examples/helloworld/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java b/examples/helloworld/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
index 18dd945..af1e61c 100644
--- a/examples/helloworld/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
+++ b/examples/helloworld/src/main/java/org/glassfish/jersey/examples/helloworld/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.helloworld;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  *
diff --git a/examples/helloworld/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld/reflect-config.json b/examples/helloworld/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld/reflect-config.json
index ce14b8e..0402485 100644
--- a/examples/helloworld/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld/reflect-config.json
+++ b/examples/helloworld/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld/reflect-config.json
@@ -3,19 +3,19 @@
   "name":"java.awt.image.RenderedImage"
   },
   {
-    "name":"javax.activation.DataSource"
+    "name":"jakarta.activation.DataSource"
   },
   {
-    "name":"javax.inject.Singleton",
+    "name":"jakarta.inject.Singleton",
     "allDeclaredMethods":true
   },
   {
-    "name":"javax.ws.rs.core.Application",
+    "name":"jakarta.ws.rs.core.Application",
     "allDeclaredMethods":true
   },
   {
-    "name":"javax.ws.rs.core.Feature",
-    "methods":[{"name":"configure","parameterTypes":["javax.ws.rs.core.FeatureContext"] }]
+    "name":"jakarta.ws.rs.core.Feature",
+    "methods":[{"name":"configure","parameterTypes":["jakarta.ws.rs.core.FeatureContext"] }]
   },
   {
     "name":"javax.xml.transform.Source"
diff --git a/examples/helloworld/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld/resource-config.json b/examples/helloworld/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld/resource-config.json
index b247af1..5129ea6 100644
--- a/examples/helloworld/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld/resource-config.json
+++ b/examples/helloworld/src/main/resources/META-INF/native-image/org.glassfish.jersey.examples/helloworld/resource-config.json
@@ -3,6 +3,6 @@
     {"pattern": "org/glassfish/grizzly/version.properties"}
   ],
   "bundles": [
-    {"name":"javax.xml.bind.Messages"}
+    {"name":"jakarta.xml.bind.Messages"}
   ]
 }
\ No newline at end of file
diff --git a/examples/helloworld/src/test/java/org/glassfish/jersey/examples/helloworld/CustomLoggingFilter.java b/examples/helloworld/src/test/java/org/glassfish/jersey/examples/helloworld/CustomLoggingFilter.java
index c37f6bd..cf09651 100644
--- a/examples/helloworld/src/test/java/org/glassfish/jersey/examples/helloworld/CustomLoggingFilter.java
+++ b/examples/helloworld/src/test/java/org/glassfish/jersey/examples/helloworld/CustomLoggingFilter.java
@@ -12,14 +12,14 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/examples/helloworld/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java b/examples/helloworld/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
index bf0d7d5..354cc3e 100644
--- a/examples/helloworld/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
+++ b/examples/helloworld/src/test/java/org/glassfish/jersey/examples/helloworld/HelloWorldTest.java
@@ -16,13 +16,13 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/helloworld/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate b/examples/helloworld/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
new file mode 100644
index 0000000..550198c
--- /dev/null
+++ b/examples/helloworld/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
@@ -0,0 +1 @@
+org.glassfish.jersey.internal.RuntimeDelegateImpl
\ No newline at end of file
diff --git a/examples/http-patch/README.MD b/examples/http-patch/README.MD
index 9d6f6ad..0a90e04 100644
--- a/examples/http-patch/README.MD
+++ b/examples/http-patch/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -90,7 +90,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
 
 A [WADL description](http://wadl.java.net/#spec) may be accessed at the URL:
 
diff --git a/examples/http-patch/pom.xml b/examples/http-patch/pom.xml
index cfba2d9..567d9ad 100644
--- a/examples/http-patch/pom.xml
+++ b/examples/http-patch/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>http-patch</artifactId>
@@ -49,9 +49,22 @@
                     <groupId>com.google.guava</groupId>
                     <artifactId>guava</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>com.google.code.findbugs</groupId>
+                    <artifactId>jsr305</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
             </exclusions> 
         </dependency>
         <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>${jackson.version}</version>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
             <version>${guava.version}</version>
diff --git a/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/App.java b/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/App.java
index fe1ee5a..71580db 100644
--- a/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/App.java
+++ b/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,7 +15,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
@@ -85,7 +85,7 @@
     }
 
     /**
-     * Create {@link javax.ws.rs.ext.ContextResolver} for {@link org.glassfish.jersey.moxy.json.MoxyJsonConfig}
+     * Create {@link jakarta.ws.rs.ext.ContextResolver} for {@link org.glassfish.jersey.moxy.json.MoxyJsonConfig}
      * for this application.
      *
      * @return {@code MoxyJsonConfig} context resolver.
diff --git a/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/OptionsAcceptPatchHeaderFilter.java b/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/OptionsAcceptPatchHeaderFilter.java
index 11417c5..e33f818 100644
--- a/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/OptionsAcceptPatchHeaderFilter.java
+++ b/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/OptionsAcceptPatchHeaderFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,12 +12,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * A JAX-RS container response filter that applies {@code Accept-Patch} header
diff --git a/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/PatchableResource.java b/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/PatchableResource.java
index ccd1ae9..754f262 100644
--- a/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/PatchableResource.java
+++ b/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/PatchableResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,12 +12,12 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PATCH;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PATCH;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Patchable resource.
diff --git a/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/PatchingInterceptor.java b/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/PatchingInterceptor.java
index ab0e5f8..50c3021 100644
--- a/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/PatchingInterceptor.java
+++ b/examples/http-patch/src/main/java/org/glassfish/jersey/examples/httppatch/PatchingInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,16 +16,16 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 
@@ -48,7 +48,7 @@
     /**
      * {@code PatchingInterceptor} injection constructor.
      *
-     * @param uriInfo {@code javax.ws.rs.core.UriInfo} proxy instance.
+     * @param uriInfo {@code jakarta.ws.rs.core.UriInfo} proxy instance.
      * @param workers {@link org.glassfish.jersey.message.MessageBodyWorkers} message body workers.
      */
     public PatchingInterceptor(@Context UriInfo uriInfo, @Context MessageBodyWorkers workers) {
diff --git a/examples/http-patch/src/test/java/org/glassfish/jersey/examples/httppatch/HttpPatchTest.java b/examples/http-patch/src/test/java/org/glassfish/jersey/examples/httppatch/HttpPatchTest.java
index e43a9f5..d55d0af 100644
--- a/examples/http-patch/src/test/java/org/glassfish/jersey/examples/httppatch/HttpPatchTest.java
+++ b/examples/http-patch/src/test/java/org/glassfish/jersey/examples/httppatch/HttpPatchTest.java
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.httppatch;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.json.Json;
-import javax.json.JsonArray;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
diff --git a/examples/http-trace/README.MD b/examples/http-trace/README.MD
index e7769b3..1b3d2c8 100644
--- a/examples/http-trace/README.MD
+++ b/examples/http-trace/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -6,10 +6,10 @@
 [//]: # " "
 [//]: # " SPDX-License-Identifier: BSD-3-Clause "
 
-Jersey HTTP PATCH
+Jersey HTTP TRACE
 =================
 
-### *Jersey HTTP PATCH Support Example*
+### *Jersey HTTP TRACE Support Example*
 
 This example demonstrates how to implement a support for **HTTP TRACE method** via **HttpMethod** annotation in Jersey.
 
@@ -43,4 +43,4 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
\ No newline at end of file
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
\ No newline at end of file
diff --git a/examples/http-trace/pom.xml b/examples/http-trace/pom.xml
index 5c0c741..0026193 100644
--- a/examples/http-trace/pom.xml
+++ b/examples/http-trace/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>http-trace</artifactId>
diff --git a/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/App.java b/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/App.java
index 39b0d64..1648424 100644
--- a/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/App.java
+++ b/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,9 +15,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.process.Inflector;
diff --git a/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/Stringifier.java b/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/Stringifier.java
index 5ef8dbc..f5ced80 100644
--- a/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/Stringifier.java
+++ b/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/Stringifier.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,8 +13,8 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Request;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Request;
 
 import org.glassfish.jersey.server.ContainerRequest;
 
diff --git a/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/TRACE.java b/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/TRACE.java
index eebb080..141e0f0 100644
--- a/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/TRACE.java
+++ b/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/TRACE.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,7 +14,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
-import javax.ws.rs.HttpMethod;
+import jakarta.ws.rs.HttpMethod;
 
 /**
  * HTTP TRACE method annotation.
diff --git a/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/TracingResource.java b/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/TracingResource.java
index ba4ced3..26cf62b 100644
--- a/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/TracingResource.java
+++ b/examples/http-trace/src/main/java/org/glassfish/jersey/examples/httptrace/TracingResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.httptrace;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Request;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Request;
 
 import org.glassfish.jersey.server.ContainerRequest;
 
diff --git a/examples/http-trace/src/test/java/org/glassfish/jersey/examples/httptrace/TraceSupportTest.java b/examples/http-trace/src/test/java/org/glassfish/jersey/examples/httptrace/TraceSupportTest.java
index c2af58b..065ebcf 100644
--- a/examples/http-trace/src/test/java/org/glassfish/jersey/examples/httptrace/TraceSupportTest.java
+++ b/examples/http-trace/src/test/java/org/glassfish/jersey/examples/httptrace/TraceSupportTest.java
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.httptrace;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
diff --git a/examples/https-clientserver-grizzly/pom.xml b/examples/https-clientserver-grizzly/pom.xml
index de5cfea..1ff6f66 100644
--- a/examples/https-clientserver-grizzly/pom.xml
+++ b/examples/https-clientserver-grizzly/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>https-clientserver-grizzly</artifactId>
diff --git a/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/AuthenticationExceptionMapper.java b/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/AuthenticationExceptionMapper.java
index 8515b64..e565950 100644
--- a/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/AuthenticationExceptionMapper.java
+++ b/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/AuthenticationExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.httpsclientservergrizzly;
 
-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.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Map an authentication exception to an HTTP 401 response, optionally including the realm for a credentials challenge at the client.
diff --git a/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/RootResource.java b/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/RootResource.java
index 781b6e6..0c00643 100644
--- a/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/RootResource.java
+++ b/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/RootResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,17 +11,17 @@
 package org.glassfish.jersey.examples.httpsclientservergrizzly;
 
 import java.nio.charset.Charset;
-import javax.xml.bind.DatatypeConverter;
+import jakarta.xml.bind.DatatypeConverter;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
 /**
  * Simple resource demonstrating low level approach of getting user credentials.
  *
- * Better way would be injecting {@link javax.ws.rs.core.SecurityContext}.
+ * Better way would be injecting {@link jakarta.ws.rs.core.SecurityContext}.
  *
  * @author Pavel Bucek
  */
diff --git a/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/SecurityFilter.java b/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/SecurityFilter.java
index 1e4944d..ff97e5b 100644
--- a/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/SecurityFilter.java
+++ b/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/SecurityFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,19 +13,19 @@
 import java.io.IOException;
 import java.security.Principal;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import java.nio.charset.Charset;
-import javax.xml.bind.DatatypeConverter;
+import jakarta.xml.bind.DatatypeConverter;
 
 /**
  * Simple authentication filter.
@@ -40,7 +40,7 @@
 public class SecurityFilter implements ContainerRequestFilter {
 
     @Inject
-    javax.inject.Provider<UriInfo> uriInfo;
+    jakarta.inject.Provider<UriInfo> uriInfo;
     private static final String REALM = "HTTPS Example authentication";
 
     @Override
diff --git a/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/Server.java b/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/Server.java
index a4e0c79..8e8c49c 100644
--- a/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/Server.java
+++ b/examples/https-clientserver-grizzly/src/main/java/org/glassfish/jersey/examples/httpsclientservergrizzly/Server.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,7 +15,7 @@
 import java.security.AccessController;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/examples/https-clientserver-grizzly/src/test/java/org/glassfish/jersey/examples/httpsclientservergrizzly/MainTest.java b/examples/https-clientserver-grizzly/src/test/java/org/glassfish/jersey/examples/httpsclientservergrizzly/MainTest.java
index 09cc994..b21a96d 100644
--- a/examples/https-clientserver-grizzly/src/test/java/org/glassfish/jersey/examples/httpsclientservergrizzly/MainTest.java
+++ b/examples/https-clientserver-grizzly/src/test/java/org/glassfish/jersey/examples/httpsclientservergrizzly/MainTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.httpsclientservergrizzly;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import javax.net.ssl.SSLContext;
 
diff --git a/examples/https-server-glassfish/README.MD b/examples/https-server-glassfish/README.MD
index 4b7ad35..3c3dafe 100644
--- a/examples/https-server-glassfish/README.MD
+++ b/examples/https-server-glassfish/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -36,7 +36,7 @@
 
 >     mvn clean package
 
-Setup GlassFish 4.0 (installed at `AS_HOME=<install_dir>/glassfish4`):
+Setup GlassFish 6.0 (installed at `AS_HOME=<install_dir>/glassfish4`):
 
 Add new security realm called "`myRealm`"
 -   Start GlassFish using asadmin `$AS_HOME/bin/asadmin start-domain`
@@ -86,10 +86,10 @@
 
     >     mvn clean package
 
-2.  setup GlassFish 4.0 (installed at
-    `AS_HOME=<install_dir>/glassfish4`):
+2.  setup GlassFish 6.0 (installed at
+    `AS_HOME=<install_dir>/glassfish6`):
 
-    -   Follow the steps described in the "**setup GlassFish 3.1**"
+    -   Follow the steps described in the "**setup GlassFish 6.0**"
         section from the previous chapter "**Running the Example**" but
         instead of adding the user "`joeUser`" to the "`Group List:`" of
         "`Users`" set "`Group List:`" for this user to "`OtherUsers`"
diff --git a/examples/https-server-glassfish/pom.xml b/examples/https-server-glassfish/pom.xml
index cc62c06..1273186 100644
--- a/examples/https-server-glassfish/pom.xml
+++ b/examples/https-server-glassfish/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>https-server-glassfish</artifactId>
@@ -51,6 +51,7 @@
             <!--plugin>
                 <groupId>org.glassfish.embedded</groupId>
                 <artifactId>maven-embedded-glassfish-plugin</artifactId>
+                <version>6.0</version>
             </plugin-->
         </plugins>
     </build>
diff --git a/examples/https-server-glassfish/src/main/java/org/glassfish/jersey/examples/https/glassfish/resources/HelloWorldResource.java b/examples/https-server-glassfish/src/main/java/org/glassfish/jersey/examples/https/glassfish/resources/HelloWorldResource.java
index b413546..3240d99 100644
--- a/examples/https-server-glassfish/src/main/java/org/glassfish/jersey/examples/https/glassfish/resources/HelloWorldResource.java
+++ b/examples/https-server-glassfish/src/main/java/org/glassfish/jersey/examples/https/glassfish/resources/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,14 +10,14 @@
 
 package org.glassfish.jersey.examples.https.glassfish.resources;
 
-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.Response;
+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.Response;
 
-import javax.annotation.security.RolesAllowed;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.servlet.http.HttpServletRequest;
 
 /**
  * The JAX-RS resource class will be hosted at the URI path {@code "/helloworld"}.
diff --git a/examples/https-server-glassfish/src/main/webapp/WEB-INF/web.xml b/examples/https-server-glassfish/src/main/webapp/WEB-INF/web.xml
index 9833d0f..8dc01bb 100644
--- a/examples/https-server-glassfish/src/main/webapp/WEB-INF/web.xml
+++ b/examples/https-server-glassfish/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,8 +11,8 @@
 
 -->
 
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
     <servlet>
         <servlet-name>Jersey Web Application</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
diff --git a/examples/java8-webapp/pom.xml b/examples/java8-webapp/pom.xml
index b46ec25..25d7e1b 100644
--- a/examples/java8-webapp/pom.xml
+++ b/examples/java8-webapp/pom.xml
@@ -18,7 +18,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>java8-webapp</artifactId>
@@ -55,23 +55,17 @@
             <plugin>
                 <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
-                <!-- TODO: Remove the version when JERSEY-2743 is resolved. -->
-                <version>9.2.6.v20141205</version>
                 <configuration>
-                    <scanIntervalSeconds>5</scanIntervalSeconds>
+                    <stopWait>5</stopWait>
                     <stopPort>9999</stopPort>
                     <stopKey>STOP</stopKey>
                     <webApp>
                         <contextPath>/</contextPath>
                         <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
                     </webApp>
-                    <systemProperties>
-                        <systemProperty>
-                            <name>jetty.port</name>
-                            <value>${jersey.config.test.container.port}</value>
-                        </systemProperty>
-                    </systemProperties>
-                    <war>${project.build.directory}/${project.build.finalName}.war</war>
+                    <httpConnector>
+                        <port>${jersey.config.test.container.port}</port>
+                    </httpConnector>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/Java8Application.java b/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/Java8Application.java
index e61c5ad..9b270a0 100644
--- a/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/Java8Application.java
+++ b/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/Java8Application.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.java8;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.examples.java8.resources.DefaultMethodResource;
 import org.glassfish.jersey.examples.java8.resources.LambdaResource;
diff --git a/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/DefaultMethodInterface.java b/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/DefaultMethodInterface.java
index 6060d8f..a7dfacb 100644
--- a/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/DefaultMethodInterface.java
+++ b/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/DefaultMethodInterface.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.java8.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * Example interface containing resource methods in form of Java8's default methods.
diff --git a/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/DefaultMethodResource.java b/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/DefaultMethodResource.java
index 0d40a30..b715dcf 100644
--- a/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/DefaultMethodResource.java
+++ b/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/DefaultMethodResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.java8.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * JAX-RS resource inheriting some resource method implementations from the implemented interface.
diff --git a/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/LambdaResource.java b/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/LambdaResource.java
index df833d2..c1d2040 100644
--- a/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/LambdaResource.java
+++ b/examples/java8-webapp/src/main/java/org/glassfish/jersey/examples/java8/resources/LambdaResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,9 +13,9 @@
 import java.util.Collections;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 /**
  * JAX-RS resource using Java SE 8 lambdas.
diff --git a/examples/java8-webapp/src/test/java/org/glassfish/jersey/examples/java8/DefaultMethodResourceTest.java b/examples/java8-webapp/src/test/java/org/glassfish/jersey/examples/java8/DefaultMethodResourceTest.java
index fd63730..10b9ab1 100644
--- a/examples/java8-webapp/src/test/java/org/glassfish/jersey/examples/java8/DefaultMethodResourceTest.java
+++ b/examples/java8-webapp/src/test/java/org/glassfish/jersey/examples/java8/DefaultMethodResourceTest.java
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.java8;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 
@@ -35,7 +35,7 @@
      */
     @Test
     public void testDefaultMethods() {
-        final WebTarget defaultMethodTarget = target("default-method");
+        final WebTarget defaultMethodTarget = target("j8").path("default-method");
 
         // test default method with no @Path annotation
         String response = defaultMethodTarget.request().get(String.class);
@@ -51,7 +51,7 @@
      */
     @Test
     public void testImplementingClass() throws Exception {
-        final String response = target("default-method").path("class").request().get(String.class);
+        final String response = target("j8").path("default-method").path("class").request().get(String.class);
         assertEquals("class", response);
     }
 }
diff --git a/examples/java8-webapp/src/test/java/org/glassfish/jersey/examples/java8/LambdaResourceTest.java b/examples/java8-webapp/src/test/java/org/glassfish/jersey/examples/java8/LambdaResourceTest.java
index 96e3145..2c563e5 100644
--- a/examples/java8-webapp/src/test/java/org/glassfish/jersey/examples/java8/LambdaResourceTest.java
+++ b/examples/java8-webapp/src/test/java/org/glassfish/jersey/examples/java8/LambdaResourceTest.java
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.java8;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 
@@ -36,7 +36,7 @@
      */
     @Test
     public void testLambdas() {
-        final WebTarget target = target("lambdas/{p}");
+        final WebTarget target = target("j8").path("lambdas/{p}");
 
         // test default method with no @Path annotation
         String response = target.resolveTemplate("p", "test").request().get(String.class);
diff --git a/examples/jaxb/README.MD b/examples/jaxb/README.MD
index fcd216e..9e70d11 100644
--- a/examples/jaxb/README.MD
+++ b/examples/jaxb/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -55,7 +55,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
 -   <http://localhost:8080/jaxb/jaxb/XmlRootElement>
 -   <http://localhost:8080/jaxb/jaxb/XmlRootElementWithHeader>
diff --git a/examples/jaxb/pom.xml b/examples/jaxb/pom.xml
index 33dc24d..f8e72a7 100644
--- a/examples/jaxb/pom.xml
+++ b/examples/jaxb/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jaxb</artifactId>
@@ -35,6 +35,10 @@
             <artifactId>jersey-hk2</artifactId>
         </dependency>
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>woodstox-core-asl</artifactId>
             <version>4.1.2</version>
@@ -43,7 +47,11 @@
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-jaxb</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-bundle</artifactId>
@@ -66,23 +74,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>runtime</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>pre-release</id>
             <build>
                 <plugins>
diff --git a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/App.java b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/App.java
index 73dc223..0f91487 100644
--- a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/App.java
+++ b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -27,7 +27,7 @@
  */
 public class App {
 
-    private static final URI BASE_URI = URI.create("http://localhost:8080/jaxb/");
+    private static final URI BASE_URI = URI.create("http://localhost:8080/jaxb");
 
     public static void main(String[] args) {
         try {
@@ -43,7 +43,8 @@
             server.start();
 
             System.out.println(
-                    String.format("Application started.%nTry out %s%nStop the application using CTRL+C", BASE_URI));
+                    String.format("Application started.%nTry out %s%nStop the application using CTRL+C",
+                            BASE_URI + "/application.wadl"));
 
             Thread.currentThread().join();
         } catch (IOException | InterruptedException ex) {
diff --git a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbArrayResource.java b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbArrayResource.java
index 9242c53..9825120 100644
--- a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbArrayResource.java
+++ b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbArrayResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,11 +13,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * An example resource utilizing array of JAXB beans.
diff --git a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbCollectionResource.java b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbCollectionResource.java
index eb0e64e..0165462 100644
--- a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbCollectionResource.java
+++ b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbCollectionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,11 +14,11 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * An example resource utilizing collections of JAXB beans.
diff --git a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbResource.java b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbResource.java
index b4cd435..069c16d 100644
--- a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbResource.java
+++ b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,13 +10,13 @@
 
 package org.glassfish.jersey.examples.jaxb;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
-import javax.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBElement;
 import javax.xml.namespace.QName;
 
 import org.glassfish.jersey.message.XmlHeader;
diff --git a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbXmlRootElement.java b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbXmlRootElement.java
index ceb6294..86e7820 100644
--- a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbXmlRootElement.java
+++ b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbXmlRootElement.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jaxb;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 public class JaxbXmlRootElement {
diff --git a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbXmlType.java b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbXmlType.java
index d09bacc..37ed819 100644
--- a/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbXmlType.java
+++ b/examples/jaxb/src/main/java/org/glassfish/jersey/examples/jaxb/JaxbXmlType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jaxb;
 
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlType;
 
 @XmlType
 public class JaxbXmlType {
diff --git a/examples/jaxb/src/test/java/org/glassfish/jersey/examples/jaxb/JaxbTest.java b/examples/jaxb/src/test/java/org/glassfish/jersey/examples/jaxb/JaxbTest.java
index ff63be2..246f156 100644
--- a/examples/jaxb/src/test/java/org/glassfish/jersey/examples/jaxb/JaxbTest.java
+++ b/examples/jaxb/src/test/java/org/glassfish/jersey/examples/jaxb/JaxbTest.java
@@ -12,11 +12,11 @@
 
 import java.util.Collection;
 
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import static javax.ws.rs.client.Entity.xml;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import static jakarta.ws.rs.client.Entity.xml;
 
-import javax.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBElement;
 import javax.xml.namespace.QName;
 
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/jaxrs-types-injection/README.MD b/examples/jaxrs-types-injection/README.MD
index a07f51b..d6a0129 100644
--- a/examples/jaxrs-types-injection/README.MD
+++ b/examples/jaxrs-types-injection/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -45,7 +45,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the JAX-RS Types Injection Example using [Grizzly](http://grizzly.java.net/)
+This deploys the JAX-RS Types Injection Example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly)
 
 A [WADL description](http://wadl.java.net/#spec) may be accessed at the URL:
 
diff --git a/examples/jaxrs-types-injection/pom.xml b/examples/jaxrs-types-injection/pom.xml
index 2c126cb..63e5a87 100644
--- a/examples/jaxrs-types-injection/pom.xml
+++ b/examples/jaxrs-types-injection/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jaxrs-types-injection</artifactId>
@@ -41,6 +41,14 @@
             <type>pom</type>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsInjectionReportingInflector.java b/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsInjectionReportingInflector.java
index 1b3cc61..9b87a7a 100644
--- a/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsInjectionReportingInflector.java
+++ b/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsInjectionReportingInflector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,15 +12,15 @@
 
 import java.util.List;
 
-import javax.inject.Inject;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.process.Inflector;
 
diff --git a/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsInjectionReportingResource.java b/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsInjectionReportingResource.java
index 730781a..6c82dd0 100644
--- a/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsInjectionReportingResource.java
+++ b/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsInjectionReportingResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,14 +12,14 @@
 
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Annotated resource.
diff --git a/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/ReportBuilder.java b/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/ReportBuilder.java
index 153b4a0..a72ae6c 100644
--- a/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/ReportBuilder.java
+++ b/examples/jaxrs-types-injection/src/main/java/org/glassfish/jersey/examples/jaxrstypeinjection/ReportBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,9 +14,9 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Provides functionality for appending values of JAX-RS types to a string-based
diff --git a/examples/jaxrs-types-injection/src/test/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsTypeInjectionTest.java b/examples/jaxrs-types-injection/src/test/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsTypeInjectionTest.java
index 7c113f5..f2c8562 100644
--- a/examples/jaxrs-types-injection/src/test/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsTypeInjectionTest.java
+++ b/examples/jaxrs-types-injection/src/test/java/org/glassfish/jersey/examples/jaxrstypeinjection/JaxrsTypeInjectionTest.java
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jaxrstypeinjection;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/jersey-ejb/pom.xml b/examples/jersey-ejb/pom.xml
index c12ae8e..83d4303 100644
--- a/examples/jersey-ejb/pom.xml
+++ b/examples/jersey-ejb/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-ejb</artifactId>
diff --git a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/entities/MessageListWriter.java b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/entities/MessageListWriter.java
index 58db75b..531bf19 100644
--- a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/entities/MessageListWriter.java
+++ b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/entities/MessageListWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -18,15 +18,15 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.ejb.Stateless;
+import jakarta.ejb.Stateless;
 
 import org.glassfish.jersey.message.MessageUtils;
 
@@ -40,7 +40,7 @@
 public class MessageListWriter implements MessageBodyWriter<List<Message>> {
 
     @Context
-    private javax.inject.Provider<UriInfo> ui;
+    private jakarta.inject.Provider<UriInfo> ui;
 
     @Override
     public boolean isWriteable(final Class<?> clazz, final Type type, final Annotation[] annotation, final MediaType mediaType) {
diff --git a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/entities/MessageWriter.java b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/entities/MessageWriter.java
index dc8b618..a342af9 100644
--- a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/entities/MessageWriter.java
+++ b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/entities/MessageWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,13 +15,13 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.ejb.Singleton;
+import jakarta.ejb.Singleton;
 import org.glassfish.jersey.message.MessageUtils;
 
 /**
diff --git a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/exceptions/NotFoundExceptionMapper.java b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/exceptions/NotFoundExceptionMapper.java
index 08c14db..1c037e2 100644
--- a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/exceptions/NotFoundExceptionMapper.java
+++ b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/exceptions/NotFoundExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.jersey_ejb.exceptions;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * An exception mapper to return 404 responses when a {@link CustomNotFoundException} is thrown.
diff --git a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageBoardResourceBean.java b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageBoardResourceBean.java
index 544df3f..546593f 100644
--- a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageBoardResourceBean.java
+++ b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageBoardResourceBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,18 +14,18 @@
 import java.net.URISyntaxException;
 import java.util.List;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
 
 import org.glassfish.jersey.examples.jersey_ejb.entities.Message;
 import org.glassfish.jersey.examples.jersey_ejb.exceptions.CustomNotFoundException;
@@ -69,7 +69,7 @@
         if (m == null) {
             // This exception will be passed through to the JAX-RS runtime
             // No other runtime exception will behave this way unless the
-            // exception is annotated with javax.ejb.ApplicationException
+            // exception is annotated with jakarta.ejb.ApplicationException
             throw new NotFoundException();
         }
 
diff --git a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageBoardRootResource.java b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageBoardRootResource.java
index 53016c1..249788f 100644
--- a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageBoardRootResource.java
+++ b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageBoardRootResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.jersey_ejb.resources;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ws.rs.Path;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
+import jakarta.ws.rs.Path;
 
 /**
  * Message board root resource. The main message board resource
diff --git a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageHolderSingletonBean.java b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageHolderSingletonBean.java
index 1798bbc..4d15c95 100644
--- a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageHolderSingletonBean.java
+++ b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MessageHolderSingletonBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,7 +15,7 @@
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import javax.ejb.Singleton;
+import jakarta.ejb.Singleton;
 
 import org.glassfish.jersey.examples.jersey_ejb.entities.Message;
 
diff --git a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MyApplication.java b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MyApplication.java
index f21a779..10d7dc6 100644
--- a/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MyApplication.java
+++ b/examples/jersey-ejb/src/main/java/org/glassfish/jersey/examples/jersey_ejb/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,8 +13,8 @@
 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;
 
 import org.glassfish.jersey.examples.jersey_ejb.entities.Message;
 import org.glassfish.jersey.examples.jersey_ejb.entities.MessageListWriter;
diff --git a/examples/jersey-ejb/src/test/java/org/glassfish/jersey/examples/jersey_ejb/test/MessageBoardTest.java b/examples/jersey-ejb/src/test/java/org/glassfish/jersey/examples/jersey_ejb/test/MessageBoardTest.java
index b96640f..aa12d67 100644
--- a/examples/jersey-ejb/src/test/java/org/glassfish/jersey/examples/jersey_ejb/test/MessageBoardTest.java
+++ b/examples/jersey-ejb/src/test/java/org/glassfish/jersey/examples/jersey_ejb/test/MessageBoardTest.java
@@ -12,11 +12,11 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.examples.jersey_ejb.resources.MyApplication;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/json-binding-webapp/README.MD b/examples/json-binding-webapp/README.MD
index e5612bf..a18adde 100644
--- a/examples/json-binding-webapp/README.MD
+++ b/examples/json-binding-webapp/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -30,7 +30,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
 -   <http://localhost:8080/json-binding-webapp/cats/one>
 -   <http://localhost:8080/json-binding-webapp/cats/all>
diff --git a/examples/json-binding-webapp/pom.xml b/examples/json-binding-webapp/pom.xml
index f76b78c..7251947 100644
--- a/examples/json-binding-webapp/pom.xml
+++ b/examples/json-binding-webapp/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>json-binding-webapp</artifactId>
@@ -52,6 +52,15 @@
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/App.java b/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/App.java
index 6c34fcc..75f7466 100644
--- a/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/App.java
+++ b/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -37,7 +37,8 @@
             server.start();
 
             System.out.println(
-                    String.format("Application started.%nTry out %s%nStop the application using CTRL+C", BASE_URI));
+                    String.format("Application started.%nTry out %s%nStop the application using CTRL+C",
+                            BASE_URI + "application.wadl"));
 
             Thread.currentThread().join();
         } catch (IOException | InterruptedException ex) {
diff --git a/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/Cat.java b/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/Cat.java
index f4786db..d4a02e7 100644
--- a/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/Cat.java
+++ b/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/Cat.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.jsonb;
 
-import javax.json.bind.annotation.JsonbProperty;
-import javax.json.bind.annotation.JsonbPropertyOrder;
+import jakarta.json.bind.annotation.JsonbProperty;
+import jakarta.json.bind.annotation.JsonbPropertyOrder;
 
 /**
  * Example cat POJO for JSONB (un)marshalling.
diff --git a/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/JsonbApplication.java b/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/JsonbApplication.java
index 3eca130..1c55f7f 100644
--- a/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/JsonbApplication.java
+++ b/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/JsonbApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jsonb;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/JsonbResource.java b/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/JsonbResource.java
index bbdafbc..b6907f8 100644
--- a/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/JsonbResource.java
+++ b/examples/json-binding-webapp/src/main/java/org/glassfish/jersey/examples/jsonb/JsonbResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,12 +13,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
 
 /**
  * An example resource utilizing JSONB.
diff --git a/examples/json-jackson/README.MD b/examples/json-jackson/README.MD
index 6fe56aa..282f667 100644
--- a/examples/json-jackson/README.MD
+++ b/examples/json-jackson/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -62,7 +62,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using[Grizzly](http://grizzly.java.net/)
+This deploys the example using[Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly)
 
 A [WADL description](http://wadl.java.net/#spec) may be accessed at the URL:
 
diff --git a/examples/json-jackson/pom.xml b/examples/json-jackson/pom.xml
index cd572b8..4f27b73 100644
--- a/examples/json-jackson/pom.xml
+++ b/examples/json-jackson/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>json-jackson</artifactId>
@@ -46,12 +46,20 @@
             <type>pom</type>
             <scope>test</scope>
         </dependency>
-
         <dependency>
             <groupId>org.glassfish.jersey.test-framework</groupId>
             <artifactId>jersey-test-framework-util</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
@@ -68,19 +76,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>pre-release</id>
             <build>
                 <plugins>
diff --git a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/CombinedAnnotationBean.java b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/CombinedAnnotationBean.java
index 05e3e17..2ac0ac6 100644
--- a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/CombinedAnnotationBean.java
+++ b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/CombinedAnnotationBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jackson;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
@@ -19,6 +19,7 @@
  *
  * @author Jakub Podlesak
  */
+// Jackson works with javax API, do not change it to jakarta API.
 @XmlRootElement(name = "account")
 public class CombinedAnnotationBean {
 
diff --git a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/CombinedAnnotationResource.java b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/CombinedAnnotationResource.java
index 21e1268..04882e7 100644
--- a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/CombinedAnnotationResource.java
+++ b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/CombinedAnnotationResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.jackson;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * TODO javadoc.
diff --git a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/EmptyArrayBean.java b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/EmptyArrayBean.java
index e3e620f..4c2eaba 100644
--- a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/EmptyArrayBean.java
+++ b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/EmptyArrayBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jackson;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * TODO javadoc.
diff --git a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/EmptyArrayResource.java b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/EmptyArrayResource.java
index 0c69bfd..6bd31bb 100644
--- a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/EmptyArrayResource.java
+++ b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/EmptyArrayResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.jackson;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * TODO javadoc.
diff --git a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/ExceptionMappingTestResource.java b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/ExceptionMappingTestResource.java
index a76ca9c..3b105cb 100644
--- a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/ExceptionMappingTestResource.java
+++ b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/ExceptionMappingTestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.jackson;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Testing bean that accepts JSON for the PUT method.
diff --git a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/MyApplication.java b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/MyApplication.java
index 8181b97..28a89cb 100644
--- a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/MyApplication.java
+++ b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,7 +14,7 @@
 import org.glassfish.jersey.server.ResourceConfig;
 
 /**
- * {@link javax.ws.rs.core.Application} descendant.
+ * {@link jakarta.ws.rs.core.Application} descendant.
  *
  * Used to set resource and providers classes.
  *
diff --git a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/MyObjectMapperProvider.java b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/MyObjectMapperProvider.java
index 4233ad0..81bda85 100644
--- a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/MyObjectMapperProvider.java
+++ b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/MyObjectMapperProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.jackson;
 
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
 import com.fasterxml.jackson.databind.AnnotationIntrospector;
 import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -19,7 +19,7 @@
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
 import com.fasterxml.jackson.databind.type.TypeFactory;
-import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
+import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationIntrospector;
 
 /**
  * TODO javadoc.
@@ -63,7 +63,7 @@
 
     private static AnnotationIntrospector createJaxbJacksonAnnotationIntrospector() {
 
-        final AnnotationIntrospector jaxbIntrospector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
+        final AnnotationIntrospector jaxbIntrospector = new JakartaXmlBindAnnotationIntrospector(TypeFactory.defaultInstance());
         final AnnotationIntrospector jacksonIntrospector = new JacksonAnnotationIntrospector();
 
         return AnnotationIntrospector.pair(jacksonIntrospector, jaxbIntrospector);
diff --git a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/NonJaxbBeanResource.java b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/NonJaxbBeanResource.java
index 7dae7cb..ed21625 100644
--- a/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/NonJaxbBeanResource.java
+++ b/examples/json-jackson/src/main/java/org/glassfish/jersey/examples/jackson/NonJaxbBeanResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.jackson;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.JSONP;
 
diff --git a/examples/json-jackson/src/test/java/org/glassfish/jersey/examples/jackson/JacksonTest.java b/examples/json-jackson/src/test/java/org/glassfish/jersey/examples/jackson/JacksonTest.java
index 3e93068..36d7a0e 100644
--- a/examples/json-jackson/src/test/java/org/glassfish/jersey/examples/jackson/JacksonTest.java
+++ b/examples/json-jackson/src/test/java/org/glassfish/jersey/examples/jackson/JacksonTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.jackson;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jackson.JacksonFeature;
diff --git a/examples/json-jackson1/README.MD b/examples/json-jackson1/README.MD
deleted file mode 100644
index feb7fa2..0000000
--- a/examples/json-jackson1/README.MD
+++ /dev/null
@@ -1,91 +0,0 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
-[//]: # " "
-[//]: # " This program and the accompanying materials are made available under the "
-[//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
-[//]: # " http://www.eclipse.org/org/documents/edl-v10.php. "
-[//]: # " "
-[//]: # " SPDX-License-Identifier: BSD-3-Clause "
-
-Jackson (1.x) JAX-RS JSON Provider Example
-==========================================
-
-This example demonstrates how to produce/consume JSON representations
-from Java objects. This applies not only to JAXB beans, as shown in the
-`json-from-jaxb` example but also to ordinary, un-annotated, POJOs.
-
-This example hosts three simple read-only resources: One provides an
-example of using a Jackson JSON provider (registered by the feature
-`Jackson1Feature` in the `MyApplication` class) instead of using JAXB
-(Object-&gt;JAXB-&gt;JSON) which has some limitations (e.g. empty arrays
-in JAXB beans). For this resource the JSON representation is produced by
-the Jackson JAX-RS provider, while the XML representation is generated
-by JAXB as usual. The second web resource is based on a simple
-un-annotated POJO and provides only JSON-based representations: JSON and
-JSON with padding (JSONP). The third resource depicts how Jackson and
-JAXB annotations could be mixed together within a single POJO.
-
-Contents
---------
-
-The "empty array" web resource is implemented by the
-`org.glassfish.jersey.examples.jackson1.EmptyArrayResource` class.
-
-The "non JAXB" web resource is implemented by the
-`org.glassfish.jersey.examples.jackson1.NonJaxbBeanResource` class.
-
-Both resources use the default Jackson mapper configuration to serialize JSON
-data out and depicts the corner cases, where the Jersey internal, StAX
-based, JSON processing can not be utilized.
-
-The `org.glassfish.jersey.examples.jackson1.CombinedAnnotationResource`
-class is used to show how JAXB and Jackson annotations could be combined
-together in one Java bean for JSON serialization.
-
-See the `org.glassfish.jersey.examples.jackson1.MyObjectMapperProvider` class
-where Jackson specific options are used to set up the desired JSON
-serialization configuration.
-
-The mapping of the URI path space is presented in the following table:
-
-URI path                     | Resource class               | HTTP method
----------------------------- | ---------------------------- | -------------
-**_/emptyArrayResource_**    | EmptyArrayResource           | GET
-**_/nonJaxbResource_**       | NonJaxbBeanResource          | GET
-**_/combinedAnnotations_**   | CombinedAnnotationResource   | GET
-
-To use Jackson specific configuration options, one can implement a
-`ContextResolver<ObjectMapper>` provider. For an example of such an
-implementation, see the `MyObjectMapperProvider` class.
-
-Running the Example
--------------------
-
-Run the example as follows:
-
->     mvn clean compile exec:java
-
-This deploys the example using [Grizzly](http://grizzly.java.net/)
-
-A [WADL description](http://wadl.java.net/#spec) may be accessed at the URL:
-
--   `http://localhost:8080/jackson1/application.wadl`
-
-The three resources are available at
-
--   <http://localhost:8080/jackson1/emptyArrayResource>
--   <http://localhost:8080/jackson1/nonJaxbResource>
--   <http://localhost:8080/jackson1/combinedAnnotations>
-
-To easily obtain the different output types available, [cURL](http://curl.haxx.se/) can be used as follows:
-
-Obtain the JSON output of EmptyArrayResource (use `-HAccept:application/xml` for XML output):
-
->     curl -HAccept:application/json http://localhost:8080/jackson1/emptyArrayResource
-
-Obtain the JSON output of NonJaxbBeanResource (use `-HAccept:application/javascript` for JSONP output):
-
->     curl -HAccept:application/json http://localhost:8080/jackson1/nonJaxbResource
-
-Obtain the JSON output of CombinedAnnotationResource:
-
->     curl -HAccept:application/json http://localhost:8080/jackson1/combinedAnnotations
diff --git a/examples/json-jackson1/pom.xml b/examples/json-jackson1/pom.xml
index 9714abf..e69de29 100644
--- a/examples/json-jackson1/pom.xml
+++ b/examples/json-jackson1/pom.xml
@@ -1,94 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
-    Copyright (c) 2010, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Distribution License v. 1.0, which is available at
-    http://www.eclipse.org/org/documents/edl-v10.php.
-
-    SPDX-License-Identifier: BSD-3-Clause
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.glassfish.jersey.examples</groupId>
-        <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>json-jackson1</artifactId>
-    <packaging>jar</packaging>
-    <name>jersey-examples-json-jackson1</name>
-
-    <description>Jersey JSON with Jackson 1.x example.</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-grizzly2-http</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.inject</groupId>
-            <artifactId>jersey-hk2</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson1</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>jakarta.xml.bind</groupId>
-            <artifactId>jakarta.xml.bind-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-bundle</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>exec-maven-plugin</artifactId>
-                <configuration>
-                    <mainClass>org.glassfish.jersey.examples.jackson1.App</mainClass>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>runtime</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <id>pre-release</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
diff --git a/examples/json-jackson1/src/main/assembly/src.xml b/examples/json-jackson1/src/main/assembly/src.xml
deleted file mode 100644
index a030433..0000000
--- a/examples/json-jackson1/src/main/assembly/src.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
-
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Distribution License v. 1.0, which is available at
-    http://www.eclipse.org/org/documents/edl-v10.php.
-
-    SPDX-License-Identifier: BSD-3-Clause
-
--->
-
-<assembly>
-    <id>project</id>
-    <formats>
-        <format>zip</format>
-    </formats>
-    <fileSets>
-        <fileSet>
-            <directory>.</directory>
-            <outputDirectory></outputDirectory>
-            <useDefaultExcludes>true</useDefaultExcludes>
-            <excludes>
-                <exclude>**/target/**</exclude>
-            </excludes>
-        </fileSet>
-    </fileSets>
-</assembly>
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/App.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/App.java
deleted file mode 100644
index 178df0a..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/App.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-
-import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.glassfish.grizzly.http.server.HttpServer;
-
-/**
- * Utility class which creates {@link MyApplication} instances and provides support
- * for running this sample from command line.
- *
- * @author Jakub Podlesak
- */
-public class App {
-
-    private static final URI BASE_URI = URI.create("http://localhost:8080/jackson1/");
-
-    public static void main(final String[] args) {
-        try {
-            System.out.println("JSON with Jackson Jersey Example App");
-
-            final HttpServer server = GrizzlyHttpServerFactory.createHttpServer(BASE_URI, createApp(), false);
-            Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    server.shutdownNow();
-                }
-            }));
-            server.start();
-
-            System.out.println(String.format("Application started.%nStop the application using CTRL+C"));
-
-            Thread.currentThread().join();
-        } catch (IOException | InterruptedException ex) {
-            Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
-        }
-
-    }
-
-    public static ResourceConfig createApp() {
-        return new MyApplication();
-    }
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/CombinedAnnotationBean.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/CombinedAnnotationBean.java
deleted file mode 100644
index 5470a2c..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/CombinedAnnotationBean.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * @author Jakub Podlesak
- */
-@XmlRootElement(name = "account")
-public class CombinedAnnotationBean {
-
-    @JsonProperty("value")
-    int x;
-
-    public CombinedAnnotationBean(final int x) {
-        this.x = x;
-    }
-
-    public CombinedAnnotationBean() {
-        this(15);
-    }
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/CombinedAnnotationResource.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/CombinedAnnotationResource.java
deleted file mode 100644
index 27e7b3a..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/CombinedAnnotationResource.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-/**
- * @author Jakub Podlesak
- */
-@Path("combinedAnnotations")
-public class CombinedAnnotationResource {
-
-    @Produces(MediaType.APPLICATION_JSON)
-    @GET
-    public CombinedAnnotationBean getAccount() {
-        return new CombinedAnnotationBean(12);
-    }
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/DummyBean.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/DummyBean.java
deleted file mode 100644
index 2b42ea0..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/DummyBean.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-/**
- * Testing bean for ExceptionMappingTestResource.
- *
- * @author Jakub Podlesak
- */
-public class DummyBean {
-
-    private int key;
-    private String value;
-
-    public String getValue() {
-        return value;
-    }
-
-    public void setValue(final String value) {
-        this.value = value;
-    }
-
-    public int getKey() {
-        return key;
-    }
-
-    public void setKey(final int key) {
-        this.key = key;
-    }
-
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/EmptyArrayBean.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/EmptyArrayBean.java
deleted file mode 100644
index e22c38e..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/EmptyArrayBean.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import javax.xml.bind.annotation.XmlRootElement;
-
-/**
- * @author Jakub Podlesak
- */
-@XmlRootElement
-public class EmptyArrayBean {
-
-    public String[] emtpyArray = new String[0];
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/EmptyArrayResource.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/EmptyArrayResource.java
deleted file mode 100644
index a639aa1..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/EmptyArrayResource.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-/**
- * @author Jakub Podlesak
- */
-@Path("/emptyArrayResource")
-public class EmptyArrayResource {
-
-    // the resource JSON representation will be serialized by Jackson JAX-RS provider,
-    // while the XML will still be generated by JAXB
-    @GET
-    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    public EmptyArrayBean getIt() {
-        return new EmptyArrayBean();
-    }
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/ExceptionMappingTestResource.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/ExceptionMappingTestResource.java
deleted file mode 100644
index 4b24831..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/ExceptionMappingTestResource.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-/**
- * Testing bean that accepts JSON for the PUT method.
- *
- * @author Adam Lindenthal
- */
-@Path("parseExceptionTest")
-public class ExceptionMappingTestResource {
-
-    @Consumes(MediaType.APPLICATION_JSON)
-    @PUT
-    public DummyBean getAccount(final DummyBean bean) {
-        return bean;
-    }
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/MyApplication.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/MyApplication.java
deleted file mode 100644
index 1d92c3f..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/MyApplication.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import org.glassfish.jersey.jackson1.Jackson1Feature;
-import org.glassfish.jersey.server.ResourceConfig;
-
-/**
- * {@link javax.ws.rs.core.Application} descendant.
- *
- * Used to set resource and providers classes.
- *
- * @author Jakub Podlesak
- */
-public class MyApplication extends ResourceConfig {
-
-    public MyApplication() {
-        super(
-                EmptyArrayResource.class,
-                NonJaxbBeanResource.class,
-                CombinedAnnotationResource.class,
-                // register Jackson ObjectMapper resolver
-                MyObjectMapperProvider.class,
-                ExceptionMappingTestResource.class,
-                Jackson1Feature.class
-        );
-    }
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/MyObjectMapperProvider.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/MyObjectMapperProvider.java
deleted file mode 100644
index 0ac0c77..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/MyObjectMapperProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
-
-import org.codehaus.jackson.map.AnnotationIntrospector;
-import org.codehaus.jackson.map.AnnotationIntrospector.Pair;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
-import org.codehaus.jackson.map.SerializationConfig.Feature;
-import org.codehaus.jackson.map.introspect.JacksonAnnotationIntrospector;
-import org.codehaus.jackson.xc.JaxbAnnotationIntrospector;
-
-/**
- * @author Jakub Podlesak
- */
-@Provider
-public class MyObjectMapperProvider implements ContextResolver<ObjectMapper> {
-
-    final ObjectMapper defaultObjectMapper;
-    final ObjectMapper combinedObjectMapper;
-
-    public MyObjectMapperProvider() {
-        defaultObjectMapper = createDefaultMapper();
-        combinedObjectMapper = createCombinedObjectMapper();
-    }
-
-    @Override
-    public ObjectMapper getContext(final Class<?> type) {
-
-        if (type == CombinedAnnotationBean.class) {
-            return combinedObjectMapper;
-        } else {
-            return defaultObjectMapper;
-        }
-    }
-
-    private static ObjectMapper createCombinedObjectMapper() {
-        final Pair combinedIntrospector = createJaxbJacksonAnnotationIntrospector();
-        final ObjectMapper result = new ObjectMapper();
-        result.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
-        result.configure(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE, true);
-        result.setDeserializationConfig(result.getDeserializationConfig().withAnnotationIntrospector(combinedIntrospector));
-        result.setSerializationConfig(result.getSerializationConfig().withAnnotationIntrospector(combinedIntrospector));
-
-        return result;
-    }
-
-    private static ObjectMapper createDefaultMapper() {
-
-        final ObjectMapper result = new ObjectMapper();
-        result.configure(Feature.INDENT_OUTPUT, true);
-
-        return result;
-    }
-
-    private static Pair createJaxbJacksonAnnotationIntrospector() {
-
-        final AnnotationIntrospector jaxbIntrospector = new JaxbAnnotationIntrospector();
-        final AnnotationIntrospector jacksonIntrospector = new JacksonAnnotationIntrospector();
-
-        return new AnnotationIntrospector.Pair(jacksonIntrospector, jaxbIntrospector);
-    }
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/NonJaxbBean.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/NonJaxbBean.java
deleted file mode 100644
index 0b1f33f..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/NonJaxbBean.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-/**
- * @author Jakub Podlesak
- */
-public class NonJaxbBean {
-
-    private String name = "non-JAXB-bean";
-    private String description = "I am not a JAXB bean, just an unannotated POJO";
-    private int[] array = {1, 1, 2, 3, 5, 8, 13, 21};
-
-    public int[] getArray() {
-        return array;
-    }
-
-    public void setArray(final int[] array) {
-        this.array = array;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(final String description) {
-        this.description = description;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-}
diff --git a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/NonJaxbBeanResource.java b/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/NonJaxbBeanResource.java
deleted file mode 100644
index 51e61e3..0000000
--- a/examples/json-jackson1/src/main/java/org/glassfish/jersey/examples/jackson1/NonJaxbBeanResource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.glassfish.jersey.server.JSONP;
-
-/**
- * @author Jakub Podlesak
- */
-@Path("/nonJaxbResource")
-public class NonJaxbBeanResource {
-
-    @GET
-    @JSONP
-    @Produces({"application/javascript", MediaType.APPLICATION_JSON})
-    public NonJaxbBean getSimpleBeanJSONP() {
-        return new NonJaxbBean();
-    }
-}
diff --git a/examples/json-jackson1/src/test/java/org/glassfish/jersey/examples/jackson1/Jackson1Test.java b/examples/json-jackson1/src/test/java/org/glassfish/jersey/examples/jackson1/Jackson1Test.java
deleted file mode 100644
index ff56201..0000000
--- a/examples/json-jackson1/src/test/java/org/glassfish/jersey/examples/jackson1/Jackson1Test.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2010, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-package org.glassfish.jersey.examples.jackson1;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.glassfish.jersey.client.ClientConfig;
-import org.glassfish.jersey.jackson1.Jackson1Feature;
-import org.glassfish.jersey.message.internal.MediaTypes;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.TestProperties;
-
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-/**
- * @author Jakub Podlesak
- */
-public class Jackson1Test extends JerseyTest {
-
-    @Override
-    protected ResourceConfig configure() {
-        enable(TestProperties.LOG_TRAFFIC);
-        enable(TestProperties.DUMP_ENTITY);
-
-        return App.createApp();
-    }
-
-    @Override
-    protected void configureClient(final ClientConfig config) {
-        config.register(Jackson1Feature.class).register(MyObjectMapperProvider.class);
-    }
-
-    @Test
-    public void testEmptyArrayPresent() {
-        final String responseMsg = target("emptyArrayResource").request(MediaType.APPLICATION_JSON).get(String.class);
-        assertTrue(responseMsg.replaceAll("[ \t]*", "").contains("[]"));
-    }
-
-    @Test
-    public void testJSONPPresent() {
-        final String responseMsg = target("nonJaxbResource").request("application/javascript").get(String.class);
-        assertTrue(responseMsg.startsWith("callback("));
-    }
-
-    @Test
-    public void testJSONDoesNotReflectJSONPWrapper() {
-        final String responseMsg = target("nonJaxbResource").request("application/json").get(String.class);
-        assertTrue(!responseMsg.contains("jsonSource"));
-    }
-
-    @Test
-    public void testCombinedAnnotationResource() {
-        final String responseMsg = target("combinedAnnotations").request("application/json").get(String.class);
-        assertTrue(responseMsg.contains("account") && responseMsg.contains("value"));
-    }
-
-    @Test
-    public void testEmptyArrayBean() {
-        assertNotNull(target("emptyArrayResource").request(MediaType.APPLICATION_JSON).get(EmptyArrayBean.class));
-    }
-
-    @Test
-    public void testCombinedAnnotationBean() {
-        assertNotNull(target("combinedAnnotations").request("application/json").get(CombinedAnnotationBean.class));
-    }
-
-    @Test
-    @Disabled
-    // TODO un-ignore once a JSON reader for "application/javascript" is supported
-    public void testJSONPBean() {
-        assertNotNull(target("nonJaxbResource").request("application/javascript").get(NonJaxbBean.class));
-    }
-
-    /**
-     * Test if a WADL document is available at the relative path
-     * "application.wadl".
-     * <p/>
-     */
-    @Test
-    public void testApplicationWadl() {
-        final WebTarget target = target();
-        final String serviceWadl = target.path("application.wadl").request(MediaTypes.WADL_TYPE).get(String.class);
-
-        assertTrue(serviceWadl.length() > 0);
-    }
-
-    /**
-     * Test, that in case of malformed JSON, the jackson exception mappers will be used and the response will be
-     * 400 - bad request instead of 500 - server error
-     */
-    @Test
-    public void testExceptionMapping() {
-        enable(TestProperties.LOG_TRAFFIC);
-        // create a request with invalid json string to cause an exception in Jackson
-        final Response response = target().path("parseExceptionTest").request("application/json")
-                .put(Entity.entity("Malformed json string.", MediaType.valueOf("application/json")));
-
-        assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
-    }
-}
diff --git a/examples/json-jettison/README.MD b/examples/json-jettison/README.MD
index 31e83d2..8892e03 100644
--- a/examples/json-jettison/README.MD
+++ b/examples/json-jettison/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -40,7 +40,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the JSON from JAXB example using [Grizzly](http://grizzly.java.net/)
+This deploys the JSON from JAXB example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly)
 
 A [WADL description](http://wadl.java.net/#spec) may be accessed at the URL:
 
diff --git a/examples/json-jettison/pom.xml b/examples/json-jettison/pom.xml
index da6cef6..b59825a 100644
--- a/examples/json-jettison/pom.xml
+++ b/examples/json-jettison/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>json-jettison</artifactId>
@@ -41,6 +41,21 @@
         </dependency>
 
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sun.istack</groupId>
+            <artifactId>istack-commons-runtime</artifactId>
+            <version>${istack.commons.runtime.version}</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-bundle</artifactId>
             <type>pom</type>
@@ -62,30 +77,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-impl</artifactId>
-                </dependency>
-
-                <dependency>
-                    <groupId>com.sun.istack</groupId>
-                    <artifactId>istack-commons-runtime</artifactId>
-                    <version>${istack.commons.runtime.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>pre-release</id>
             <build>
                 <plugins>
diff --git a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/AircraftType.java b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/AircraftType.java
index f56fe45..6a78b13 100644
--- a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/AircraftType.java
+++ b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/AircraftType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jettison;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * TODO javadoc.
diff --git a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/AircraftTypeList.java b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/AircraftTypeList.java
index 17c3920..9290119 100644
--- a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/AircraftTypeList.java
+++ b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/AircraftTypeList.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,10 +12,10 @@
 
 import java.util.LinkedList;
 import java.util.List;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * TODO javadoc.
diff --git a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/FlightList.java b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/FlightList.java
index b565bda..a7a769d 100644
--- a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/FlightList.java
+++ b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/FlightList.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.jettison;
 
-import javax.ws.rs.Consumes;
-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 jakarta.ws.rs.Consumes;
+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;
 
 /**
  * TODO javadoc.
diff --git a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/FlightType.java b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/FlightType.java
index e88161a..6d7a3e3 100644
--- a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/FlightType.java
+++ b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/FlightType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -17,10 +17,10 @@
 package org.glassfish.jersey.examples.jettison;
 
 import java.util.Formatter;
-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;
 
 /**
  * <p>Java class for flightType complex type.
diff --git a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/Flights.java b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/Flights.java
index 325fbce..efe353e 100644
--- a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/Flights.java
+++ b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/Flights.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -18,11 +18,11 @@
 
 import java.util.ArrayList;
 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;
 
 /**
  * <p>Java class for anonymous complex type.
diff --git a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/JaxbContextResolver.java b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/JaxbContextResolver.java
index 76de8d0..1e82f88 100644
--- a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/JaxbContextResolver.java
+++ b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/JaxbContextResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,10 +14,10 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBContext;
 
 import org.glassfish.jersey.jettison.JettisonConfig;
 import org.glassfish.jersey.jettison.JettisonJaxbContext;
diff --git a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/ObjectFactory.java b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/ObjectFactory.java
index b16560b..73979b0 100644
--- a/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/ObjectFactory.java
+++ b/examples/json-jettison/src/main/java/org/glassfish/jersey/examples/jettison/ObjectFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,7 +16,7 @@
 //
 package org.glassfish.jersey.examples.jettison;
 
-import javax.xml.bind.annotation.XmlRegistry;
+import jakarta.xml.bind.annotation.XmlRegistry;
 
 
 /**
diff --git a/examples/json-jettison/src/test/java/org/glassfish/jersey/examples/jettison/JsonJettisonTest.java b/examples/json-jettison/src/test/java/org/glassfish/jersey/examples/jettison/JsonJettisonTest.java
index 4943e6c..d5372b5 100644
--- a/examples/json-jettison/src/test/java/org/glassfish/jersey/examples/jettison/JsonJettisonTest.java
+++ b/examples/json-jettison/src/test/java/org/glassfish/jersey/examples/jettison/JsonJettisonTest.java
@@ -12,8 +12,8 @@
 
 import java.util.List;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jettison.JettisonFeature;
diff --git a/examples/json-moxy/README.MD b/examples/json-moxy/README.MD
index bd63590..ed38d4f 100644
--- a/examples/json-moxy/README.MD
+++ b/examples/json-moxy/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -30,7 +30,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/)
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly)
 
 A [WADL description](http://wadl.java.net/#spec) may be accessed at the URL:
 
diff --git a/examples/json-moxy/pom.xml b/examples/json-moxy/pom.xml
index 357010b..1424646 100644
--- a/examples/json-moxy/pom.xml
+++ b/examples/json-moxy/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>json-moxy</artifactId>
@@ -39,7 +39,10 @@
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-moxy</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-processing</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-bundle</artifactId>
diff --git a/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/App.java b/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/App.java
index 31b7972..4c4ba53 100644
--- a/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/App.java
+++ b/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -17,7 +17,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
diff --git a/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/JsonResource.java b/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/JsonResource.java
index d6563c1..8528a03 100644
--- a/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/JsonResource.java
+++ b/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/JsonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.jsonmoxy;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * @author Pavel Bucek
diff --git a/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/TestBean.java b/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/TestBean.java
index 079d524..e0e63a3 100644
--- a/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/TestBean.java
+++ b/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy/TestBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jsonmoxy;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Pavel Bucek
diff --git a/examples/json-moxy/src/test/java/org/glassfish/jersey/examples/jsonmoxy/JsonResourceTest.java b/examples/json-moxy/src/test/java/org/glassfish/jersey/examples/jsonmoxy/JsonResourceTest.java
index 86af7ae..5d3be6e 100644
--- a/examples/json-moxy/src/test/java/org/glassfish/jersey/examples/jsonmoxy/JsonResourceTest.java
+++ b/examples/json-moxy/src/test/java/org/glassfish/jersey/examples/jsonmoxy/JsonResourceTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.jsonmoxy;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/json-processing-webapp/README.MD b/examples/json-processing-webapp/README.MD
index 1d1750f..f192bb6 100644
--- a/examples/json-processing-webapp/README.MD
+++ b/examples/json-processing-webapp/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -10,7 +10,7 @@
 ===================================
 
 This example demonstrates how to produce/consume JSON representations
-defined by [JSR-353](http://jcp.org/en/jsr/detail?id=353).
+defined by [Jakarta JSON](https://projects.eclipse.org/projects/ee4j.jsonp).
 
 Contents
 --------
diff --git a/examples/json-processing-webapp/pom.xml b/examples/json-processing-webapp/pom.xml
index 744ec22..ddbf757 100644
--- a/examples/json-processing-webapp/pom.xml
+++ b/examples/json-processing-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>json-processing-webapp</artifactId>
@@ -37,13 +37,21 @@
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
-                <artifactId>maven-jetty-plugin</artifactId>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
diff --git a/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/MyApplication.java b/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/MyApplication.java
index 965da71..eb08883 100644
--- a/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/MyApplication.java
+++ b/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.jsonp;
 
-import javax.json.stream.JsonGenerator;
+import jakarta.json.stream.JsonGenerator;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/resource/DocumentFilteringResource.java b/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/resource/DocumentFilteringResource.java
index 5ca9299..a57edcc 100644
--- a/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/resource/DocumentFilteringResource.java
+++ b/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/resource/DocumentFilteringResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,17 +12,17 @@
 
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonString;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonString;
 
 import org.glassfish.jersey.examples.jsonp.service.DocumentStorage;
 
diff --git a/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/resource/DocumentResource.java b/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/resource/DocumentResource.java
index a2a42b9..998a54e 100644
--- a/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/resource/DocumentResource.java
+++ b/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/resource/DocumentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,19 +10,19 @@
 
 package org.glassfish.jersey.examples.jsonp.resource;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonObject;
 
 import org.glassfish.jersey.examples.jsonp.service.DocumentStorage;
 
diff --git a/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/service/DocumentStorage.java b/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/service/DocumentStorage.java
index 2c587d2..6839937 100644
--- a/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/service/DocumentStorage.java
+++ b/examples/json-processing-webapp/src/main/java/org/glassfish/jersey/examples/jsonp/service/DocumentStorage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,7 +15,7 @@
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
 
 /**
  * Storage of documents.
diff --git a/examples/json-processing-webapp/src/main/webapp/WEB-INF/web.xml b/examples/json-processing-webapp/src/main/webapp/WEB-INF/web.xml
index fea17eb..fb2223f 100644
--- a/examples/json-processing-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/json-processing-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,16 +11,16 @@
 
 -->
 
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
     <servlet>
         <servlet-name>org.glassfish.jersey.examples.jsonp.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.jsonp.MyApplication</param-value>
         </init-param>
         <init-param>
-            <param-name>javax.json.stream.JsonGenerator.prettyPrinting</param-name>
+            <param-name>jakarta.json.stream.JsonGenerator.prettyPrinting</param-name>
             <param-value>true</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
@@ -28,6 +28,6 @@
 
     <servlet-mapping>
         <servlet-name>org.glassfish.jersey.examples.jsonp.MyApplication</servlet-name>
-        <url-pattern>/*</url-pattern>
+        <url-pattern>/jsonp-webapp/*</url-pattern>
     </servlet-mapping>
 </web-app>
diff --git a/examples/json-processing-webapp/src/test/java/org/glassfish/jersey/examples/jsonp/JsonProcessingResourceTest.java b/examples/json-processing-webapp/src/test/java/org/glassfish/jersey/examples/jsonp/JsonProcessingResourceTest.java
index f8566fd..ed6db6a 100644
--- a/examples/json-processing-webapp/src/test/java/org/glassfish/jersey/examples/jsonp/JsonProcessingResourceTest.java
+++ b/examples/json-processing-webapp/src/test/java/org/glassfish/jersey/examples/jsonp/JsonProcessingResourceTest.java
@@ -17,18 +17,18 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/examples/json-with-padding/README.MD b/examples/json-with-padding/README.MD
index 0712a30..86810bd 100644
--- a/examples/json-with-padding/README.MD
+++ b/examples/json-with-padding/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -40,7 +40,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the JSONP example using [Grizzly](http://grizzly.java.net/)
+This deploys the JSONP example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly)
 
 A [WADL description](http://wadl.java.net/#spec) may be then accessed at the URL:
 
diff --git a/examples/json-with-padding/pom.xml b/examples/json-with-padding/pom.xml
index a073b8d..836cea3 100644
--- a/examples/json-with-padding/pom.xml
+++ b/examples/json-with-padding/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>json-with-padding</artifactId>
@@ -40,6 +40,10 @@
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-moxy</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-processing</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
diff --git a/examples/json-with-padding/src/main/java/org/glassfish/jersey/examples/jsonp/ChangeListResource.java b/examples/json-with-padding/src/main/java/org/glassfish/jersey/examples/jsonp/ChangeListResource.java
index e48dbb5..be8eb6a 100644
--- a/examples/json-with-padding/src/main/java/org/glassfish/jersey/examples/jsonp/ChangeListResource.java
+++ b/examples/json-with-padding/src/main/java/org/glassfish/jersey/examples/jsonp/ChangeListResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,10 +13,10 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.server.JSONP;
 
diff --git a/examples/json-with-padding/src/main/java/org/glassfish/jersey/examples/jsonp/ChangeRecordBean.java b/examples/json-with-padding/src/main/java/org/glassfish/jersey/examples/jsonp/ChangeRecordBean.java
index 5475ffb..69379be 100644
--- a/examples/json-with-padding/src/main/java/org/glassfish/jersey/examples/jsonp/ChangeRecordBean.java
+++ b/examples/json-with-padding/src/main/java/org/glassfish/jersey/examples/jsonp/ChangeRecordBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.jsonp;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/examples/json-with-padding/src/test/java/org/glassfish/jersey/examples/jsonp/JsonWithPaddingTest.java b/examples/json-with-padding/src/test/java/org/glassfish/jersey/examples/jsonp/JsonWithPaddingTest.java
index 79a508e..ddaa447 100644
--- a/examples/json-with-padding/src/test/java/org/glassfish/jersey/examples/jsonp/JsonWithPaddingTest.java
+++ b/examples/json-with-padding/src/test/java/org/glassfish/jersey/examples/jsonp/JsonWithPaddingTest.java
@@ -12,8 +12,8 @@
 
 import java.util.List;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/managed-beans-webapp/pom.xml b/examples/managed-beans-webapp/pom.xml
index ef3f2cc..700bf51 100644
--- a/examples/managed-beans-webapp/pom.xml
+++ b/examples/managed-beans-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>managed-beans-webapp</artifactId>
@@ -45,8 +45,8 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanExceptionMapper.java b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanExceptionMapper.java
index 0d1d452..3aca920 100644
--- a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanExceptionMapper.java
+++ b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,15 +10,15 @@
 
 package org.glassfish.jersey.examples.managedbeans.resources;
 
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.PostConstruct;
 
 /**
  * Custom exception mapper.
diff --git a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanPerRequestResource.java b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanPerRequestResource.java
index 1b7387d..91593ba 100644
--- a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanPerRequestResource.java
+++ b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanPerRequestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,18 +10,18 @@
 
 package org.glassfish.jersey.examples.managedbeans.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-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.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.ManagedBean;
+import jakarta.annotation.ManagedBean;
 
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptors;
-import javax.interceptor.InvocationContext;
+import jakarta.interceptor.AroundInvoke;
+import jakarta.interceptor.Interceptors;
+import jakarta.interceptor.InvocationContext;
 
 /**
  * JAX-RS root resource treated as managed bean.
diff --git a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanSingletonResource.java b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanSingletonResource.java
index 70f6688..2c25232 100644
--- a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanSingletonResource.java
+++ b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/ManagedBeanSingletonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,23 +10,23 @@
 
 package org.glassfish.jersey.examples.managedbeans.resources;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceUnit;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.Resource;
+import jakarta.inject.Singleton;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.PersistenceUnit;
 
 /**
  * JAX-RS root resource treated as Java EE managed bean in singleton scope.
diff --git a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/MyApplication.java b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/MyApplication.java
index 4bb428f..a399fe0 100644
--- a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/MyApplication.java
+++ b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,8 +13,8 @@
 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;
 
 /**
  * JAX-RS application.
diff --git a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/Widget.java b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/Widget.java
index 1b49394..c9ab1e0 100644
--- a/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/Widget.java
+++ b/examples/managed-beans-webapp/src/main/java/org/glassfish/jersey/examples/managedbeans/resources/Widget.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,8 +12,8 @@
 
 import java.io.Serializable;
 
-import javax.persistence.Entity;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
 
 /**
  * Simple JPA entity made accessible via {@link ManagedBeanSingletonResource}.
diff --git a/examples/managed-beans-webapp/src/main/webapp/WEB-INF/web.xml b/examples/managed-beans-webapp/src/main/webapp/WEB-INF/web.xml
index 1e3283b..c81a73b 100644
--- a/examples/managed-beans-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/managed-beans-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,10 +11,10 @@
 
 -->
 
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-      version="3.0">
+      xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+      version="5.0">
     <env-entry>
         <env-entry-name>injectedResource</env-entry-name>
         <env-entry-type>java.lang.Integer</env-entry-type>
diff --git a/examples/managed-beans-webapp/src/test/java/org/glassfish/jersey/examples/managedbeans/ManagedBeanWebAppTest.java b/examples/managed-beans-webapp/src/test/java/org/glassfish/jersey/examples/managedbeans/ManagedBeanWebAppTest.java
index f6ea946..93fe827 100644
--- a/examples/managed-beans-webapp/src/test/java/org/glassfish/jersey/examples/managedbeans/ManagedBeanWebAppTest.java
+++ b/examples/managed-beans-webapp/src/test/java/org/glassfish/jersey/examples/managedbeans/ManagedBeanWebAppTest.java
@@ -12,11 +12,11 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.examples.managedbeans.resources.MyApplication;
 import org.glassfish.jersey.message.internal.MediaTypes;
diff --git a/examples/managed-client-simple-webapp/pom.xml b/examples/managed-client-simple-webapp/pom.xml
index 209499c..b0c44ce 100644
--- a/examples/managed-client-simple-webapp/pom.xml
+++ b/examples/managed-client-simple-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>managed-client-simple-webapp</artifactId>
@@ -30,15 +30,19 @@
         <dependency>
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
-            <scope>provided</scope>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
-                <artifactId>maven-jetty-plugin</artifactId>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
+                <configuration>
+                    <webApp>
+                        <contextPath>/managed-client-simple-webapp/</contextPath>
+                    </webApp>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/ClientResource.java b/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/ClientResource.java
index daa752d..6a5f0d1 100644
--- a/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/ClientResource.java
+++ b/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/ClientResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,13 +11,13 @@
 package org.glassfish.jersey.examples.managedclientsimple.resources;
 
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.Uri;
 
diff --git a/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/ManagedClientApplication.java b/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/ManagedClientApplication.java
index d008eed..c2b69ca 100644
--- a/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/ManagedClientApplication.java
+++ b/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/ManagedClientApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.managedclientsimple.resources;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/StandardResource.java b/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/StandardResource.java
index 57c4ee7..78c4f65 100644
--- a/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/StandardResource.java
+++ b/examples/managed-client-simple-webapp/src/main/java/org/glassfish/jersey/examples/managedclientsimple/resources/StandardResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.managedclientsimple.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 /**
  * Standard example resource exposing  GET methods. This resource can be accessed directly by GET and is also
diff --git a/examples/managed-client-simple-webapp/src/main/webapp/WEB-INF/web.xml b/examples/managed-client-simple-webapp/src/main/webapp/WEB-INF/web.xml
index 1c36ab2..79945c4 100644
--- a/examples/managed-client-simple-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/managed-client-simple-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,13 +11,13 @@
 
 -->
 
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
     <servlet>
         <servlet-name>managedclientsimple.resources.ManagedClientApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.managedclientsimple.resources.ManagedClientApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/examples/managed-client-simple-webapp/src/test/java/org/glassfish/jersey/examples/managedclientsimple/ManagedClientSimpleTest.java b/examples/managed-client-simple-webapp/src/test/java/org/glassfish/jersey/examples/managedclientsimple/ManagedClientSimpleTest.java
index d49a024..9395443 100644
--- a/examples/managed-client-simple-webapp/src/test/java/org/glassfish/jersey/examples/managedclientsimple/ManagedClientSimpleTest.java
+++ b/examples/managed-client-simple-webapp/src/test/java/org/glassfish/jersey/examples/managedclientsimple/ManagedClientSimpleTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.managedclientsimple;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import java.net.URI;
 
@@ -45,7 +45,7 @@
 
     @Test
     public void testManagedClientSimple() throws Exception {
-        final WebTarget resource = target().path("client");
+        final WebTarget resource = target("app").path("client");
         Response response;
 
         response = resource.path("animals").request(MediaType.TEXT_PLAIN).get();
diff --git a/examples/managed-client-webapp/README.MD b/examples/managed-client-webapp/README.MD
index 4937d1b..39ca218 100644
--- a/examples/managed-client-webapp/README.MD
+++ b/examples/managed-client-webapp/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -27,7 +27,7 @@
 In the example, the requests to a *public resource* deployed on
 `/public/` path are forwarded to an *internal resource* (deployed on
 `/internal/` path) using injected
-[javax.ws.rs.client.WebTarget](https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/WebTarget.html)
+[jakarta.ws.rs.client.WebTarget](https://jax-rs-spec.java.net/nonav/2.0/apidocs/jakarta.ws.rs/client/WebTarget.html)
 instances produced using 2 separate managed clients each of the managed
 clients using it's own custom configuration.
 
diff --git a/examples/managed-client-webapp/pom.xml b/examples/managed-client-webapp/pom.xml
index ffb8474..84d614d 100644
--- a/examples/managed-client-webapp/pom.xml
+++ b/examples/managed-client-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>managed-client-webapp</artifactId>
@@ -38,15 +38,23 @@
         <dependency>
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
-            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
-                <artifactId>maven-jetty-plugin</artifactId>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
+                <configuration>
+                    <webApp>
+                        <contextPath>/managed-client-webapp/</contextPath>
+                    </webApp>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFeature.java b/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFeature.java
index f4fe305..e1975c3 100644
--- a/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFeature.java
+++ b/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,9 +16,9 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * Dynamic feature that appends a properly configured {@link CustomHeaderFilter} instance
diff --git a/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFilter.java b/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFilter.java
index 123f1eb..314edfb 100644
--- a/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFilter.java
+++ b/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,12 +12,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 /**
  * A filter for appending and validating custom headers.
diff --git a/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/InternalResource.java b/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/InternalResource.java
index f83b2c6..683f9a0 100644
--- a/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/InternalResource.java
+++ b/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/InternalResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.managedclient;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * Internal resource accessed from the managed client resource.
diff --git a/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/PublicResource.java b/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/PublicResource.java
index 0749233..2fbd1d0 100644
--- a/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/PublicResource.java
+++ b/examples/managed-client-webapp/src/main/java/org/glassfish/jersey/examples/managedclient/PublicResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.managedclient;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.Uri;
 
diff --git a/examples/managed-client-webapp/src/main/webapp/WEB-INF/web.xml b/examples/managed-client-webapp/src/main/webapp/WEB-INF/web.xml
index dcc06b8..9e03a92 100644
--- a/examples/managed-client-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/managed-client-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,12 +11,12 @@
 
 -->
 
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
     <servlet>
         <servlet-name>org.glassfish.jersey.examples.managedclient.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.managedclient.MyApplication</param-value>
         </init-param>
         <init-param>
diff --git a/examples/managed-client-webapp/src/test/java/org/glassfish/jersey/examples/managedclient/ManagedClientTest.java b/examples/managed-client-webapp/src/test/java/org/glassfish/jersey/examples/managedclient/ManagedClientTest.java
index 68fcabd..250715a 100644
--- a/examples/managed-client-webapp/src/test/java/org/glassfish/jersey/examples/managedclient/ManagedClientTest.java
+++ b/examples/managed-client-webapp/src/test/java/org/glassfish/jersey/examples/managedclient/ManagedClientTest.java
@@ -12,10 +12,10 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/managed-client/README.MD b/examples/managed-client/README.MD
index 249eeb9..0bb1f07 100644
--- a/examples/managed-client/README.MD
+++ b/examples/managed-client/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -27,7 +27,7 @@
 In the example, the requests to a *public resource* deployed on
 `/public/` path are forwarded to an *internal resource* (deployed on
 `/internal/` path) using injected
-[javax.ws.rs.client.WebTarget](https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/WebTarget.html)
+[jakarta.ws.rs.client.WebTarget](https://jax-rs-spec.java.net/nonav/2.0/apidocs/jakarta.ws.rs/client/WebTarget.html)
 instances produced using 2 separate managed clients each of the managed
 clients using it's own custom configuration.
 
diff --git a/examples/managed-client/pom.xml b/examples/managed-client/pom.xml
index 2659142..573177b 100644
--- a/examples/managed-client/pom.xml
+++ b/examples/managed-client/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>managed-client</artifactId>
@@ -36,6 +36,14 @@
             <artifactId>jersey-hk2</artifactId>
         </dependency>
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-bundle</artifactId>
             <type>pom</type>
diff --git a/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFeature.java b/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFeature.java
index b1779d7..02d8b96 100644
--- a/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFeature.java
+++ b/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,9 +16,9 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  *Dynamic feature that appends a properly configured {@link CustomHeaderFilter} instance
diff --git a/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFilter.java b/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFilter.java
index 123f1eb..314edfb 100644
--- a/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFilter.java
+++ b/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/CustomHeaderFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,12 +12,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 /**
  * A filter for appending and validating custom headers.
diff --git a/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/InternalResource.java b/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/InternalResource.java
index f83b2c6..683f9a0 100644
--- a/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/InternalResource.java
+++ b/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/InternalResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.managedclient;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * Internal resource accessed from the managed client resource.
diff --git a/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/PublicResource.java b/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/PublicResource.java
index 3054d46..9bb86f8 100644
--- a/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/PublicResource.java
+++ b/examples/managed-client/src/main/java/org/glassfish/jersey/examples/managedclient/PublicResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.managedclient;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.Uri;
 
diff --git a/examples/managed-client/src/test/java/org/glassfish/jersey/examples/managedclient/ManagedClientTest.java b/examples/managed-client/src/test/java/org/glassfish/jersey/examples/managedclient/ManagedClientTest.java
index 25de43c..bc4fbad 100644
--- a/examples/managed-client/src/test/java/org/glassfish/jersey/examples/managedclient/ManagedClientTest.java
+++ b/examples/managed-client/src/test/java/org/glassfish/jersey/examples/managedclient/ManagedClientTest.java
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.managedclient;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/examples/micrometer/pom.xml b/examples/micrometer/pom.xml
index de08ed9..b536662 100644
--- a/examples/micrometer/pom.xml
+++ b/examples/micrometer/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-micrometer-webapp</artifactId>
diff --git a/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/MetricsResource.java b/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/MetricsResource.java
index 28f1f11..f81a092 100644
--- a/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/MetricsResource.java
+++ b/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/MetricsResource.java
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.micrometer;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import static org.glassfish.jersey.examples.micrometer.App.WEB_PATH;
 
diff --git a/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/MetricsResourceConfig.java b/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/MetricsResourceConfig.java
index 6ce457c..bbaf91b 100644
--- a/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/MetricsResourceConfig.java
+++ b/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/MetricsResourceConfig.java
@@ -13,7 +13,7 @@
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.ResourceConfig;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 @ApplicationPath("/")
 public class MetricsResourceConfig extends ResourceConfig {
diff --git a/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/SummaryResource.java b/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/SummaryResource.java
index 5f82d15..9a981dd 100644
--- a/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/SummaryResource.java
+++ b/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/SummaryResource.java
@@ -13,10 +13,10 @@
 import io.micrometer.core.instrument.Meter;
 import io.micrometer.core.instrument.Timer;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
 import java.util.concurrent.TimeUnit;
 
 import static org.glassfish.jersey.examples.micrometer.App.WEB_PATH;
diff --git a/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/TimedResource.java b/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/TimedResource.java
index 654cba4..53ed481 100644
--- a/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/TimedResource.java
+++ b/examples/micrometer/src/main/java/org/glassfish/jersey/examples/micrometer/TimedResource.java
@@ -12,9 +12,9 @@
 
 import io.micrometer.core.annotation.Timed;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import static org.glassfish.jersey.examples.micrometer.App.WEB_PATH;
 
diff --git a/examples/micrometer/src/test/java/org/glassfish/jersey/examples/micrometer/MicrometerTest.java b/examples/micrometer/src/test/java/org/glassfish/jersey/examples/micrometer/MicrometerTest.java
index e8612c4..b9e605b 100644
--- a/examples/micrometer/src/test/java/org/glassfish/jersey/examples/micrometer/MicrometerTest.java
+++ b/examples/micrometer/src/test/java/org/glassfish/jersey/examples/micrometer/MicrometerTest.java
@@ -14,7 +14,7 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 import java.util.concurrent.TimeUnit;
 
 import static org.glassfish.jersey.examples.micrometer.TimedResource.MESSAGE;
diff --git a/examples/multipart-webapp/README.MD b/examples/multipart-webapp/README.MD
index 656c05b..672fda0 100644
--- a/examples/multipart-webapp/README.MD
+++ b/examples/multipart-webapp/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -11,7 +11,7 @@
 
 This example demonstrates how to develop RESTful web service with
 demonstrating JAX-RS Integration with MIME MultiPart Message Formats and
-an EE 6 compliant Web container.
+an Jakarta EE 9 compliant Web container.
 
 Contents
 --------
diff --git a/examples/multipart-webapp/pom.xml b/examples/multipart-webapp/pom.xml
index c488d85..06b3afa 100644
--- a/examples/multipart-webapp/pom.xml
+++ b/examples/multipart-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>multipart-webapp</artifactId>
@@ -41,32 +41,23 @@
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
-                <artifactId>maven-jetty-plugin</artifactId>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>runtime</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>pre-release</id>
             <build>
                 <plugins>
diff --git a/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/Bean.java b/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/Bean.java
index dc59cd5..93417bc 100644
--- a/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/Bean.java
+++ b/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/Bean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.multipart.webapp;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 public class Bean {
diff --git a/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartFieldInjectedResource.java b/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartFieldInjectedResource.java
index d99d3b6..0a74f46 100644
--- a/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartFieldInjectedResource.java
+++ b/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartFieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.multipart.webapp;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
 import org.glassfish.jersey.media.multipart.FormDataParam;
diff --git a/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartResource.java b/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartResource.java
index 5c73956..f145e54 100644
--- a/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartResource.java
+++ b/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.multipart.webapp;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.FormDataParam;
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
diff --git a/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MyApplication.java b/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MyApplication.java
index 120de05..99a73db 100644
--- a/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MyApplication.java
+++ b/examples/multipart-webapp/src/main/java/org/glassfish/jersey/examples/multipart/webapp/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.multipart.webapp;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.media.multipart.MultiPartFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/multipart-webapp/src/main/webapp/WEB-INF/web.xml b/examples/multipart-webapp/src/main/webapp/WEB-INF/web.xml
index f601eea..1afeaf5 100644
--- a/examples/multipart-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/multipart-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,16 +11,16 @@
 
 -->
 
-<web-app version="2.5"
-        xmlns="http://java.sun.com/xml/ns/javaee"
+<web-app version="5.0"
+        xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+        xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
 
     <servlet>
         <servlet-name>org.glassfish.jersey.examples.multipart.resources.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.multipart.webapp.MyApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/examples/multipart-webapp/src/test/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartWebAppTest.java b/examples/multipart-webapp/src/test/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartWebAppTest.java
index 677ff22..235d65b 100644
--- a/examples/multipart-webapp/src/test/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartWebAppTest.java
+++ b/examples/multipart-webapp/src/test/java/org/glassfish/jersey/examples/multipart/webapp/MultiPartWebAppTest.java
@@ -13,12 +13,12 @@
 import java.io.File;
 import java.net.URI;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
diff --git a/examples/oauth-client-twitter/pom.xml b/examples/oauth-client-twitter/pom.xml
index a5be1db..1cac7ba 100644
--- a/examples/oauth-client-twitter/pom.xml
+++ b/examples/oauth-client-twitter/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.examples</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -50,6 +50,15 @@
             <artifactId>jersey-media-json-jackson</artifactId>
             <version>${project.version}</version>
         </dependency>
+
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
     </dependencies>
 
 
@@ -67,18 +76,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>pre-release</id>
             <build>
                 <plugins>
diff --git a/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/App.java b/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/App.java
index e3cbfd0..5d39bde 100644
--- a/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/App.java
+++ b/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/App.java
@@ -21,11 +21,11 @@
 import java.util.List;
 import java.util.Properties;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.oauth1.AccessToken;
 import org.glassfish.jersey.client.oauth1.ConsumerCredentials;
diff --git a/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/Status.java b/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/Status.java
index 34f2abe..0c7e4fe 100644
--- a/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/Status.java
+++ b/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/Status.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.oauth.twitterclient;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
diff --git a/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/User.java b/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/User.java
index 9be2571..882b723 100644
--- a/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/User.java
+++ b/examples/oauth-client-twitter/src/main/java/org/glassfish/jersey/examples/oauth/twitterclient/User.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.oauth.twitterclient;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
diff --git a/examples/open-tracing/README.MD b/examples/open-tracing/README.MD
index 7fa3a82..e8dc701 100644
--- a/examples/open-tracing/README.MD
+++ b/examples/open-tracing/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -28,7 +28,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
 
 Try to access resources using the URIs listed bellow and look into Jager UI what traces are produced.
 The first example should be visible in the Jaeger UI right after the example application is started. Others can be created by
diff --git a/examples/open-tracing/pom.xml b/examples/open-tracing/pom.xml
index 2e21a51..4370892 100644
--- a/examples/open-tracing/pom.xml
+++ b/examples/open-tracing/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>open-tracing</artifactId>
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>com.uber.jaeger</groupId>
             <artifactId>jaeger-core</artifactId>
-            <version>0.27.0</version>
+            <version>${com.uber.jaeger.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.slf4j</groupId>
@@ -62,6 +62,22 @@
                     <groupId>org.apache.httpcomponents</groupId>
                     <artifactId>httpcore</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>io.opentracing</groupId>
+                    <artifactId>opentracing-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>io.opentracing</groupId>
+                    <artifactId>opentracing-util</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.google.code.gson</groupId>
+                    <artifactId>gson</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.httpcomponents</groupId>
+                    <artifactId>httpclient</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 
diff --git a/examples/open-tracing/src/main/java/org/glassfish/jersey/examples/opentracing/App.java b/examples/open-tracing/src/main/java/org/glassfish/jersey/examples/opentracing/App.java
index 7382ab2..c92f440 100644
--- a/examples/open-tracing/src/main/java/org/glassfish/jersey/examples/opentracing/App.java
+++ b/examples/open-tracing/src/main/java/org/glassfish/jersey/examples/opentracing/App.java
@@ -15,12 +15,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.opentracing.OpenTracingFeature;
diff --git a/examples/open-tracing/src/main/java/org/glassfish/jersey/examples/opentracing/TracedResource.java b/examples/open-tracing/src/main/java/org/glassfish/jersey/examples/opentracing/TracedResource.java
index e0f9901..ccca9d7 100644
--- a/examples/open-tracing/src/main/java/org/glassfish/jersey/examples/opentracing/TracedResource.java
+++ b/examples/open-tracing/src/main/java/org/glassfish/jersey/examples/opentracing/TracedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,16 +12,16 @@
 
 import java.util.concurrent.Executors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.opentracing.OpenTracingFeature;
 import org.glassfish.jersey.opentracing.OpenTracingUtils;
diff --git a/examples/osgi-helloworld-webapp/additional-bundle/pom.xml b/examples/osgi-helloworld-webapp/additional-bundle/pom.xml
index f0aa1cf..6a7a6b9 100644
--- a/examples/osgi-helloworld-webapp/additional-bundle/pom.xml
+++ b/examples/osgi-helloworld-webapp/additional-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>osgi-helloworld-webapp</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.examples.osgi-helloworld-webapp</groupId>
diff --git a/examples/osgi-helloworld-webapp/additional-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/AdditionalResource.java b/examples/osgi-helloworld-webapp/additional-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/AdditionalResource.java
index 72f3f6c..8b9b53d 100644
--- a/examples/osgi-helloworld-webapp/additional-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/AdditionalResource.java
+++ b/examples/osgi-helloworld-webapp/additional-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/AdditionalResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.osgi.helloworld.additional.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test resource for osgi-helloworld-webapp example;
diff --git a/examples/osgi-helloworld-webapp/additional-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/subpackage/AdditionalSubPackagedResource.java b/examples/osgi-helloworld-webapp/additional-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/subpackage/AdditionalSubPackagedResource.java
index 95a005d..2a2ffb8 100644
--- a/examples/osgi-helloworld-webapp/additional-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/subpackage/AdditionalSubPackagedResource.java
+++ b/examples/osgi-helloworld-webapp/additional-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/subpackage/AdditionalSubPackagedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.osgi.helloworld.additional.resource.subpackage;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * This resource is located in a sub-package and will be detected by OSGI framework only if recursive scanning is turned on.
diff --git a/examples/osgi-helloworld-webapp/alternate-version-bundle/pom.xml b/examples/osgi-helloworld-webapp/alternate-version-bundle/pom.xml
index ee13a98..7501550 100644
--- a/examples/osgi-helloworld-webapp/alternate-version-bundle/pom.xml
+++ b/examples/osgi-helloworld-webapp/alternate-version-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>osgi-helloworld-webapp</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.examples.osgi-helloworld-webapp</groupId>
diff --git a/examples/osgi-helloworld-webapp/alternate-version-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/AdditionalResource.java b/examples/osgi-helloworld-webapp/alternate-version-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/AdditionalResource.java
index 973fb1c..dd2a7dc 100644
--- a/examples/osgi-helloworld-webapp/alternate-version-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/AdditionalResource.java
+++ b/examples/osgi-helloworld-webapp/alternate-version-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/additional/resource/AdditionalResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.osgi.helloworld.additional.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Alternate version of test resource for osgi-helloworld-webapp example;
diff --git a/examples/osgi-helloworld-webapp/functional-test/pom.xml b/examples/osgi-helloworld-webapp/functional-test/pom.xml
index eae20aa..8453b3a 100644
--- a/examples/osgi-helloworld-webapp/functional-test/pom.xml
+++ b/examples/osgi-helloworld-webapp/functional-test/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>osgi-helloworld-webapp</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.examples.osgi-helloworld-webapp</groupId>
@@ -144,6 +144,10 @@
             <artifactId>jakarta.xml.bind-api</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.sun.activation</groupId>
+            <artifactId>jakarta.activation</artifactId>
+        </dependency>
          <!-- uncomment the following dependency to get ability
               to run felix console in the test -->
          <!--dependency>
@@ -206,6 +210,9 @@
                         <classpathDepenencyExclude>org.apache.felix:org.osgi.core</classpathDepenencyExclude>
                         <classpathDepenencyExclude>org.osgi:org.osgi.core</classpathDepenencyExclude>
                     </classpathDependencyExcludes>
+                    <excludes>
+                        <exclude>org/glassfish/jersey/examples/helloworld/test/WebAppFelixTest.java</exclude>
+                    </excludes>
                 </configuration>
                 <executions>
                     <execution>
@@ -222,19 +229,6 @@
 
     <profiles>
         <profile>
-            <id>testsJdk11</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.activation</groupId>
-                    <artifactId>jakarta.activation</artifactId>
-                    <version>${jakarta.activation.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>release</id>
             <!-- do not create source zip bundles -->
             <build>
diff --git a/examples/osgi-helloworld-webapp/functional-test/src/test/java/org/glassfish/jersey/examples/helloworld/test/AbstractWebAppTest.java b/examples/osgi-helloworld-webapp/functional-test/src/test/java/org/glassfish/jersey/examples/helloworld/test/AbstractWebAppTest.java
index 8b4b73d..404c63d 100644
--- a/examples/osgi-helloworld-webapp/functional-test/src/test/java/org/glassfish/jersey/examples/helloworld/test/AbstractWebAppTest.java
+++ b/examples/osgi-helloworld-webapp/functional-test/src/test/java/org/glassfish/jersey/examples/helloworld/test/AbstractWebAppTest.java
@@ -29,12 +29,12 @@
 import java.util.concurrent.TimeoutException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
@@ -138,7 +138,7 @@
                 //                 mavenBundle("org.ops4j.pax.logging", "pax-logging-api", "1.4"),
                 //                 mavenBundle("org.ops4j.pax.logging", "pax-logging-service", "1.4"),
 
-                // javax.annotation must go first!
+                // jakarta.annotation must go first!
                 mavenBundle().groupId("jakarta.annotation").artifactId("jakarta.annotation-api").versionAsInProject(),
                 // pax exam dependencies
                 // mavenBundle("org.ops4j.pax.url", "pax-url-mvn"),
diff --git a/examples/osgi-helloworld-webapp/functional-test/src/test/java/org/glassfish/jersey/examples/helloworld/test/WebAppFelixTest.java b/examples/osgi-helloworld-webapp/functional-test/src/test/java/org/glassfish/jersey/examples/helloworld/test/WebAppFelixTest.java
index 44fc574..bfe1c1b 100644
--- a/examples/osgi-helloworld-webapp/functional-test/src/test/java/org/glassfish/jersey/examples/helloworld/test/WebAppFelixTest.java
+++ b/examples/osgi-helloworld-webapp/functional-test/src/test/java/org/glassfish/jersey/examples/helloworld/test/WebAppFelixTest.java
@@ -14,8 +14,8 @@
 import java.util.List;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -27,12 +27,15 @@
 import org.ops4j.pax.exam.spi.reactors.PerSuite;
 import static org.junit.Assert.assertEquals;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerSuite.class)
 public class WebAppFelixTest extends AbstractWebAppTest {
 
     private static final Logger LOGGER = Logger.getLogger(WebAppFelixTest.class.getName());
+    private static final String JAXRS_RUNTIME_DELEGATE_PROPERTY = "jakarta.ws.rs.ext.RuntimeDelegate";
+    private static final String JAXRS_CLIENT_BUILDER = "jakarta.ws.rs.client.ClientBuilder";
 
     @Override
     public List<Option> osgiRuntimeOptions() {
@@ -40,8 +43,9 @@
                 mavenBundle().groupId("org.osgi").artifactId("org.osgi.service.cm").versionAsInProject(),
                 mavenBundle()
                         .groupId("org.apache.felix").artifactId("org.apache.felix.eventadmin")
-                        .versionAsInProject()
-        )
+                        .versionAsInProject(),
+                systemProperty(JAXRS_RUNTIME_DELEGATE_PROPERTY).value("org.glassfish.jersey.internal.RuntimeDelegateImpl"),
+                systemProperty(JAXRS_CLIENT_BUILDER).value("org.glassfish.jersey.client.JerseyClientBuilder"))
         );
     }
 
diff --git a/examples/osgi-helloworld-webapp/lib-bundle/pom.xml b/examples/osgi-helloworld-webapp/lib-bundle/pom.xml
index 4bef3b9..dcd3cbc 100644
--- a/examples/osgi-helloworld-webapp/lib-bundle/pom.xml
+++ b/examples/osgi-helloworld-webapp/lib-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>osgi-helloworld-webapp</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.examples.osgi-helloworld-webapp</groupId>
diff --git a/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/AnotherResource.java b/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/AnotherResource.java
index 7d050e2..194760e 100644
--- a/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/AnotherResource.java
+++ b/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/AnotherResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.osgi.helloworld.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 @Path("/another")
 public class AnotherResource {
diff --git a/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/HelloWorldResource.java b/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/HelloWorldResource.java
index 3998982..18b24d4 100644
--- a/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/HelloWorldResource.java
+++ b/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.osgi.helloworld.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 @Path("/helloworld")
 public class HelloWorldResource {
diff --git a/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/MyApplication.java b/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/MyApplication.java
index d779561..4617d1b 100644
--- a/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/MyApplication.java
+++ b/examples/osgi-helloworld-webapp/lib-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,7 +13,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 public class MyApplication extends Application {
 
diff --git a/examples/osgi-helloworld-webapp/pom.xml b/examples/osgi-helloworld-webapp/pom.xml
index 305dba0..fc66fec 100644
--- a/examples/osgi-helloworld-webapp/pom.xml
+++ b/examples/osgi-helloworld-webapp/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>osgi-helloworld-webapp</artifactId>
diff --git a/examples/osgi-helloworld-webapp/war-bundle/pom.xml b/examples/osgi-helloworld-webapp/war-bundle/pom.xml
index 36ad89f..1249a34 100644
--- a/examples/osgi-helloworld-webapp/war-bundle/pom.xml
+++ b/examples/osgi-helloworld-webapp/war-bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>osgi-helloworld-webapp</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.examples.osgi-helloworld-webapp</groupId>
@@ -55,9 +55,9 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version><!-- the current project's ${servlet2.version} is 2.4 and that's not enough -->
             <scope>provided</scope>
         </dependency>
 
diff --git a/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/WebAppContextListener.java b/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/WebAppContextListener.java
index 5ad3311..0b19575 100644
--- a/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/WebAppContextListener.java
+++ b/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/WebAppContextListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,8 +12,8 @@
 
 import java.util.HashMap;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
diff --git a/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/WebInfClassesResource.java b/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/WebInfClassesResource.java
index 65aa4b9..734d62b 100644
--- a/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/WebInfClassesResource.java
+++ b/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/WebInfClassesResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.osgi.helloworld.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * This resource is physically located in WEB-INF/classes of a OSGI bundle.
diff --git a/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/subpackage/WebInfClassesSubPackagedResource.java b/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/subpackage/WebInfClassesSubPackagedResource.java
index 116c37b..4048908 100644
--- a/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/subpackage/WebInfClassesSubPackagedResource.java
+++ b/examples/osgi-helloworld-webapp/war-bundle/src/main/java/org/glassfish/jersey/examples/osgi/helloworld/resource/subpackage/WebInfClassesSubPackagedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.osgi.helloworld.resource.subpackage;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * This resource is located in a sub-package and will be detected by OSGI framework only if recursive scanning is turned on.<br/>
diff --git a/examples/osgi-http-service/bundle/pom.xml b/examples/osgi-http-service/bundle/pom.xml
index d26c943..24cc2ed 100644
--- a/examples/osgi-http-service/bundle/pom.xml
+++ b/examples/osgi-http-service/bundle/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>osgi-http-service</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.1.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.examples.osgi-http-service</groupId>
@@ -30,6 +30,15 @@
 
     <dependencies>
         <dependency>
+            <groupId>jakarta.ws.rs</groupId>
+            <artifactId>jakarta.ws.rs-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-servlet-core</artifactId>
         </dependency>
@@ -40,7 +49,7 @@
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.http.bundle</artifactId>
-            <version>2.2.0</version>
+            <version>3.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
@@ -63,7 +72,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.examples.osgihttpservice</Export-Package>
-                        <Import-Package>javax.servlet.*;version="[2.4,5.0)",*</Import-Package>
+                        <Import-Package>jakarta.servlet.*;version="[5.0,7.0)",*</Import-Package>
                         <Bundle-Activator>org.glassfish.jersey.examples.osgihttpservice.Activator</Bundle-Activator>
                         <Implementation-Title>jersey-osgi-http-service-bundle</Implementation-Title>
                         <Implementation-Version>${project.version}</Implementation-Version>
diff --git a/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/Activator.java b/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/Activator.java
index 7e26f36..8f3207e 100644
--- a/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/Activator.java
+++ b/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/Activator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,7 +15,7 @@
 import java.util.Hashtable;
 import java.util.logging.Logger;
 
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
 
 import org.glassfish.jersey.servlet.ServletContainer;
 
@@ -124,7 +124,7 @@
     @SuppressWarnings("UseOfObsoleteCollectionType")
     private Dictionary<String, String> getJerseyServletParams() {
         Dictionary<String, String> jerseyServletParams = new Hashtable<>();
-        jerseyServletParams.put("javax.ws.rs.Application", JerseyApplication.class.getName());
+        jerseyServletParams.put("jakarta.ws.rs.Application", JerseyApplication.class.getName());
         return jerseyServletParams;
     }
 }
diff --git a/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/JerseyApplication.java b/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/JerseyApplication.java
index 1c8278c..eacba66 100644
--- a/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/JerseyApplication.java
+++ b/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/JerseyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,7 +12,7 @@
 
 import java.util.HashSet;
 import java.util.Set;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 public class JerseyApplication extends Application {
 
diff --git a/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/StatusResource.java b/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/StatusResource.java
index e0bbdc5..b83c15a 100644
--- a/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/StatusResource.java
+++ b/examples/osgi-http-service/bundle/src/main/java/org/glassfish/jersey/examples/osgihttpservice/StatusResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.osgihttpservice;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Jakub Podlesak
diff --git a/examples/osgi-http-service/functional-test/pom.xml b/examples/osgi-http-service/functional-test/pom.xml
index add2e43..5ec3b1c 100644
--- a/examples/osgi-http-service/functional-test/pom.xml
+++ b/examples/osgi-http-service/functional-test/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>osgi-http-service</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.1.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.examples.osgi-http-service</groupId>
@@ -217,7 +217,7 @@
                         <configuration>
                             <excludes>
                                 <!--
-                                excluded due to javax.servlet-api collision -
+                                excluded due to jakarta.servlet-api collision -
                                 more than one version is required, so it is not possible to execute that test.
                                 (since pax-exam version 4.13.5)
                                   -->
@@ -245,6 +245,26 @@
             </dependencies>
         </profile>
         <profile>
+            <id>jdk8</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <excludes>
+                                <exclude>**/GrizzlyHttpServiceFelixTest.java</exclude>
+                                <exclude>**/JettyHttpServiceFelixTest.java</exclude>
+                            </excludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
             <id>release</id>
             <!-- do not create source zip bundles -->
             <build>
diff --git a/examples/osgi-http-service/functional-test/src/test/java/org/glassfish/jersey/examples/osgihttpservice/test/AbstractHttpServiceTest.java b/examples/osgi-http-service/functional-test/src/test/java/org/glassfish/jersey/examples/osgihttpservice/test/AbstractHttpServiceTest.java
index 4e19b30..a7cf015 100644
--- a/examples/osgi-http-service/functional-test/src/test/java/org/glassfish/jersey/examples/osgihttpservice/test/AbstractHttpServiceTest.java
+++ b/examples/osgi-http-service/functional-test/src/test/java/org/glassfish/jersey/examples/osgihttpservice/test/AbstractHttpServiceTest.java
@@ -23,12 +23,12 @@
 import java.util.concurrent.TimeoutException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
@@ -67,6 +67,8 @@
     private static final String CONTEXT = "/jersey-http-service";
     private static final URI baseUri = UriBuilder.fromUri("http://localhost").port(port).path(CONTEXT).build();
     private static final String BundleLocationProperty = "jersey.bundle.location";
+    private static final String JAXRS_RUNTIME_DELEGATE_PROPERTY = "jakarta.ws.rs.ext.RuntimeDelegate";
+    private static final String JAXRS_CLIENT_BUILDER = "jakarta.ws.rs.client.ClientBuilder";
 
     private static final Logger LOGGER = Logger.getLogger(AbstractHttpServiceTest.class.getName());
 
@@ -86,6 +88,8 @@
                 systemProperty(BundleLocationProperty).value(bundleLocation),
                 systemProperty("jersey.config.test.container.port").value(String.valueOf(port)),
                 systemProperty("org.osgi.framework.system.packages.extra").value("jakarta.annotation"),
+                systemProperty(JAXRS_RUNTIME_DELEGATE_PROPERTY).value("org.glassfish.jersey.internal.RuntimeDelegateImpl"),
+                systemProperty(JAXRS_CLIENT_BUILDER).value("org.glassfish.jersey.client.JerseyClientBuilder"),
 
                 JdkVersion.getJdkVersion().getMajor() > 16
                     ? vmOption("--add-opens=java.base/java.net=ALL-UNNAMED")
@@ -98,7 +102,7 @@
                 // mavenBundle("org.ops4j.pax.logging", "pax-logging-api", "1.4"),
                 // mavenBundle("org.ops4j.pax.logging", "pax-logging-service", "1.4"),
 
-                // javax.annotation has to go first!
+                // jakarta.annotation has to go first!
                 mavenBundle().groupId("jakarta.annotation").artifactId("jakarta.annotation-api").versionAsInProject(),
 
                 mavenBundle("org.ops4j.pax.url", "pax-url-mvn").versionAsInProject(),
@@ -132,6 +136,9 @@
                 .versionAsInProject(),
                 mavenBundle().groupId("org.glassfish.jersey.inject").artifactId("jersey-hk2").versionAsInProject(),
 
+                // validation
+                mavenBundle().groupId("jakarta.validation").artifactId("jakarta.validation-api").versionAsInProject(),
+
                 // JAX-RS API
                 mavenBundle().groupId("jakarta.ws.rs").artifactId("jakarta.ws.rs-api").versionAsInProject()
 
diff --git a/examples/osgi-http-service/pom.xml b/examples/osgi-http-service/pom.xml
index 8ee9ce3..fa1bd88 100644
--- a/examples/osgi-http-service/pom.xml
+++ b/examples/osgi-http-service/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.1.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>osgi-http-service</artifactId>
diff --git a/examples/pom.xml b/examples/pom.xml
index 9c630be..1798d4f 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <licenses>
@@ -79,8 +79,6 @@
         <module>helloworld-pure-jax-rs</module>
         <module>helloworld-webapp</module>
         <module>helloworld-weld</module>
-        <module>helloworld-spring-webapp</module>
-        <module>helloworld-spring-annotations</module>
         <module>http-patch</module>
         <module>http-trace</module>
         <module>https-clientserver-grizzly</module>
@@ -91,7 +89,6 @@
         <module>jersey-ejb</module>
         <module>json-binding-webapp</module>
         <module>json-jackson</module>
-        <module>json-jackson1</module>
         <module>json-jettison</module>
         <module>json-moxy</module>
         <module>json-processing-webapp</module>
@@ -105,7 +102,7 @@
         <module>micrometer</module>
         <module>open-tracing</module>
         <module>osgi-helloworld-webapp</module>
-        <module>osgi-http-service</module>
+<!--        <module>osgi-http-service</module> Jakartification - felix osgi is not jakartificated-->
         <module>oauth-client-twitter</module>
         <!--<module>oauth2-client-google-webapp</module>-->
         <module>reload</module>
@@ -282,4 +279,17 @@
         </resources>
     </build>
 
+    <profiles>
+        <profile>
+            <id>jdk17</id>
+            <activation>
+                <jdk>[17,)</jdk>
+            </activation>
+            <modules>
+                <module>helloworld-spring-webapp</module>
+                <module>helloworld-spring-annotations</module>
+            </modules>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/examples/reload/README.MD b/examples/reload/README.MD
index 57a857b..5f597f8 100644
--- a/examples/reload/README.MD
+++ b/examples/reload/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -11,7 +11,7 @@
 
 This example demonstrates how to create a simple Jersey application with
 resource reloading capability using
-[Grizzly HTTP Server container](http://grizzly.java.net).
+[Grizzly HTTP Server container](https://projects.eclipse.org/projects/ee4j.grizzly).
 
 Contents
 --------
@@ -39,7 +39,7 @@
 >     mvn clean compile exec:java
 
 This deploys current example using[Grizzly
-container](http://grizzly.java.net/). StatsResource should be available
+container](https://projects.eclipse.org/projects/ee4j.grizzly). StatsResource should be available
 at <http://localhost:8080/flights/stats>
 
 You may want to check the other resources as well:
diff --git a/examples/reload/pom.xml b/examples/reload/pom.xml
index f8e0bfb..fbb06f8 100644
--- a/examples/reload/pom.xml
+++ b/examples/reload/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>reload</artifactId>
diff --git a/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/ArrivalsResource.java b/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/ArrivalsResource.java
index a3e4c68..4e492c7 100644
--- a/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/ArrivalsResource.java
+++ b/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/ArrivalsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.reload;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  *
diff --git a/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/DeparturesResource.java b/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/DeparturesResource.java
index 680d30e..8a52475 100644
--- a/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/DeparturesResource.java
+++ b/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/DeparturesResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.reload;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  *
diff --git a/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/StatsResource.java b/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/StatsResource.java
index f71288c..cafe614 100644
--- a/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/StatsResource.java
+++ b/examples/reload/src/main/java/org/glassfish/jersey/examples/reload/StatsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.reload;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  *
diff --git a/examples/reload/src/test/java/org/glassfish/jersey/examples/reload/ReloadTest.java b/examples/reload/src/test/java/org/glassfish/jersey/examples/reload/ReloadTest.java
index bb5763f..816f1a5 100644
--- a/examples/reload/src/test/java/org/glassfish/jersey/examples/reload/ReloadTest.java
+++ b/examples/reload/src/test/java/org/glassfish/jersey/examples/reload/ReloadTest.java
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.reload;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener;
diff --git a/examples/rx-client-webapp/pom.xml b/examples/rx-client-webapp/pom.xml
index 785d085..9fb7b2c 100644
--- a/examples/rx-client-webapp/pom.xml
+++ b/examples/rx-client-webapp/pom.xml
@@ -18,7 +18,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>rx-client-webapp</artifactId>
@@ -52,6 +52,14 @@
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jackson</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
@@ -60,22 +68,6 @@
             <plugin>
                 <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
-                <configuration>
-                    <scanIntervalSeconds>5</scanIntervalSeconds>
-                    <stopPort>9999</stopPort>
-                    <stopKey>STOP</stopKey>
-                    <webApp>
-                        <contextPath>/</contextPath>
-                        <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
-                    </webApp>
-                    <systemProperties>
-                        <systemProperty>
-                            <name>jetty.port</name>
-                            <value>${jersey.config.test.container.port}</value>
-                        </systemProperty>
-                    </systemProperties>
-                    <war>${project.build.directory}/${project.build.finalName}.war</war>
-                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/RxApplication.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/RxApplication.java
index d6e3011..cdc981b 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/RxApplication.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/RxApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.rx;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.glassfish.jersey.examples.rx.agent.AsyncAgentResource;
 import org.glassfish.jersey.examples.rx.agent.CompletionStageAgentResource;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/AsyncAgentResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/AsyncAgentResource.java
index a7353a2..daf571e 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/AsyncAgentResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/AsyncAgentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -25,13 +25,13 @@
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 import org.glassfish.jersey.examples.rx.domain.AgentResponse;
 import org.glassfish.jersey.examples.rx.domain.Calculation;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/CompletionStageAgentResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/CompletionStageAgentResource.java
index fd9f410..9c043f1 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/CompletionStageAgentResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/CompletionStageAgentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -20,13 +20,13 @@
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.examples.rx.domain.AgentResponse;
 import org.glassfish.jersey.examples.rx.domain.Calculation;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/FlowableAgentResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/FlowableAgentResource.java
index a9e9af6..fd0ccb0 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/FlowableAgentResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/FlowableAgentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,15 +15,15 @@
 import java.util.Queue;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.client.rx.rxjava2.RxFlowableInvoker;
 import org.glassfish.jersey.client.rx.rxjava2.RxFlowableInvokerProvider;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/ListenableFutureAgentResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/ListenableFutureAgentResource.java
index df68d25..4a18b92 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/ListenableFutureAgentResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/ListenableFutureAgentResource.java
@@ -15,13 +15,13 @@
 import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.client.rx.guava.RxListenableFutureInvoker;
 import org.glassfish.jersey.client.rx.guava.RxListenableFutureInvokerProvider;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/ObservableAgentResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/ObservableAgentResource.java
index 547b21e..a18155b 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/ObservableAgentResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/ObservableAgentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,15 +15,15 @@
 import java.util.Queue;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.client.rx.rxjava.RxObservableInvoker;
 import org.glassfish.jersey.client.rx.rxjava.RxObservableInvokerProvider;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/SyncAgentResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/SyncAgentResource.java
index 102d465..f12508f 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/SyncAgentResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/agent/SyncAgentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -18,11 +18,11 @@
 import java.util.Queue;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.examples.rx.domain.AgentResponse;
 import org.glassfish.jersey.examples.rx.domain.Calculation;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/domain/Calculation.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/domain/Calculation.java
index 1d5a141..625810d 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/domain/Calculation.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/domain/Calculation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.rx.domain;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Michal Gajdos
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/domain/Forecast.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/domain/Forecast.java
index 95ee20c..807f789 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/domain/Forecast.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/domain/Forecast.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.rx.domain;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Michal Gajdos
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/CalculationResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/CalculationResource.java
index 84792ea..2efd71f 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/CalculationResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/CalculationResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,11 +12,11 @@
 
 import java.util.Random;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.examples.rx.Helper;
 import org.glassfish.jersey.examples.rx.domain.Calculation;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/DestinationResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/DestinationResource.java
index 6fa1d15..d316149 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/DestinationResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/DestinationResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,14 +14,14 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.examples.rx.Helper;
 import org.glassfish.jersey.examples.rx.domain.Destination;
diff --git a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/ForecastResource.java b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/ForecastResource.java
index 09247fe..858b4b9 100644
--- a/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/ForecastResource.java
+++ b/examples/rx-client-webapp/src/main/java/org/glassfish/jersey/examples/rx/remote/ForecastResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.rx.remote;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.examples.rx.Helper;
 import org.glassfish.jersey.examples.rx.domain.Forecast;
diff --git a/examples/rx-client-webapp/src/test/java/org/glassfish/jersey/examples/rx/RxClientsTest.java b/examples/rx-client-webapp/src/test/java/org/glassfish/jersey/examples/rx/RxClientsTest.java
index 737a28c..06c775d 100644
--- a/examples/rx-client-webapp/src/test/java/org/glassfish/jersey/examples/rx/RxClientsTest.java
+++ b/examples/rx-client-webapp/src/test/java/org/glassfish/jersey/examples/rx/RxClientsTest.java
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.rx;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.examples.rx.domain.AgentResponse;
 import org.glassfish.jersey.test.DeploymentContext;
diff --git a/examples/server-async-managed/README.MD b/examples/server-async-managed/README.MD
index 34f6404..926bf7c 100644
--- a/examples/server-async-managed/README.MD
+++ b/examples/server-async-managed/README.MD
@@ -71,4 +71,4 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
diff --git a/examples/server-async-managed/pom.xml b/examples/server-async-managed/pom.xml
index 67834b5..633a692 100644
--- a/examples/server-async-managed/pom.xml
+++ b/examples/server-async-managed/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>server-async-managed</artifactId>
@@ -28,6 +28,10 @@
 
     <dependencies>
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-grizzly2-http</artifactId>
         </dependency>
diff --git a/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/ChatResource.java b/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/ChatResource.java
index 8d97c44..0045bf4 100644
--- a/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/ChatResource.java
+++ b/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/ChatResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,12 +13,12 @@
 import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.BlockingQueue;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 import org.glassfish.jersey.server.ManagedAsync;
 
diff --git a/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/Message.java b/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/Message.java
index a84771e..72381d5 100644
--- a/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/Message.java
+++ b/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/Message.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,7 +11,7 @@
 package org.glassfish.jersey.examples.server.async.managed;
 
 import java.util.Date;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Chat message JAXB POJO.
diff --git a/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/SimpleJerseyExecutorManagedLongRunningResource.java b/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/SimpleJerseyExecutorManagedLongRunningResource.java
index bbf16d5..6021cc5 100644
--- a/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/SimpleJerseyExecutorManagedLongRunningResource.java
+++ b/examples/server-async-managed/src/main/java/org/glassfish/jersey/examples/server/async/managed/SimpleJerseyExecutorManagedLongRunningResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,12 +13,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 import org.glassfish.jersey.server.ManagedAsync;
 
diff --git a/examples/server-async-managed/src/test/java/org/glassfish/jersey/examples/server/async/managed/ManagedAsyncResourceTest.java b/examples/server-async-managed/src/test/java/org/glassfish/jersey/examples/server/async/managed/ManagedAsyncResourceTest.java
index 07032f0..edd96c8 100644
--- a/examples/server-async-managed/src/test/java/org/glassfish/jersey/examples/server/async/managed/ManagedAsyncResourceTest.java
+++ b/examples/server-async-managed/src/test/java/org/glassfish/jersey/examples/server/async/managed/ManagedAsyncResourceTest.java
@@ -22,9 +22,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
diff --git a/examples/server-async-standalone/README.MD b/examples/server-async-standalone/README.MD
index d5add0b..566c0d5 100644
--- a/examples/server-async-standalone/README.MD
+++ b/examples/server-async-standalone/README.MD
@@ -9,7 +9,7 @@
 Server Asynchronous Standalone Example
 ======================================
 
-This example demonstrates JAX-RS 2.0 asynchronous API, both on the client and
+This example demonstrates Jakarta RESTful Web Services 3.0 asynchronous API, both on the client and
 server side.
 
 The  goal of the sample is to demonstrate that with limited I/O processing threads
@@ -33,7 +33,7 @@
 
   2. client module "client" (produces client.jar)
 
-     - the module contains the web application client developed using JAX-RS 2.0
+     - the module contains the web application client developed using the
        client API & leveraging the asynchronous client execution for spawning
        multiple simultaneous client requests with subsequent asynchronous response
        processing.
diff --git a/examples/server-async-standalone/client/pom.xml b/examples/server-async-standalone/client/pom.xml
index 6f094ab..7978e51 100644
--- a/examples/server-async-standalone/client/pom.xml
+++ b/examples/server-async-standalone/client/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>server-async-standalone</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>server-async-standalone-client</artifactId>
diff --git a/examples/server-async-standalone/client/src/main/java/org/glassfish/jersey/examples/server/async/Main.java b/examples/server-async-standalone/client/src/main/java/org/glassfish/jersey/examples/server/async/Main.java
index d64a5b1..5db16e2 100644
--- a/examples/server-async-standalone/client/src/main/java/org/glassfish/jersey/examples/server/async/Main.java
+++ b/examples/server-async-standalone/client/src/main/java/org/glassfish/jersey/examples/server/async/Main.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -17,10 +17,10 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
 
 /**
  * Long-running asynchronous service client.
diff --git a/examples/server-async-standalone/client/src/main/java/org/glassfish/jersey/examples/server/async/MainWindow.java b/examples/server-async-standalone/client/src/main/java/org/glassfish/jersey/examples/server/async/MainWindow.java
index 1758208..e274a02 100644
--- a/examples/server-async-standalone/client/src/main/java/org/glassfish/jersey/examples/server/async/MainWindow.java
+++ b/examples/server-async-standalone/client/src/main/java/org/glassfish/jersey/examples/server/async/MainWindow.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
 
 import javax.swing.JLabel;
 
diff --git a/examples/server-async-standalone/pom.xml b/examples/server-async-standalone/pom.xml
index cfd0932..8f8a4e8 100644
--- a/examples/server-async-standalone/pom.xml
+++ b/examples/server-async-standalone/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>server-async-standalone</artifactId>
diff --git a/examples/server-async-standalone/webapp/pom.xml b/examples/server-async-standalone/webapp/pom.xml
index e01095e..7e0e602 100644
--- a/examples/server-async-standalone/webapp/pom.xml
+++ b/examples/server-async-standalone/webapp/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>server-async-standalone</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>server-async-standalone-webapp</artifactId>
diff --git a/examples/server-async-standalone/webapp/src/main/java/org/glassfish/jersey/examples/server/async/AsyncJaxrsApplication.java b/examples/server-async-standalone/webapp/src/main/java/org/glassfish/jersey/examples/server/async/AsyncJaxrsApplication.java
index 7ffe8d6..df101e9 100644
--- a/examples/server-async-standalone/webapp/src/main/java/org/glassfish/jersey/examples/server/async/AsyncJaxrsApplication.java
+++ b/examples/server-async-standalone/webapp/src/main/java/org/glassfish/jersey/examples/server/async/AsyncJaxrsApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,8 +14,8 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 
diff --git a/examples/server-async-standalone/webapp/src/main/java/org/glassfish/jersey/examples/server/async/LongRunningEchoResource.java b/examples/server-async-standalone/webapp/src/main/java/org/glassfish/jersey/examples/server/async/LongRunningEchoResource.java
index fe607cf..bbd6b54 100644
--- a/examples/server-async-standalone/webapp/src/main/java/org/glassfish/jersey/examples/server/async/LongRunningEchoResource.java
+++ b/examples/server-async-standalone/webapp/src/main/java/org/glassfish/jersey/examples/server/async/LongRunningEchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,13 +13,13 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.ServiceUnavailableException;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.ServiceUnavailableException;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 /**
  * Example of a simple resource with a long-running operation executed in a
diff --git a/examples/server-async-standalone/webapp/src/main/webapp/WEB-INF/web.xml b/examples/server-async-standalone/webapp/src/main/webapp/WEB-INF/web.xml
index 5f63815..e7e9377 100644
--- a/examples/server-async-standalone/webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/server-async-standalone/webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,15 +11,15 @@
 
 -->
 
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-         version="3.0">
+         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+         version="5.0">
     <servlet>
         <servlet-name>async-app</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.examples.server.async.AsyncJaxrsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/examples/server-async/README.MD b/examples/server-async/README.MD
index ec0fee3..55876c7 100644
--- a/examples/server-async/README.MD
+++ b/examples/server-async/README.MD
@@ -12,7 +12,7 @@
 The full description how to create an asynchronous resource can be found in Jersey User Guide, chapter 
 [Asynchronous Services and Clients](https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest/async.html).
 
-This example demonstrates JAX-RS 2.0 server-side non-blocking API in comparison to blocking and long-running
+This example demonstrates Jakarta RESTful Web Services 3.0 server-side non-blocking API in comparison to blocking and long-running
 asynchronous operations.
 
 The  goal of the sample is to demonstrate that with limited I/O processing threads
@@ -77,4 +77,4 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
diff --git a/examples/server-async/pom.xml b/examples/server-async/pom.xml
index 7e4ae3b..b7e53e4 100644
--- a/examples/server-async/pom.xml
+++ b/examples/server-async/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>server-async</artifactId>
diff --git a/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/BlockingPostChatResource.java b/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/BlockingPostChatResource.java
index ffea706..901333c 100644
--- a/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/BlockingPostChatResource.java
+++ b/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/BlockingPostChatResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -17,15 +17,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
diff --git a/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/FireAndForgetChatResource.java b/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/FireAndForgetChatResource.java
index fe4f2ba..b0d0598 100644
--- a/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/FireAndForgetChatResource.java
+++ b/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/FireAndForgetChatResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -17,15 +17,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
diff --git a/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/LongRunningAsyncOperationResource.java b/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/LongRunningAsyncOperationResource.java
index 9d2a178..94948f2 100644
--- a/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/LongRunningAsyncOperationResource.java
+++ b/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/LongRunningAsyncOperationResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,12 +15,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
diff --git a/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/SimpleLongRunningResource.java b/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/SimpleLongRunningResource.java
index 9fbce9d..6afaa69 100644
--- a/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/SimpleLongRunningResource.java
+++ b/examples/server-async/src/main/java/org/glassfish/jersey/examples/server/async/SimpleLongRunningResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,11 +15,11 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
diff --git a/examples/server-async/src/test/java/org/glassfish/jersey/examples/server/async/AsyncResourceTest.java b/examples/server-async/src/test/java/org/glassfish/jersey/examples/server/async/AsyncResourceTest.java
index b66ff64..03d8e56 100644
--- a/examples/server-async/src/test/java/org/glassfish/jersey/examples/server/async/AsyncResourceTest.java
+++ b/examples/server-async/src/test/java/org/glassfish/jersey/examples/server/async/AsyncResourceTest.java
@@ -25,8 +25,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
diff --git a/examples/server-sent-events-jaxrs/README.MD b/examples/server-sent-events-jaxrs/README.MD
index 2d5504d..3221b1e 100644
--- a/examples/server-sent-events-jaxrs/README.MD
+++ b/examples/server-sent-events-jaxrs/README.MD
@@ -9,7 +9,7 @@
 Server-Sent Events (SSE) Example
 ================================
 
-This example demonstrates JAX-RS 2.1 server-sent events support.
+This example demonstrates Jakarta RESTful Web Services server-sent events support.
 
 The full description how to add support for server-sent events to your application can be found in Jersey User Guide, 
 chapter
@@ -67,4 +67,4 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
diff --git a/examples/server-sent-events-jaxrs/pom.xml b/examples/server-sent-events-jaxrs/pom.xml
index c571a42..1308d80 100644
--- a/examples/server-sent-events-jaxrs/pom.xml
+++ b/examples/server-sent-events-jaxrs/pom.xml
@@ -17,14 +17,14 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>server-sent-events-jaxrs</artifactId>
     <packaging>jar</packaging>
     <name>jersey-examples-server-sent-events-jaxrs</name>
 
-    <description>Jersey JAX-RS 2.1 Server-Sent Events example.</description>
+    <description>Jersey Jakarta RESTfule Web Services 3.0 Server-Sent Events example.</description>
 
     <dependencies>
         <dependency>
diff --git a/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/App.java b/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/App.java
index 0c40d6a..e965984 100644
--- a/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/App.java
+++ b/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -33,7 +33,7 @@
 
     public static void main(String[] args) {
         try {
-            System.out.println("\"JAX-RS 2.1 Server-Sent Events\" Jersey Example App");
+            System.out.println("\"Jakarta RESTfule Web Services Server-Sent Events\" Jersey Example App");
 
             final ResourceConfig resourceConfig = new ResourceConfig(JaxRsServerSentEventsResource.class);
 
diff --git a/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/DomainResource.java b/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/DomainResource.java
index 32bc531..9f8f5fc 100644
--- a/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/DomainResource.java
+++ b/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/DomainResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -18,21 +18,21 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-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.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.POST;
+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.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
 
 /**
  * @author Pavel Bucek
diff --git a/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/JaxRsServerSentEventsResource.java b/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/JaxRsServerSentEventsResource.java
index aae2434..78147ff 100644
--- a/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/JaxRsServerSentEventsResource.java
+++ b/examples/server-sent-events-jaxrs/src/main/java/org/glassfish/jersey/examples/sse/jaxrs/JaxRsServerSentEventsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,16 +12,16 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseEventSink;
 
 /**
  * @author Pavel Bucek
diff --git a/examples/server-sent-events-jaxrs/src/test/java/org/glassfish/jersey/examples/sse/jaxrs/ServerSentEventsTest.java b/examples/server-sent-events-jaxrs/src/test/java/org/glassfish/jersey/examples/sse/jaxrs/ServerSentEventsTest.java
index 8ae98c3..27845c3 100644
--- a/examples/server-sent-events-jaxrs/src/test/java/org/glassfish/jersey/examples/sse/jaxrs/ServerSentEventsTest.java
+++ b/examples/server-sent-events-jaxrs/src/test/java/org/glassfish/jersey/examples/sse/jaxrs/ServerSentEventsTest.java
@@ -19,13 +19,13 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.sse.SseEventSource;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/server-sent-events-jersey/README.MD b/examples/server-sent-events-jersey/README.MD
index acda08d..4819b4e 100644
--- a/examples/server-sent-events-jersey/README.MD
+++ b/examples/server-sent-events-jersey/README.MD
@@ -69,4 +69,4 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container.
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container.
diff --git a/examples/server-sent-events-jersey/pom.xml b/examples/server-sent-events-jersey/pom.xml
index 427d25b..5f82dca 100644
--- a/examples/server-sent-events-jersey/pom.xml
+++ b/examples/server-sent-events-jersey/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>server-sent-events-jersey</artifactId>
diff --git a/examples/server-sent-events-jersey/src/main/java/org/glassfish/jersey/examples/sse/jersey/DomainResource.java b/examples/server-sent-events-jersey/src/main/java/org/glassfish/jersey/examples/sse/jersey/DomainResource.java
index 5856920..347b0f6 100644
--- a/examples/server-sent-events-jersey/src/main/java/org/glassfish/jersey/examples/sse/jersey/DomainResource.java
+++ b/examples/server-sent-events-jersey/src/main/java/org/glassfish/jersey/examples/sse/jersey/DomainResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -18,16 +18,16 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-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.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.POST;
+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.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.media.sse.EventOutput;
 import org.glassfish.jersey.media.sse.OutboundEvent;
diff --git a/examples/server-sent-events-jersey/src/main/java/org/glassfish/jersey/examples/sse/jersey/ServerSentEventsResource.java b/examples/server-sent-events-jersey/src/main/java/org/glassfish/jersey/examples/sse/jersey/ServerSentEventsResource.java
index 320d9c4..ba16637 100644
--- a/examples/server-sent-events-jersey/src/main/java/org/glassfish/jersey/examples/sse/jersey/ServerSentEventsResource.java
+++ b/examples/server-sent-events-jersey/src/main/java/org/glassfish/jersey/examples/sse/jersey/ServerSentEventsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,12 +12,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.media.sse.EventOutput;
 import org.glassfish.jersey.media.sse.OutboundEvent;
diff --git a/examples/server-sent-events-jersey/src/test/java/org/glassfish/jersey/examples/sse/jersey/ServerSentEventsTest.java b/examples/server-sent-events-jersey/src/test/java/org/glassfish/jersey/examples/sse/jersey/ServerSentEventsTest.java
index 9da0021..32e6f65 100644
--- a/examples/server-sent-events-jersey/src/test/java/org/glassfish/jersey/examples/sse/jersey/ServerSentEventsTest.java
+++ b/examples/server-sent-events-jersey/src/test/java/org/glassfish/jersey/examples/sse/jersey/ServerSentEventsTest.java
@@ -23,11 +23,11 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/examples/servlet3-webapp/pom.xml b/examples/servlet3-webapp/pom.xml
index 52b4179..3c6bd33 100644
--- a/examples/servlet3-webapp/pom.xml
+++ b/examples/servlet3-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet3-webapp</artifactId>
@@ -30,78 +30,83 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
-        </dependency>
-
-        <dependency>
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
         </dependency>
 
         <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-grizzly2-servlet</artifactId>
+            <artifactId>jersey-container-servlet</artifactId>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
+<!--            <plugin>-->
+<!--                <groupId>org.apache.maven.plugins</groupId>-->
+<!--                <artifactId>maven-compiler-plugin</artifactId>-->
+<!--            </plugin>-->
+<!--            <plugin>-->
+<!--                <groupId>org.apache.maven.plugins</groupId>-->
+<!--                <artifactId>maven-surefire-plugin</artifactId>-->
+<!--            </plugin>-->
+<!--            <plugin>-->
+<!--                <groupId>org.apache.maven.plugins</groupId>-->
+<!--                <artifactId>maven-failsafe-plugin</artifactId>-->
+<!--            </plugin>-->
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <skipTests>true</skipTests>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-failsafe-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
                 <configuration>
-                    <skip>${skip.tests}</skip>
-                    <scanIntervalSeconds>10</scanIntervalSeconds>
-                    <stopPort>9999</stopPort>
-                    <stopKey>STOP</stopKey>
-                    <webApp>
-                        <contextPath>/</contextPath>
-                        <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
-                    </webApp>
-                    <connectors>
-                        <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
-                            <port>${jersey.config.test.container.port}</port>
-                            <maxIdleTime>60000</maxIdleTime>
-                        </connector>
-                    </connectors>
+<!--                    <skip>${skip.tests}</skip>-->
+<!--                    <stopWait>10</stopWait>-->
+<!--                    <stopPort>9999</stopPort>-->
+<!--                    <stopKey>STOP</stopKey>-->
+                    <httpConnector>
+                        <port>${jersey.config.test.container.port}</port>
+<!--                        <idleTimeout>60000</idleTimeout>-->
+                    </httpConnector>
                 </configuration>
-                <executions>
-                    <execution>
-                        <id>start-jetty</id>
-                        <phase>pre-integration-test</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <scanIntervalSeconds>0</scanIntervalSeconds>
-                            <daemon>true</daemon>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>stop-jetty</id>
-                        <phase>post-integration-test</phase>
-                        <goals>
-                            <goal>stop</goal>
-                        </goals>
-                    </execution>
-                </executions>
+<!--                <configuration>-->
+<!--                    <skip>${skip.tests}</skip>-->
+<!--                    <scanIntervalSeconds>10</scanIntervalSeconds>-->
+<!--                    <stopPort>9999</stopPort>-->
+<!--                    <stopKey>STOP</stopKey>-->
+<!--                    <webApp>-->
+<!--                        <contextPath>/</contextPath>-->
+<!--                        <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>-->
+<!--                    </webApp>-->
+<!--                    <httpConnector>-->
+<!--                        <port>${jersey.config.test.container.port}</port>-->
+<!--                        <idleTimeout>60000</idleTimeout>-->
+<!--                    </httpConnector>-->
+<!--                </configuration>-->
+<!--                <executions>-->
+<!--                    <execution>-->
+<!--                        <id>start-jetty</id>-->
+<!--                        <phase>pre-integration-test</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>run</goal>-->
+<!--                        </goals>-->
+<!--                        <configuration>-->
+<!--                            <scanIntervalSeconds>0</scanIntervalSeconds>-->
+<!--                        </configuration>-->
+<!--                    </execution>-->
+<!--                    <execution>-->
+<!--                        <id>stop-jetty</id>-->
+<!--                        <phase>post-integration-test</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>stop</goal>-->
+<!--                        </goals>-->
+<!--                    </execution>-->
+<!--                </executions>-->
             </plugin>
         </plugins>
     </build>
diff --git a/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/App.java b/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/App.java
index 2ef3cc2..c1b4ee2 100644
--- a/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/App.java
+++ b/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.servlet3.webapp;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 import java.util.HashSet;
 import java.util.Set;
 
diff --git a/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/CatResource.java b/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/CatResource.java
index 5893155..7b0c21f 100644
--- a/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/CatResource.java
+++ b/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/CatResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.servlet3.webapp;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test resource for the servlet3-webapp example.
diff --git a/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/DogResource.java b/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/DogResource.java
index 711a9fe..b7ed63d 100644
--- a/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/DogResource.java
+++ b/examples/servlet3-webapp/src/main/java/org/glassfish/jersey/examples/servlet3/webapp/DogResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.servlet3.webapp;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test resource for the servlet3-webapp example.
diff --git a/examples/servlet3-webapp/src/main/webapp/WEB-INF/web.xml b/examples/servlet3-webapp/src/main/webapp/WEB-INF/web.xml
index 91a6614..387ab65 100644
--- a/examples/servlet3-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/examples/servlet3-webapp/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -11,8 +11,8 @@
 
 -->
 
-<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
     <servlet>
         <servlet-name>org.glassfish.jersey.examples.servlet3.webapp.App</servlet-name>
     </servlet>
diff --git a/examples/servlet3-webapp/src/test/java/Servlet3WebappITCase.java b/examples/servlet3-webapp/src/test/java/Servlet3WebappITCase.java
deleted file mode 100644
index a2b6d9c..0000000
--- a/examples/servlet3-webapp/src/test/java/Servlet3WebappITCase.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0, which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.TestProperties;
-import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
-import org.glassfish.jersey.test.spi.TestContainerException;
-import org.glassfish.jersey.test.spi.TestContainerFactory;
-
-import org.junit.jupiter.api.Test;
-
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
-
-import java.net.URI;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Tests the servlet3-webapp example.
- * Integration test launched by maven-jetty-plugin
- *
- * @author Adam Lindenthal
- */
-public class Servlet3WebappITCase extends JerseyTest {
-
-    @Override
-    protected Application configure() {
-        enable(TestProperties.LOG_TRAFFIC);
-        return new Application(); // dummy Application instance for test framework
-    }
-
-    @Override
-    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
-        return new ExternalTestContainerFactory();
-    }
-
-    @Override
-    protected URI getBaseUri() {
-        return UriBuilder.fromUri(super.getBaseUri()).path("animals").build();
-    }
-
-    @Test
-    public void testClientStringResponse() {
-        String s = target().path("dog").request().get(String.class);
-        assertEquals("Woof!", s);
-
-        s = target().path("cat").request().get(String.class);
-        assertEquals("Miaow!", s);
-    }
-}
diff --git a/examples/servlet3-webapp/src/test/java/org/glassfish/jersey/examples/servlet3/webapp/Servlet3WebappTestCase.java b/examples/servlet3-webapp/src/test/java/org/glassfish/jersey/examples/servlet3/webapp/Servlet3WebappTestCase.java
new file mode 100644
index 0000000..8412cb5
--- /dev/null
+++ b/examples/servlet3-webapp/src/test/java/org/glassfish/jersey/examples/servlet3/webapp/Servlet3WebappTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Distribution License v. 1.0, which is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+package org.glassfish.jersey.examples.servlet3.webapp;
+
+import org.glassfish.jersey.test.JerseyTest;
+import org.glassfish.jersey.test.TestProperties;
+
+import org.junit.jupiter.api.Test;
+
+import jakarta.ws.rs.core.Application;
+
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * Tests the servlet3-webapp example.
+ * Integration test launched by maven-jetty-plugin
+ *
+ * @author Adam Lindenthal
+ */
+public class Servlet3WebappTestCase extends JerseyTest {
+
+    @Override
+    protected Application configure() {
+        enable(TestProperties.LOG_TRAFFIC);
+        //return new Application(); // dummy Application instance for test framework
+        return new App();
+    }
+
+//    @Override
+//    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
+//        return new ExternalTestContainerFactory();
+//    }
+//
+//    @Override
+//    protected URI getBaseUri() {
+//        return UriBuilder.fromUri(super.getBaseUri()).path("animals").build();
+//    }
+
+    @Test
+    public void testClientStringResponse() {
+        String s = target().path("dog").request().get(String.class);
+        assertEquals("Woof!", s);
+
+        s = target().path("cat").request().get(String.class);
+        assertEquals("Miaow!", s);
+    }
+}
diff --git a/examples/simple-console/README.MD b/examples/simple-console/README.MD
index 8581318..f1c485b 100644
--- a/examples/simple-console/README.MD
+++ b/examples/simple-console/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -52,7 +52,7 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
 -   <http://127.0.0.1:9998/resources/form>
 
diff --git a/examples/simple-console/pom.xml b/examples/simple-console/pom.xml
index c24e019..b1e17d4 100644
--- a/examples/simple-console/pom.xml
+++ b/examples/simple-console/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>simple-console</artifactId>
@@ -46,6 +46,14 @@
             <type>pom</type>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
@@ -62,19 +70,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>pre-release</id>
             <build>
                 <plugins>
diff --git a/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/App.java b/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/App.java
index e350294..8133a41 100644
--- a/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/App.java
+++ b/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,7 +15,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.jettison.JettisonFeature;
diff --git a/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/resources/Colours.java b/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/resources/Colours.java
index 048349a..25a8371 100644
--- a/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/resources/Colours.java
+++ b/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/resources/Colours.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,9 +13,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
 import org.codehaus.jettison.json.JSONArray;
 
diff --git a/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/resources/FormResource.java b/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/resources/FormResource.java
index fb7d495..d08274f 100644
--- a/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/resources/FormResource.java
+++ b/examples/simple-console/src/main/java/org/glassfish/jersey/examples/console/resources/FormResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,17 +13,17 @@
 import java.io.InputStream;
 import java.util.Date;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-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.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+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.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 
 /**
  * A Web form resource, produces the form and processes the results of
diff --git a/examples/simple-console/src/test/java/org/glassfish/jersey/examples/console/MainTest.java b/examples/simple-console/src/test/java/org/glassfish/jersey/examples/console/MainTest.java
index 3a5c2b5..6a21668 100644
--- a/examples/simple-console/src/test/java/org/glassfish/jersey/examples/console/MainTest.java
+++ b/examples/simple-console/src/test/java/org/glassfish/jersey/examples/console/MainTest.java
@@ -15,10 +15,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.util.collection.MultivaluedStringMap;
diff --git a/examples/sse-item-store-jaxrs-webapp/pom.xml b/examples/sse-item-store-jaxrs-webapp/pom.xml
index b33e100..58c0837 100644
--- a/examples/sse-item-store-jaxrs-webapp/pom.xml
+++ b/examples/sse-item-store-jaxrs-webapp/pom.xml
@@ -19,14 +19,14 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>sse-item-store-jaxrs-webapp</artifactId>
     <packaging>war</packaging>
     <name>jersey-examples-sse-item-store-jaxrs-webapp</name>
 
-    <description>Jersey JAX-RS 2.1 SSE API-based item store example.</description>
+    <description>Jersey Jakarta RESTful WebServices SSE API-based item store example.</description>
 
     <dependencies>
         <dependency>
@@ -60,18 +60,15 @@
                 <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
                 <configuration>
-                    <scanIntervalSeconds>10</scanIntervalSeconds>
+                    <stopWait>10</stopWait>
                     <stopPort>9999</stopPort>
                     <stopKey>STOP</stopKey>
                     <webApp>
                         <contextPath>/${project.artifactId}</contextPath>
                     </webApp>
-                    <systemProperties>
-                        <systemProperty>
-                            <name>jetty.port</name>
-                            <value>${jersey.config.test.container.port}</value>
-                        </systemProperty>
-                    </systemProperties>
+                    <httpConnector>
+                        <port>${jersey.config.test.container.port}</port>
+                    </httpConnector>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/examples/sse-item-store-jaxrs-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreApp.java b/examples/sse-item-store-jaxrs-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreApp.java
index f1a22fd..c8403a0 100644
--- a/examples/sse-item-store-jaxrs-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreApp.java
+++ b/examples/sse-item-store-jaxrs-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.sseitemstore.jaxrs;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/examples/sse-item-store-jaxrs-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreResource.java b/examples/sse-item-store-jaxrs-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreResource.java
index a8dc84d..9c2a925 100644
--- a/examples/sse-item-store-jaxrs-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreResource.java
+++ b/examples/sse-item-store-jaxrs-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,22 +16,22 @@
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.ServiceUnavailableException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.ServiceUnavailableException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
 
 import org.glassfish.jersey.media.sse.SseFeature;
 
@@ -80,7 +80,7 @@
      * <li><b>reconnect now</b> - enable client reconnecting.</li>
      * <li><b>reconnect &lt;seconds&gt;</b> - disable client reconnecting.
      * Reconnecting clients will receive a HTTP 503 response with
-     * {@value javax.ws.rs.core.HttpHeaders#RETRY_AFTER} set to the amount of
+     * {@value jakarta.ws.rs.core.HttpHeaders#RETRY_AFTER} set to the amount of
      * milliseconds specified.</li>
      * </ul>
      *
diff --git a/examples/sse-item-store-jaxrs-webapp/src/test/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreResourceTest.java b/examples/sse-item-store-jaxrs-webapp/src/test/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreResourceTest.java
index 02ca768..f67cc65 100644
--- a/examples/sse-item-store-jaxrs-webapp/src/test/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreResourceTest.java
+++ b/examples/sse-item-store-jaxrs-webapp/src/test/java/org/glassfish/jersey/examples/sseitemstore/jaxrs/JaxrsItemStoreResourceTest.java
@@ -26,15 +26,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.sse.SseEventSource;
 
 import org.glassfish.jersey.apache.connector.ApacheClientProperties;
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
@@ -127,7 +127,7 @@
     @Test
     public void testItemsStore() throws Exception {
         final List<String> items = Collections.unmodifiableList(Arrays.asList("foo", "bar", "baz"));
-        final WebTarget itemsTarget = target("items");
+        final WebTarget itemsTarget = target("resources").path("items");
         final CountDownLatch latch = new CountDownLatch(items.size() * MAX_LISTENERS * 2); // countdown on all events
         final List<Queue<Integer>> indexQueues = new ArrayList<>(MAX_LISTENERS);
         final SseEventSource[] sources = new SseEventSource[MAX_LISTENERS];
@@ -194,7 +194,7 @@
      */
     @Test
     public void testEventSourceReconnect() throws Exception {
-        final WebTarget itemsTarget = target("items");
+        final WebTarget itemsTarget = target("resources").path("items");
         final CountDownLatch latch = new CountDownLatch(MAX_ITEMS * MAX_LISTENERS * 2); // countdown only on new item events
         final List<Queue<String>> receivedQueues = new ArrayList<>(MAX_LISTENERS);
         final SseEventSource[] sources = new SseEventSource[MAX_LISTENERS];
diff --git a/examples/sse-item-store-jersey-webapp/pom.xml b/examples/sse-item-store-jersey-webapp/pom.xml
index 01fba93..2bac026 100644
--- a/examples/sse-item-store-jersey-webapp/pom.xml
+++ b/examples/sse-item-store-jersey-webapp/pom.xml
@@ -19,7 +19,7 @@
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>webapp-example-parent</artifactId>
         <relativePath>../webapp-example-parent/pom.xml</relativePath>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>sse-item-store-jersey-webapp</artifactId>
@@ -60,18 +60,15 @@
                 <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
                 <configuration>
-                    <scanIntervalSeconds>10</scanIntervalSeconds>
+                    <stopWait>10</stopWait>
                     <stopPort>9999</stopPort>
                     <stopKey>STOP</stopKey>
                     <webApp>
                         <contextPath>/${project.artifactId}</contextPath>
                     </webApp>
-                    <systemProperties>
-                        <systemProperty>
-                            <name>jetty.port</name>
-                            <value>${jersey.config.test.container.port}</value>
-                        </systemProperty>
-                    </systemProperties>
+                    <httpConnector>
+                        <port>${jersey.config.test.container.port}</port>
+                    </httpConnector>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/examples/sse-item-store-jersey-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jersey/ItemStoreApp.java b/examples/sse-item-store-jersey-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jersey/ItemStoreApp.java
index 270e65d..cc69738 100644
--- a/examples/sse-item-store-jersey-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jersey/ItemStoreApp.java
+++ b/examples/sse-item-store-jersey-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jersey/ItemStoreApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.sseitemstore.jersey;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.media.sse.SseFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/examples/sse-item-store-jersey-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jersey/ItemStoreResource.java b/examples/sse-item-store-jersey-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jersey/ItemStoreResource.java
index 5dd219d..194f88a 100644
--- a/examples/sse-item-store-jersey-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jersey/ItemStoreResource.java
+++ b/examples/sse-item-store-jersey-webapp/src/main/java/org/glassfish/jersey/examples/sseitemstore/jersey/ItemStoreResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -17,17 +17,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.ServiceUnavailableException;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.ServiceUnavailableException;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.sse.EventOutput;
 import org.glassfish.jersey.media.sse.OutboundEvent;
@@ -92,7 +92,7 @@
      * <li><b>reconnect now</b> - enable client reconnecting.</li>
      * <li><b>reconnect &lt;seconds&gt;</b> - disable client reconnecting.
      * Reconnecting clients will receive a HTTP 503 response with
-     * {@value javax.ws.rs.core.HttpHeaders#RETRY_AFTER} set to the amount of
+     * {@value jakarta.ws.rs.core.HttpHeaders#RETRY_AFTER} set to the amount of
      * milliseconds specified.</li>
      * </ul>
      *
diff --git a/examples/sse-item-store-jersey-webapp/src/test/java/org/glassfish/jersey/examples/sseitemstore/jersey/JerseyItemStoreResourceTest.java b/examples/sse-item-store-jersey-webapp/src/test/java/org/glassfish/jersey/examples/sseitemstore/jersey/JerseyItemStoreResourceTest.java
index 08f18cf..f29123a 100644
--- a/examples/sse-item-store-jersey-webapp/src/test/java/org/glassfish/jersey/examples/sseitemstore/jersey/JerseyItemStoreResourceTest.java
+++ b/examples/sse-item-store-jersey-webapp/src/test/java/org/glassfish/jersey/examples/sseitemstore/jersey/JerseyItemStoreResourceTest.java
@@ -23,12 +23,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.apache.connector.ApacheClientProperties;
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
@@ -100,7 +100,7 @@
                 "foo",
                 "bar",
                 "baz"));
-        final WebTarget itemsTarget = target("items");
+        final WebTarget itemsTarget = target("resources").path("items");
         final CountDownLatch latch = new CountDownLatch(items.size() * MAX_LISTENERS * 2); // countdown on all events
         final List<Queue<Integer>> indexQueues = new ArrayList<>(MAX_LISTENERS);
         final EventSource[] sources = new EventSource[MAX_LISTENERS];
@@ -173,7 +173,7 @@
      */
     @Test
     public void testEventSourceReconnect() throws Exception {
-        final WebTarget itemsTarget = target("items");
+        final WebTarget itemsTarget = target("resources").path("items");
         final CountDownLatch latch = new CountDownLatch(MAX_ITEMS * MAX_LISTENERS * 2); // countdown only on new item events
         final List<Queue<String>> receivedQueues = new ArrayList<>(MAX_LISTENERS);
         final EventSource[] sources = new EventSource[MAX_LISTENERS];
diff --git a/examples/sse-twitter-aggregator/README.MD b/examples/sse-twitter-aggregator/README.MD
index 45cec61..fc58596 100644
--- a/examples/sse-twitter-aggregator/README.MD
+++ b/examples/sse-twitter-aggregator/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -19,7 +19,7 @@
 --------
 
 The example consists of a Swing GUI client application and a server-side
-application deployed on a [Grizzly container](http://grizzly.java.net).
+application deployed on a [Grizzly container](https://projects.eclipse.org/projects/ee4j.grizzly).
 
 The Swing client application opens in a single window split into
 multiple configuration panels. The top-left panel allows to select which
diff --git a/examples/sse-twitter-aggregator/pom.xml b/examples/sse-twitter-aggregator/pom.xml
index 7abc805..601d9d2 100644
--- a/examples/sse-twitter-aggregator/pom.xml
+++ b/examples/sse-twitter-aggregator/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>sse-twitter-aggregator</artifactId>
diff --git a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/AbstractTestAggregator.java b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/AbstractTestAggregator.java
index d8e501e..8c01955 100644
--- a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/AbstractTestAggregator.java
+++ b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/AbstractTestAggregator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,11 +15,11 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 
diff --git a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/App.java b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/App.java
index 9a77379..a3e6788 100644
--- a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/App.java
+++ b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/App.java
@@ -19,8 +19,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer;
 import org.glassfish.jersey.media.sse.SseFeature;
diff --git a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/Message.java b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/Message.java
index 2f324cc..33a5b12 100644
--- a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/Message.java
+++ b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/Message.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,7 +10,7 @@
 
 package org.glassfish.jersey.examples.aggregator;
 
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElement;
 
 import org.eclipse.persistence.oxm.annotations.XmlPath;
 
diff --git a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/MessageStreamResourceJaxRs.java b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/MessageStreamResourceJaxRs.java
index 4cf84ad..d5107ff 100644
--- a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/MessageStreamResourceJaxRs.java
+++ b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/MessageStreamResourceJaxRs.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,19 +13,19 @@
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-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.sse.OutboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+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.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * Resource that aggregates incoming messages and broadcasts them
diff --git a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/MessageStreamResourceJersey.java b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/MessageStreamResourceJersey.java
index d38b14b..d4d9a0a 100644
--- a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/MessageStreamResourceJersey.java
+++ b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/MessageStreamResourceJersey.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -14,12 +14,12 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.sse.EventOutput;
 import org.glassfish.jersey.media.sse.OutboundEvent;
diff --git a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/TwitterAggregator.java b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/TwitterAggregator.java
index 6e20fac..0867307 100644
--- a/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/TwitterAggregator.java
+++ b/examples/sse-twitter-aggregator/src/main/java/org/glassfish/jersey/examples/aggregator/TwitterAggregator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -16,14 +16,14 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.SslConfigurator;
 import org.glassfish.jersey.client.ChunkedInput;
diff --git a/examples/system-properties-example/README.MD b/examples/system-properties-example/README.MD
index a196bdf..c216c79 100644
--- a/examples/system-properties-example/README.MD
+++ b/examples/system-properties-example/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -31,6 +31,6 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
 -   <http://localhost:8080/properties>
\ No newline at end of file
diff --git a/examples/system-properties-example/pom.xml b/examples/system-properties-example/pom.xml
index 112c656..aa3d103 100644
--- a/examples/system-properties-example/pom.xml
+++ b/examples/system-properties-example/pom.xml
@@ -17,7 +17,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>system-properties-example</artifactId>
diff --git a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/App.java b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/App.java
index 65ae843..0da6e02 100644
--- a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/App.java
+++ b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -44,7 +44,7 @@
                     String.format("Application started.%n"
                             + "Try out %s%n"
                             + "Stop the application using CTRL+C",
-                            BASE_URI + "/properties"));
+                            BASE_URI + "properties"));
 
             Thread.currentThread().join();
         } catch (IOException | InterruptedException ex) {
diff --git a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertiesReader.java b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertiesReader.java
index 35dd392..2d9f67a 100644
--- a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertiesReader.java
+++ b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertiesReader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertiesWriter.java b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertiesWriter.java
index 99b8472..5d77d7a 100644
--- a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertiesWriter.java
+++ b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertiesWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -18,11 +18,11 @@
 import java.nio.charset.Charset;
 import java.util.Set;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 import org.glassfish.jersey.message.MessageUtils;
 
 /**
diff --git a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertyNamesResource.java b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertyNamesResource.java
index 037e0a9..34634f9 100644
--- a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertyNamesResource.java
+++ b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertyNamesResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,12 +12,12 @@
 
 import java.util.Set;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * @author Martin Matula
diff --git a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertyResource.java b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertyResource.java
index 33e8954..b495e92 100644
--- a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertyResource.java
+++ b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/PropertyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,11 +10,11 @@
 
 package org.glassfish.jersey.examples.sysprops;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * @author Martin Matula
diff --git a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/impl/PropertyNamesResourceImpl.java b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/impl/PropertyNamesResourceImpl.java
index d5d3eb8..52e7176 100644
--- a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/impl/PropertyNamesResourceImpl.java
+++ b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/impl/PropertyNamesResourceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -12,8 +12,8 @@
 
 import java.util.Set;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.examples.sysprops.PropertyNamesResource;
 import org.glassfish.jersey.examples.sysprops.PropertyResource;
diff --git a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/impl/PropertyResourceImpl.java b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/impl/PropertyResourceImpl.java
index d479417..4a4b6e9 100644
--- a/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/impl/PropertyResourceImpl.java
+++ b/examples/system-properties-example/src/main/java/org/glassfish/jersey/examples/sysprops/impl/PropertyResourceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,9 +10,9 @@
 
 package org.glassfish.jersey.examples.sysprops.impl;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.examples.sysprops.PropertyResource;
 
diff --git a/examples/webapp-example-parent/pom.xml b/examples/webapp-example-parent/pom.xml
index 95497d7..ebcde20 100644
--- a/examples/webapp-example-parent/pom.xml
+++ b/examples/webapp-example-parent/pom.xml
@@ -18,7 +18,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>webapp-example-parent</artifactId>
@@ -168,14 +168,6 @@
                         </execution>
                     </executions>
                 </plugin>
-                <plugin>
-                    <groupId>org.mortbay.jetty</groupId>
-                    <artifactId>maven-jetty-plugin</artifactId>
-                    <configuration>
-                        <webApp>${project.build.directory}/${project.artifactId}.war</webApp>
-                        <contextPath>${project.artifactId}</contextPath>
-                    </configuration>
-                </plugin>
             </plugins>
         </pluginManagement>
     </build>
diff --git a/examples/xml-moxy/README.MD b/examples/xml-moxy/README.MD
index 8c67e04..f6bbf40 100644
--- a/examples/xml-moxy/README.MD
+++ b/examples/xml-moxy/README.MD
@@ -1,4 +1,4 @@
-[//]: # " Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved. "
+[//]: # " Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. "
 [//]: # " "
 [//]: # " This program and the accompanying materials are made available under the "
 [//]: # " terms of the Eclipse Distribution License v. 1.0, which is available at "
@@ -83,7 +83,7 @@
 into the Java package containing your JAXB beans. The file should have
 the following content:
 
-    javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
+    jakarta.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
 
 Concrete file used in this example is placed under
 
@@ -112,6 +112,6 @@
 
 >     mvn clean compile exec:java
 
-This deploys the example using [Grizzly](http://grizzly.java.net/) container. You can access the application at:
+This deploys the example using [Grizzly](https://projects.eclipse.org/projects/ee4j.grizzly) container. You can access the application at:
 
--   [http://localhost:8080/moxy/customer](http://localhost:8080/xml-moxy/customer)
+-   [http://localhost:8080/xml-moxy/customer](http://localhost:8080/xml-moxy/customer)
diff --git a/examples/xml-moxy/pom.xml b/examples/xml-moxy/pom.xml
index 3c66bfc..2a27259 100644
--- a/examples/xml-moxy/pom.xml
+++ b/examples/xml-moxy/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.glassfish.jersey.examples</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>xml-moxy</artifactId>
@@ -42,6 +42,11 @@
         </dependency>
 
         <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-bundle</artifactId>
             <type>pom</type>
diff --git a/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/App.java b/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/App.java
index 19b615a..412dc7d 100644
--- a/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/App.java
+++ b/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -42,7 +42,7 @@
             server.start();
 
             System.out.println(String.format("Application started.%nTry out %s%nStop the application using CTRL+C",
-                    BASE_URI + "/customer"));
+                    BASE_URI + "customer"));
 
             Thread.currentThread().join();
         } catch (IOException | InterruptedException ex) {
diff --git a/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/CustomerResource.java b/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/CustomerResource.java
index 7fb5ee0..439695f 100644
--- a/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/CustomerResource.java
+++ b/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/CustomerResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,12 +10,12 @@
 
 package org.glassfish.jersey.examples.xmlmoxy;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.examples.xmlmoxy.beans.Address;
 import org.glassfish.jersey.examples.xmlmoxy.beans.Customer;
diff --git a/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/beans/Customer.java b/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/beans/Customer.java
index cafcef4..878120d 100644
--- a/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/beans/Customer.java
+++ b/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/beans/Customer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -13,8 +13,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.eclipse.persistence.oxm.annotations.XmlPath;
 
diff --git a/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/beans/PhoneNumber.java b/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/beans/PhoneNumber.java
index 14a0929..03f1595 100644
--- a/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/beans/PhoneNumber.java
+++ b/examples/xml-moxy/src/main/java/org/glassfish/jersey/examples/xmlmoxy/beans/PhoneNumber.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,8 @@
 
 package org.glassfish.jersey.examples.xmlmoxy.beans;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlValue;
 
 /**
  *
diff --git a/examples/xml-moxy/src/test/java/org/glassfish/jersey/examples/xmlmoxy/MoxyAppTest.java b/examples/xml-moxy/src/test/java/org/glassfish/jersey/examples/xmlmoxy/MoxyAppTest.java
index d8fd49e..9bbda92 100644
--- a/examples/xml-moxy/src/test/java/org/glassfish/jersey/examples/xmlmoxy/MoxyAppTest.java
+++ b/examples/xml-moxy/src/test/java/org/glassfish/jersey/examples/xmlmoxy/MoxyAppTest.java
@@ -10,10 +10,10 @@
 
 package org.glassfish.jersey.examples.xmlmoxy;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.examples.xmlmoxy.beans.Customer;
diff --git a/ext/bean-validation/pom.xml b/ext/bean-validation/pom.xml
index 33f3bb8..743a933 100644
--- a/ext/bean-validation/pom.xml
+++ b/ext/bean-validation/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-bean-validation</artifactId>
@@ -56,9 +56,9 @@
                         <!-- Note: When you're changing these properties change them also in bundles/jax-rs-ri/bundle/pom.xml. -->
                         <Export-Package>org.glassfish.jersey.server.validation.*;version=${project.version}</Export-Package>
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             ${cdi.osgi.version},
-                            javax.validation.*;resolution:=optional;version="${range;[==,3);${javax.validation.api.version}}",
+                            jakarta.validation.*;resolution:=optional;version="${range;[==,4);${jakarta.validation.api.version}}",
                             *
                         </Import-Package>
                     </instructions>
@@ -70,8 +70,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.core</groupId>
@@ -93,19 +93,32 @@
             <artifactId>hibernate-validator</artifactId>
             <exclusions>
                 <exclusion>
-                    <groupId>javax.validation</groupId>
-                    <artifactId>validation-api</artifactId>
+                    <groupId>jakarta.validation</groupId>
+                    <artifactId>jakarta.validation-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jakarta.el</groupId>
+                    <artifactId>jakarta.el-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.jboss.logging</groupId>
+                    <artifactId>jboss-logging</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.jboss.logging</groupId>
+            <artifactId>jboss-logging</artifactId>
+            <version>${jboss.logging.version}</version>
+        </dependency>
+        <dependency>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <optional>true</optional>
         </dependency>
         <dependency>
@@ -128,12 +141,23 @@
         </dependency>
 
         <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-bundle</artifactId>
+            <groupId>org.glassfish.jersey.test-framework</groupId>
+            <artifactId>jersey-test-framework-core</artifactId>
             <version>${project.version}</version>
-            <type>pom</type>
             <scope>test</scope>
         </dependency>
     </dependencies>
 
+    <profiles>
+        <profile>
+            <id>jdk8</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <properties>
+                <jboss.logging.version>${jboss.logging.8.version}</jboss.logging.version>
+            </properties>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationConfig.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationConfig.java
index 61f8885..ec3b121 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationConfig.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.validation;
 
-import javax.validation.ConstraintValidatorFactory;
-import javax.validation.MessageInterpolator;
-import javax.validation.ParameterNameProvider;
-import javax.validation.TraversableResolver;
+import jakarta.validation.ConstraintValidatorFactory;
+import jakarta.validation.MessageInterpolator;
+import jakarta.validation.ParameterNameProvider;
+import jakarta.validation.TraversableResolver;
 
 /**
  * Configuration class for Bean Validation provider.
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationError.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationError.java
index a737399..ffe8166 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationError.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationError.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.validation;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Default validation error entity to be included in {@code Response}.
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationFeature.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationFeature.java
index a012756..ce2ffe5 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationFeature.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/ValidationFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.validation;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/CompositeInjectingConstraintValidatorFactory.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/CompositeInjectingConstraintValidatorFactory.java
index e9ff585..d4ef1bf 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/CompositeInjectingConstraintValidatorFactory.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/CompositeInjectingConstraintValidatorFactory.java
@@ -19,11 +19,11 @@
 
 import org.glassfish.jersey.server.validation.internal.hibernate.HibernateInjectingConstraintValidatorFactory;
 
-import javax.annotation.PostConstruct;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorFactory;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
+import jakarta.annotation.PostConstruct;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorFactory;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
 
 /**
  * {@link ConstraintValidatorFactory} implementation that uses {@link InjectingConstraintValidatorFactory}
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/DefaultConfiguredValidator.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/DefaultConfiguredValidator.java
index 3d2a746..52517ae 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/DefaultConfiguredValidator.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/DefaultConfiguredValidator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,16 +22,16 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
-import javax.validation.Configuration;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.Validator;
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ExecutableValidator;
-import javax.validation.metadata.BeanDescriptor;
-import javax.validation.metadata.MethodDescriptor;
+import jakarta.validation.Configuration;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.Validator;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ExecutableValidator;
+import jakarta.validation.metadata.BeanDescriptor;
+import jakarta.validation.metadata.MethodDescriptor;
 
 import org.glassfish.jersey.server.internal.inject.ConfiguredValidator;
 import org.glassfish.jersey.server.model.Invocable;
@@ -57,7 +57,7 @@
      * @param delegate                   validator to delegate calls to.
      * @param configuration              configuration to obtain {@link ExecutableType executable types} configured in descriptor
      *                                   from.
-     * @param validateOnExecutionHandler handler for processing {@link javax.validation.executable.ValidateOnExecution}
+     * @param validateOnExecutionHandler handler for processing {@link jakarta.validation.executable.ValidateOnExecution}
      *                                   annotations.
      * @param interceptors               custom validation interceptors.
      */
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/InjectingConstraintValidatorFactory.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/InjectingConstraintValidatorFactory.java
index 69f2f8c..d1fd82f 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/InjectingConstraintValidatorFactory.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/InjectingConstraintValidatorFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.validation.internal;
 
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
 
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorFactory;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorFactory;
 
 /**
  * {@link ConstraintValidatorFactory} with support of injecting Jersey providers/resources.
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidateOnExecutionHandler.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidateOnExecutionHandler.java
index 2d14937..be62308 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidateOnExecutionHandler.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidateOnExecutionHandler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -32,10 +32,10 @@
 import java.util.concurrent.ConcurrentMap;
 import java.util.stream.Collectors;
 
-import javax.validation.Configuration;
-import javax.validation.ValidationException;
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ValidateOnExecution;
+import jakarta.validation.Configuration;
+import jakarta.validation.ValidationException;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ValidateOnExecution;
 
 import org.glassfish.jersey.internal.guava.Multimap;
 import org.glassfish.jersey.internal.guava.Multimaps;
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidateOnExecutionTraversableResolver.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidateOnExecutionTraversableResolver.java
index 50a1321..ab206f9 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidateOnExecutionTraversableResolver.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidateOnExecutionTraversableResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,13 +23,13 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
-import javax.validation.Path;
-import javax.validation.TraversableResolver;
+import jakarta.validation.Path;
+import jakarta.validation.TraversableResolver;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
 /**
- * {@link TraversableResolver Traversable resolver} used for handling {@link javax.validation.executable.ValidateOnExecution}
+ * {@link TraversableResolver Traversable resolver} used for handling {@link jakarta.validation.executable.ValidateOnExecution}
  * annotations present on property getters when validating resource class.
  *
  * @author Michal Gajdos
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationAutoDiscoverable.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationAutoDiscoverable.java
index ab373fc..e868957 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationAutoDiscoverable.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.validation.internal;
 
-import javax.annotation.Priority;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationBinder.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationBinder.java
index 445ab53..487786d 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationBinder.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationBinder.java
@@ -25,25 +25,25 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.validation.Configuration;
-import javax.validation.TraversableResolver;
-import javax.validation.Validation;
-import javax.validation.ValidationException;
-import javax.validation.ValidationProviderResolver;
-import javax.validation.Validator;
-import javax.validation.ValidatorContext;
-import javax.validation.ValidatorFactory;
-import javax.validation.spi.ValidationProvider;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.validation.Configuration;
+import jakarta.validation.TraversableResolver;
+import jakarta.validation.Validation;
+import jakarta.validation.ValidationException;
+import jakarta.validation.ValidationProviderResolver;
+import jakarta.validation.Validator;
+import jakarta.validation.ValidatorContext;
+import jakarta.validation.ValidatorFactory;
+import jakarta.validation.spi.ValidationProvider;
 
 import org.glassfish.jersey.internal.ServiceFinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
@@ -81,7 +81,7 @@
     }
 
     /**
-     * Factory providing default {@link javax.validation.Configuration} instance.
+     * Factory providing default {@link jakarta.validation.Configuration} instance.
      */
     private static class DefaultConfigurationProvider implements Supplier<Configuration> {
 
@@ -164,7 +164,7 @@
         private ValidatorFactory factory;
 
         @Context
-        private javax.ws.rs.core.Configuration jaxRsConfig;
+        private jakarta.ws.rs.core.Configuration jaxRsConfig;
         @Context
         private Providers providers;
         @Context
@@ -278,14 +278,14 @@
         private boolean isCDIAvailable() {
             // Both CDI & Jersey CDI modules must be available
             return AccessController.doPrivileged(
-                        ReflectionHelper.classForNamePA("javax.enterprise.inject.spi.BeanManager")) != null
+                        ReflectionHelper.classForNamePA("jakarta.enterprise.inject.spi.BeanManager")) != null
                    &&
                    AccessController.doPrivileged(
                         ReflectionHelper.classForNamePA("org.glassfish.jersey.ext.cdi1x.internal.CdiUtil")) != null;
         }
 
         /**
-         * Create traversable resolver able to process {@link javax.validation.executable.ValidateOnExecution} annotation on
+         * Create traversable resolver able to process {@link jakarta.validation.executable.ValidateOnExecution} annotation on
          * beans.
          *
          * @param delegate resolver to be wrapped into the custom traversable resolver.
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationErrorMessageBodyWriter.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationErrorMessageBodyWriter.java
index 4c91fc5..9049852 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationErrorMessageBodyWriter.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationErrorMessageBodyWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,10 +24,10 @@
 import java.util.Collection;
 import java.util.Collections;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.message.MessageUtils;
 import org.glassfish.jersey.server.validation.ValidationErrorData;
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationExceptionMapper.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationExceptionMapper.java
index 5e44507..3e7c03c 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationExceptionMapper.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,19 +20,19 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.inject.Provider;
-import javax.validation.ConstraintViolationException;
-import javax.validation.ValidationException;
+import jakarta.inject.Provider;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.ValidationException;
 
 import org.glassfish.jersey.server.ServerProperties;
 import org.glassfish.jersey.server.validation.ValidationErrorData;
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationHelper.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationHelper.java
index 0722dd4..728cd5f 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationHelper.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
 import java.util.List;
 import java.util.stream.Collectors;
 
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.ElementKind;
-import javax.validation.Path;
-import javax.ws.rs.core.Response;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.ElementKind;
+import jakarta.validation.Path;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.validation.ValidationErrorData;
 
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationInterceptorExecutor.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationInterceptorExecutor.java
index c2e9d38..7309f2d 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationInterceptorExecutor.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/ValidationInterceptorExecutor.java
@@ -18,7 +18,7 @@
 
 import java.util.Iterator;
 
-import javax.validation.ValidationException;
+import jakarta.validation.ValidationException;
 
 import org.glassfish.jersey.server.model.Invocable;
 import org.glassfish.jersey.server.spi.ValidationInterceptor;
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/hibernate/DestructibleBeanInstance.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/hibernate/DestructibleBeanInstance.java
index dbaa9b3..41cd5f0 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/hibernate/DestructibleBeanInstance.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/hibernate/DestructibleBeanInstance.java
@@ -8,11 +8,11 @@
 
 package org.glassfish.jersey.server.validation.internal.hibernate;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
 
 /**
  * @author Hardy Ferentschik
diff --git a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/hibernate/HibernateInjectingConstraintValidatorFactory.java b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/hibernate/HibernateInjectingConstraintValidatorFactory.java
index e611880..3a64e0f 100644
--- a/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/hibernate/HibernateInjectingConstraintValidatorFactory.java
+++ b/ext/bean-validation/src/main/java/org/glassfish/jersey/server/validation/internal/hibernate/HibernateInjectingConstraintValidatorFactory.java
@@ -10,10 +10,10 @@
 
 import org.glassfish.jersey.ext.cdi1x.internal.CdiUtil;
 
-import javax.annotation.PostConstruct;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorFactory;
+import jakarta.annotation.PostConstruct;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorFactory;
 import java.util.Collections;
 import java.util.IdentityHashMap;
 import java.util.Map;
diff --git a/ext/bean-validation/src/main/resources/META-INF/NOTICE.markdown b/ext/bean-validation/src/main/resources/META-INF/NOTICE.markdown
index 23651fa..0e566a0 100644
--- a/ext/bean-validation/src/main/resources/META-INF/NOTICE.markdown
+++ b/ext/bean-validation/src/main/resources/META-INF/NOTICE.markdown
@@ -31,7 +31,7 @@
 
 ## Third-party Content
 
-Hibernate Validator CDI, 6.2.5.Final 
+Hibernate Validator CDI, 7.0.5.Final
 * License: Apache License, 2.0
 * Project: https://beanvalidation.org/
 * Repackaged in org.glassfish.jersey.server.validation.internal.hibernate
\ No newline at end of file
diff --git a/ext/cdi/jersey-cdi-rs-inject/pom.xml b/ext/cdi/jersey-cdi-rs-inject/pom.xml
index e5322cd..7fbd6c3 100644
--- a/ext/cdi/jersey-cdi-rs-inject/pom.xml
+++ b/ext/cdi/jersey-cdi-rs-inject/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.ext.cdi</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -41,14 +41,14 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
             <optional>true</optional>
         </dependency>
@@ -61,6 +61,7 @@
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <configuration>
                     <show>package</show>
+		    <detectJavaApiLink>false</detectJavaApiLink>
                 </configuration>
             </plugin>
             <plugin>
@@ -72,7 +73,7 @@
                     <instructions>
                         <Import-Package>
                             ${cdi.osgi.version},
-                            javax.servlet.*;version="[2.4,5.0)";resolution:=optional,
+                            jakarta.servlet.*;version="[5.0, 7.0)";resolution:=optional,
                             *
                         </Import-Package>
                     </instructions>
diff --git a/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/InjectExtension.java b/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/InjectExtension.java
index 3466852..22fef89 100644
--- a/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/InjectExtension.java
+++ b/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/InjectExtension.java
@@ -22,35 +22,35 @@
 import org.glassfish.jersey.internal.util.collection.Value;
 import org.glassfish.jersey.internal.util.collection.Values;
 
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Alternative;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
-import javax.enterprise.inject.spi.PassivationCapable;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.inject.Singleton;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.ParamConverterProvider;
-import javax.ws.rs.ext.Providers;
-import javax.ws.rs.sse.Sse;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.Alternative;
+import jakarta.enterprise.inject.Any;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.inject.spi.PassivationCapable;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.Providers;
+import jakarta.ws.rs.sse.Sse;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 import java.security.AccessController;
@@ -214,12 +214,12 @@
     }
 
     private static class CdiJerseyContextAnnotation
-            extends javax.enterprise.util.AnnotationLiteral<JerseyContext> implements JerseyContext {
+            extends jakarta.enterprise.util.AnnotationLiteral<JerseyContext> implements JerseyContext {
         private static final long serialVersionUID = 1L;
     }
 
     private static class CdiAnyAnnotation
-            extends javax.enterprise.util.AnnotationLiteral<Any> implements Any {
+            extends jakarta.enterprise.util.AnnotationLiteral<Any> implements Any {
         private static final long serialVersionUID = 1L;
     }
 
diff --git a/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/JerseyContext.java b/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/JerseyContext.java
index f238f53..d7ab053 100644
--- a/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/JerseyContext.java
+++ b/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/JerseyContext.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.ext.cdi1x.inject.internal;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/ServletReferenceProducer.java b/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/ServletReferenceProducer.java
index 56f4e9f..64a1069 100644
--- a/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/ServletReferenceProducer.java
+++ b/ext/cdi/jersey-cdi-rs-inject/src/main/java/org/glassfish/jersey/ext/cdi1x/inject/internal/ServletReferenceProducer.java
@@ -19,15 +19,15 @@
 import org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider;
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Produces;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.Produces;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * A CDI producer producing servlet beans in a {@code RequestScope}.
diff --git a/ext/cdi/jersey-cdi-rs-inject/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/ext/cdi/jersey-cdi-rs-inject/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from ext/cdi/jersey-cdi-rs-inject/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to ext/cdi/jersey-cdi-rs-inject/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/ext/cdi/jersey-cdi1x-ban-custom-hk2-binding/pom.xml b/ext/cdi/jersey-cdi1x-ban-custom-hk2-binding/pom.xml
index 2027d0a..7e22ff6 100644
--- a/ext/cdi/jersey-cdi1x-ban-custom-hk2-binding/pom.xml
+++ b/ext/cdi/jersey-cdi1x-ban-custom-hk2-binding/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.cdi</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-cdi1x-ban-custom-hk2-binding</artifactId>
diff --git a/ext/cdi/jersey-cdi1x-servlet/pom.xml b/ext/cdi/jersey-cdi1x-servlet/pom.xml
index e2ced5e..0301b3b 100644
--- a/ext/cdi/jersey-cdi1x-servlet/pom.xml
+++ b/ext/cdi/jersey-cdi1x-servlet/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.cdi</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-cdi1x-servlet</artifactId>
@@ -34,14 +34,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
 
diff --git a/ext/cdi/jersey-cdi1x-servlet/src/main/java/org/glassfish/jersey/ext/cdi1x/servlet/internal/CdiExternalRequestScope.java b/ext/cdi/jersey-cdi1x-servlet/src/main/java/org/glassfish/jersey/ext/cdi1x/servlet/internal/CdiExternalRequestScope.java
index d8c899f..44fd55d 100644
--- a/ext/cdi/jersey-cdi1x-servlet/src/main/java/org/glassfish/jersey/ext/cdi1x/servlet/internal/CdiExternalRequestScope.java
+++ b/ext/cdi/jersey-cdi1x-servlet/src/main/java/org/glassfish/jersey/ext/cdi1x/servlet/internal/CdiExternalRequestScope.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.ext.cdi1x.servlet.internal;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 import org.glassfish.jersey.ext.cdi1x.internal.JerseyVetoed;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/ext/cdi/jersey-cdi1x-servlet/src/main/java/org/glassfish/jersey/ext/cdi1x/servlet/internal/CdiExternalRequestScopeExtension.java b/ext/cdi/jersey-cdi1x-servlet/src/main/java/org/glassfish/jersey/ext/cdi1x/servlet/internal/CdiExternalRequestScopeExtension.java
index 50c05a3..3a17677 100644
--- a/ext/cdi/jersey-cdi1x-servlet/src/main/java/org/glassfish/jersey/ext/cdi1x/servlet/internal/CdiExternalRequestScopeExtension.java
+++ b/ext/cdi/jersey-cdi1x-servlet/src/main/java/org/glassfish/jersey/ext/cdi1x/servlet/internal/CdiExternalRequestScopeExtension.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates.
  *
  * This program and the accompanying materials are made available under the
@@ -22,21 +22,21 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
-import javax.enterprise.util.AnnotationLiteral;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.Any;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.util.AnnotationLiteral;
 
 /**
  * CDI extension to register {@link CdiExternalRequestScope}.
diff --git a/ext/cdi/jersey-cdi1x-servlet/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/ext/cdi/jersey-cdi1x-servlet/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from ext/cdi/jersey-cdi1x-servlet/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to ext/cdi/jersey-cdi1x-servlet/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/ext/cdi/jersey-cdi1x-transaction/pom.xml b/ext/cdi/jersey-cdi1x-transaction/pom.xml
index b83b1a9..fad4a61 100644
--- a/ext/cdi/jersey-cdi1x-transaction/pom.xml
+++ b/ext/cdi/jersey-cdi1x-transaction/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.cdi</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-cdi1x-transaction</artifactId>
@@ -35,9 +35,9 @@
     <dependencies>
 
         <dependency>
-            <groupId>javax</groupId>
-            <artifactId>javaee-api</artifactId>
-            <version>7.0</version>
+            <groupId>jakarta.platform</groupId>
+            <artifactId>jakarta.jakartaee-api</artifactId>
+            <version>9.0.0</version>
             <scope>provided</scope>
         </dependency>
 
@@ -92,7 +92,7 @@
                     <instructions>
                         <Export-Package>org.glassfish.jersey.ext.cdi1x.transaction.internal</Export-Package>
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             ${cdi.osgi.version},
                             *
                         </Import-Package>
diff --git a/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/TransactionalExceptionInterceptorProvider.java b/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/TransactionalExceptionInterceptorProvider.java
index 6e8ea0d..1f950aa 100644
--- a/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/TransactionalExceptionInterceptorProvider.java
+++ b/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/TransactionalExceptionInterceptorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,17 +27,17 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.annotation.Priority;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AfterTypeDiscovery;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.inject.Qualifier;
-import javax.interceptor.Interceptor;
-import javax.transaction.TransactionalException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.annotation.Priority;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.spi.AfterTypeDiscovery;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.inject.Qualifier;
+import jakarta.interceptor.Interceptor;
+import jakarta.transaction.TransactionalException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.ext.cdi1x.internal.CdiUtil;
 import org.glassfish.jersey.ext.cdi1x.internal.GenericCdiBeanSupplier;
diff --git a/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/TransactionalExceptionMapper.java b/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/TransactionalExceptionMapper.java
index 634d9b4..ebf21aa 100644
--- a/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/TransactionalExceptionMapper.java
+++ b/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/TransactionalExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.ext.cdi1x.transaction.internal;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.transaction.TransactionalException;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.transaction.TransactionalException;
 
 import org.glassfish.jersey.ext.cdi1x.internal.JerseyVetoed;
 import org.glassfish.jersey.spi.ExceptionMappers;
diff --git a/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/WebAppExceptionHolder.java b/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/WebAppExceptionHolder.java
index 1617f3b..7791ada 100644
--- a/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/WebAppExceptionHolder.java
+++ b/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/WebAppExceptionHolder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.Serializable;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
-import javax.enterprise.context.RequestScoped;
-import javax.transaction.Transactional;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.transaction.Transactional;
 
 import org.glassfish.jersey.ext.cdi1x.internal.JerseyVetoed;
 
diff --git a/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/WebAppExceptionInterceptor.java b/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/WebAppExceptionInterceptor.java
index ac46efe..3b38c8c 100644
--- a/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/WebAppExceptionInterceptor.java
+++ b/ext/cdi/jersey-cdi1x-transaction/src/main/java/org/glassfish/jersey/ext/cdi1x/transaction/internal/WebAppExceptionInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,14 +18,14 @@
 
 import java.io.Serializable;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptor;
-import javax.interceptor.InvocationContext;
-import javax.transaction.Transactional;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.interceptor.AroundInvoke;
+import jakarta.interceptor.Interceptor;
+import jakarta.interceptor.InvocationContext;
+import jakarta.transaction.Transactional;
 
 import org.glassfish.jersey.ext.cdi1x.internal.JerseyVetoed;
 
diff --git a/ext/cdi/jersey-cdi1x-transaction/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/ext/cdi/jersey-cdi1x-transaction/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from ext/cdi/jersey-cdi1x-transaction/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to ext/cdi/jersey-cdi1x-transaction/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/ext/cdi/jersey-cdi1x-validation/pom.xml b/ext/cdi/jersey-cdi1x-validation/pom.xml
index b376ccc..71f1bf3 100644
--- a/ext/cdi/jersey-cdi1x-validation/pom.xml
+++ b/ext/cdi/jersey-cdi1x-validation/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.cdi</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-cdi1x-validation</artifactId>
@@ -58,7 +58,7 @@
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
             <exclusions>
-                <!-- Remove ancient javax.el that causes problems with Hibernate -->
+                <!-- Remove ancient jakarta.el that causes problems with Hibernate -->
                 <exclusion>
                     <groupId>jakarta.el</groupId>
                     <artifactId>jakarta.el-api</artifactId>
@@ -104,7 +104,7 @@
                     <instructions>
                         <Export-Package>org.glassfish.jersey.ext.cdi1x.validation.internal;version=${project.version}</Export-Package>
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             ${cdi.osgi.version},
                             *
                         </Import-Package>
diff --git a/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java b/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java
index 5c2fea9..7219c48 100644
--- a/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java
+++ b/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapper.java
@@ -18,14 +18,14 @@
 
 import java.util.Set;
 
-import javax.annotation.Priority;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.interceptor.AroundConstruct;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptor;
-import javax.interceptor.InvocationContext;
+import jakarta.annotation.Priority;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.interceptor.AroundConstruct;
+import jakarta.interceptor.AroundInvoke;
+import jakarta.interceptor.Interceptor;
+import jakarta.interceptor.InvocationContext;
 
 import org.hibernate.validator.cdi.internal.interceptor.MethodValidated;
 import org.hibernate.validator.cdi.internal.interceptor.ValidationInterceptor;
diff --git a/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapperExtension.java b/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapperExtension.java
index 463f0ed..6cced30 100644
--- a/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapperExtension.java
+++ b/ext/cdi/jersey-cdi1x-validation/src/main/java/org/glassfish/jersey/ext/cdi1x/validation/internal/CdiInterceptorWrapperExtension.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,24 +22,24 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.annotation.Priority;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AfterTypeDiscovery;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
-import javax.enterprise.util.AnnotationLiteral;
-import javax.interceptor.Interceptor;
+import jakarta.annotation.Priority;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.Any;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.AfterTypeDiscovery;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.util.AnnotationLiteral;
+import jakarta.interceptor.Interceptor;
 
 import org.glassfish.jersey.ext.cdi1x.internal.JerseyVetoed;
 import org.glassfish.jersey.internal.util.collection.Cache;
@@ -85,7 +85,7 @@
      * @param afterTypeDiscovery CDI bootstrap event.
      */
     private void afterTypeDiscovery(@Observes final AfterTypeDiscovery afterTypeDiscovery) {
-        // Does throw java.lang.IndexOutOfBoundsException in latest Weld
+        // Does throw java.lang.IndexOutOfBoundsException in Weld 4
         // afterTypeDiscovery.getInterceptors().removeIf(ValidationInterceptor.class::equals);
         // iterator.remove throws as well
         afterTypeDiscovery.getInterceptors().remove(ValidationInterceptor.class);
diff --git a/ext/cdi/jersey-cdi1x-validation/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/ext/cdi/jersey-cdi1x-validation/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from ext/cdi/jersey-cdi1x-validation/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to ext/cdi/jersey-cdi1x-validation/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/ext/cdi/jersey-cdi1x/pom.xml b/ext/cdi/jersey-cdi1x/pom.xml
index 57de0cb..7ef1fbf 100644
--- a/ext/cdi/jersey-cdi1x/pom.xml
+++ b/ext/cdi/jersey-cdi1x/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.cdi</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-cdi1x</artifactId>
@@ -41,8 +41,8 @@
         </dependency>
 
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
 
@@ -91,7 +91,7 @@
                             org.glassfish.jersey.ext.cdi1x.internal.spi
                         </Export-Package>
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             ${hk2.osgi.version},
                             ${cdi.osgi.version},
                             *
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/AbstractCdiBeanSupplier.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/AbstractCdiBeanSupplier.java
index 9e438f1..f070d61 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/AbstractCdiBeanSupplier.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/AbstractCdiBeanSupplier.java
@@ -24,14 +24,14 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
-import javax.enterprise.context.spi.Contextual;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.context.spi.Contextual;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
 
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java
index 5595b8a..e5fd3e8 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java
@@ -39,35 +39,34 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.enterprise.inject.Vetoed;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Application;
 
-import javax.annotation.ManagedBean;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AfterTypeDiscovery;
-import javax.enterprise.inject.spi.Annotated;
-import javax.enterprise.inject.spi.AnnotatedCallable;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
-import javax.enterprise.inject.spi.AnnotatedParameter;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.BeforeShutdown;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.ProcessInjectionTarget;
-import javax.enterprise.util.AnnotationLiteral;
+
+import jakarta.annotation.ManagedBean;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.AfterTypeDiscovery;
+import jakarta.enterprise.inject.spi.Annotated;
+import jakarta.enterprise.inject.spi.AnnotatedCallable;
+import jakarta.enterprise.inject.spi.AnnotatedConstructor;
+import jakarta.enterprise.inject.spi.AnnotatedParameter;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeforeShutdown;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.enterprise.inject.spi.ProcessInjectionTarget;
+import jakarta.enterprise.util.AnnotationLiteral;
 
 import org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerInjectedTarget;
 import org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerStore;
@@ -139,7 +138,7 @@
     private final InjectionManagerStore injectionManagerStore;
 
     private volatile InjectionManager injectionManager;
-    protected volatile javax.enterprise.inject.spi.BeanManager beanManager;
+    private volatile jakarta.enterprise.inject.spi.BeanManager beanManager;
 
     private volatile Map<Class<?>, Set<Method>> methodsToSkip = new HashMap<>();
     private volatile Map<Class<?>, Set<Field>> fieldsToSkip = new HashMap<>();
@@ -489,7 +488,7 @@
 
     private boolean isInjectionProvider(final Type injectedType) {
         return injectedType instanceof ParameterizedType
-                && ((ParameterizedType) injectedType).getRawType() == javax.inject.Provider.class;
+                && ((ParameterizedType) injectedType).getRawType() == jakarta.inject.Provider.class;
     }
 
     private boolean isProviderOfJerseyType(final ParameterizedType provider) {
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderClientRuntimeSpecifics.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderClientRuntimeSpecifics.java
index 00d7ae5..a6eee5c 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderClientRuntimeSpecifics.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderClientRuntimeSpecifics.java
@@ -17,9 +17,9 @@
 
 package org.glassfish.jersey.ext.cdi1x.internal;
 
-import javax.enterprise.inject.spi.AnnotatedParameter;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.inject.spi.AnnotatedParameter;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.ws.rs.core.Context;
 import java.lang.annotation.Annotation;
 import java.util.Enumeration;
 import java.util.HashSet;
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderRuntimeSpecifics.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderRuntimeSpecifics.java
index d8681f2..359309f 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderRuntimeSpecifics.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderRuntimeSpecifics.java
@@ -17,8 +17,8 @@
 
 package org.glassfish.jersey.ext.cdi1x.internal;
 
-import javax.enterprise.inject.spi.AnnotatedParameter;
-import javax.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.AnnotatedParameter;
+import jakarta.enterprise.inject.spi.AnnotatedType;
 import java.lang.annotation.Annotation;
 import java.util.Set;
 
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderServerRuntimeSpecifics.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderServerRuntimeSpecifics.java
index ee9ca27..826fdc2 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderServerRuntimeSpecifics.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderServerRuntimeSpecifics.java
@@ -25,16 +25,16 @@
 import org.glassfish.jersey.server.model.Resource;
 import org.glassfish.jersey.server.spi.internal.ValueParamProvider;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.Annotated;
-import javax.enterprise.inject.spi.AnnotatedCallable;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
-import javax.enterprise.inject.spi.AnnotatedParameter;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.inject.Qualifier;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.spi.Annotated;
+import jakarta.enterprise.inject.spi.AnnotatedCallable;
+import jakarta.enterprise.inject.spi.AnnotatedConstructor;
+import jakarta.enterprise.inject.spi.AnnotatedParameter;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.inject.Qualifier;
+import jakarta.ws.rs.core.Context;
 import java.lang.annotation.Annotation;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
@@ -92,12 +92,12 @@
 
         static final Set<Class<? extends Annotation>> JAX_RS_STRING_PARAM_ANNOTATIONS =
                 new HashSet<Class<? extends Annotation>>() {{
-                    add(javax.ws.rs.PathParam.class);
-                    add(javax.ws.rs.QueryParam.class);
-                    add(javax.ws.rs.CookieParam.class);
-                    add(javax.ws.rs.HeaderParam.class);
-                    add(javax.ws.rs.MatrixParam.class);
-                    add(javax.ws.rs.FormParam.class);
+                    add(jakarta.ws.rs.PathParam.class);
+                    add(jakarta.ws.rs.QueryParam.class);
+                    add(jakarta.ws.rs.CookieParam.class);
+                    add(jakarta.ws.rs.HeaderParam.class);
+                    add(jakarta.ws.rs.MatrixParam.class);
+                    add(jakarta.ws.rs.FormParam.class);
                 }};
 
         /**
@@ -133,7 +133,7 @@
          * @param beanManager    current application bean manager.
          * @return concrete JAX-RS parameter value for given injection point.
          */
-        @javax.enterprise.inject.Produces
+        @jakarta.enterprise.inject.Produces
         @JaxRsParamQualifier
         public String getParameterValue(final InjectionPoint injectionPoint, final BeanManager beanManager) {
             final Parameter parameter = parameterCache.apply(injectionPoint);
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiServerComponentProvider.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiServerComponentProvider.java
index 7b919f2..3183ce3 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiServerComponentProvider.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiServerComponentProvider.java
@@ -20,7 +20,7 @@
 import org.glassfish.jersey.model.ContractProvider;
 import org.glassfish.jersey.server.spi.ComponentProvider;
 
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeanManager;
 import java.util.Set;
 
 /**
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtil.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtil.java
index f53fa23..b3ffa9a 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtil.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtil.java
@@ -24,10 +24,10 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Qualifier;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Qualifier;
 
 import org.glassfish.jersey.ext.cdi1x.internal.spi.BeanManagerProvider;
 import org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerStore;
@@ -102,7 +102,7 @@
      * @param clazz type of service to look for.
      * @param <T>   type of service to look for
      * @return instance of service with highest priority or {@code null} if service of given type cannot be found.
-     * @see javax.annotation.Priority
+     * @see jakarta.annotation.Priority
      */
     static <T> T lookupService(final Class<T> clazz) {
         final List<RankedProvider<T>> providers = new LinkedList<>();
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/DefaultBeanManagerProvider.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/DefaultBeanManagerProvider.java
index 7fd8087..57b42f0 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/DefaultBeanManagerProvider.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/DefaultBeanManagerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.logging.Logger;
 
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.CDI;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.CDI;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/GenericCdiBeanSupplier.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/GenericCdiBeanSupplier.java
index aeaf62e..d92cbfd 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/GenericCdiBeanSupplier.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/GenericCdiBeanSupplier.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.ext.cdi1x.internal;
 
-import javax.enterprise.inject.Vetoed;
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.spi.BeanManager;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/InjecteeSkippingAnalyzer.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/InjecteeSkippingAnalyzer.java
index 61db168..f8a1b79 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/InjecteeSkippingAnalyzer.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/InjecteeSkippingAnalyzer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,8 +30,8 @@
 import org.glassfish.hk2.api.ClassAnalyzer;
 import org.glassfish.hk2.api.MultiException;
 
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
 
 /**
  * Class analyzer that ignores given injection points.
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/ProcessAllAnnotatedTypes.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/ProcessAllAnnotatedTypes.java
index 96328de..80591cc 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/ProcessAllAnnotatedTypes.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/ProcessAllAnnotatedTypes.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2018, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -15,10 +16,10 @@
  */
 package org.glassfish.jersey.ext.cdi1x.internal;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
 
 public class ProcessAllAnnotatedTypes implements Extension {
 
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/ProcessJAXRSAnnotatedTypes.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/ProcessJAXRSAnnotatedTypes.java
index 8985eb1..5c3c0ee 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/ProcessJAXRSAnnotatedTypes.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/ProcessJAXRSAnnotatedTypes.java
@@ -15,19 +15,19 @@
  */
 package org.glassfish.jersey.ext.cdi1x.internal;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.WithAnnotations;
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.enterprise.inject.spi.WithAnnotations;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
 
 public class ProcessJAXRSAnnotatedTypes implements Extension {
 
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/RequestScopedCdiBeanSupplier.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/RequestScopedCdiBeanSupplier.java
index 025d6fc..891d388 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/RequestScopedCdiBeanSupplier.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/RequestScopedCdiBeanSupplier.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.ext.cdi1x.internal;
 
-import javax.enterprise.inject.Vetoed;
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.spi.BeanManager;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.process.internal.RequestScoped;
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/SingleInjectionManagerStore.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/SingleInjectionManagerStore.java
index 011c011..9c6ed8d 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/SingleInjectionManagerStore.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/SingleInjectionManagerStore.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.ext.cdi1x.internal;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
 import org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerStore;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/BeanManagerProvider.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/BeanManagerProvider.java
index cf953c4..fa6e664 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/BeanManagerProvider.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/BeanManagerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.ext.cdi1x.internal.spi;
 
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeanManager;
 
 /**
- * Provider SPI for CDI {@link javax.enterprise.inject.spi.BeanManager} for the current context.
+ * Provider SPI for CDI {@link jakarta.enterprise.inject.spi.BeanManager} for the current context.
  * Implementations can decide how to obtain bean manager (e.g. {@link javax.naming.InitialContext}, CDI 1.1 API, ...).
  *
  * @author Michal Gajdos
@@ -28,7 +28,7 @@
 public interface BeanManagerProvider {
 
     /**
-     * Get the CDI {@link javax.enterprise.inject.spi.BeanManager bean manager} for the current context.
+     * Get the CDI {@link jakarta.enterprise.inject.spi.BeanManager bean manager} for the current context.
      *
      * @return bean manager for the current context or {@code null} if no bean manager is available.
      */
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionManagerInjectedTarget.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionManagerInjectedTarget.java
index 34d2ea6..ff7a45b 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionManagerInjectedTarget.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionManagerInjectedTarget.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.ext.cdi1x.internal.spi;
 
-import javax.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTarget;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
 /**
- * CDI {@link javax.enterprise.inject.spi.InjectionTarget injection target} that is co-injected by injection manager.
+ * CDI {@link jakarta.enterprise.inject.spi.InjectionTarget injection target} that is co-injected by injection manager.
  * The injection is done via given {@link InjectionManager injection manager}.
  *
  * @author Michal Gajdos
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionManagerStore.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionManagerStore.java
index d282565..d5eeade 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionManagerStore.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionManagerStore.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 
 /**
  * {@link InjectionManager injection manager} designed for Jersey
- * {@link javax.enterprise.inject.spi.Extension CDI extension}. This SPI is designed to support deployments that can contain
+ * {@link jakarta.enterprise.inject.spi.Extension CDI extension}. This SPI is designed to support deployments that can contain
  * more than one Jersey/InjectionManager managed CDI {@link org.glassfish.jersey.server.spi.ComponentProvider component provider}
  * (more injection manager) but only single CDI extension instance (e.g. EAR with multiple WARs). Each CDI component provider
  * instance acknowledges the manager about new injection manager and manager is supposed to return the effective injection manager
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionTargetListener.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionTargetListener.java
index 1cbdb70..53a5aa3 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionTargetListener.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/spi/InjectionTargetListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 /**
  * An extension interface for implementations of {@link InjectionManagerStore}. HK2 locator
- * managers implementing this interface are notified when an {@link javax.enterprise.inject.spi.InjectionTarget injection target}
+ * managers implementing this interface are notified when an {@link jakarta.enterprise.inject.spi.InjectionTarget injection target}
  * is processed by {@link org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider}. Locator managers can then set the
  * effective injection manager to the processed {@link InjectionManagerInjectedTarget target}.
  *
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/spi/Hk2CustomBoundTypesProvider.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/spi/Hk2CustomBoundTypesProvider.java
index 0b779a7..17740c1 100644
--- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/spi/Hk2CustomBoundTypesProvider.java
+++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/spi/Hk2CustomBoundTypesProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -39,7 +39,7 @@
      * by CDI container in a form of CDI beans backed by HK2.
      *
      * <p>Jersey will ask CDI container to veto these types
-     * and will register HK2 backed beans into CDI, so that @{@link javax.inject.Inject}
+     * and will register HK2 backed beans into CDI, so that @{@link jakarta.inject.Inject}
      * marked injection points could be satisfied.
      *
      * <p>The end user is responsible for defining necessary HK2 bindings
diff --git a/ext/cdi/jersey-cdi1x/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/ext/cdi/jersey-cdi1x/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from ext/cdi/jersey-cdi1x/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to ext/cdi/jersey-cdi1x/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderTest.java b/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderTest.java
index 4a14b8e..995c758 100644
--- a/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderTest.java
+++ b/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProviderTest.java
@@ -25,13 +25,13 @@
 import java.lang.annotation.Target;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java b/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
index fb839f0..6a30227 100644
--- a/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
+++ b/ext/cdi/jersey-cdi1x/src/test/java/org/glassfish/jersey/ext/cdi1x/internal/CdiUtilTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.ext.cdi1x.internal;
 
-import javax.annotation.Priority;
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.annotation.Priority;
+import jakarta.enterprise.inject.spi.BeanManager;
 
 import org.glassfish.jersey.ext.cdi1x.internal.spi.BeanManagerProvider;
 import org.glassfish.jersey.ext.cdi1x.internal.spi.InjectionManagerStore;
diff --git a/ext/cdi/jersey-weld2-se/pom.xml b/ext/cdi/jersey-weld2-se/pom.xml
index b4fe4b9..9790e01 100644
--- a/ext/cdi/jersey-weld2-se/pom.xml
+++ b/ext/cdi/jersey-weld2-se/pom.xml
@@ -23,19 +23,25 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.cdi</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-weld2-se</artifactId>
     <packaging>jar</packaging>
     <name>jersey-ext-weld2-se</name>
 
-    <description>WELD 2.x SE support</description>
+    <description>WELD 4.x SE support</description>
 
     <dependencies>
         <dependency>
             <groupId>org.jboss.weld.se</groupId>
             <artifactId>weld-se-core</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>jakarta.interceptor</groupId>
+                    <artifactId>jakarta.interceptor-api</artifactId>
+                </exclusion>
+            </exclusions>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -48,6 +54,20 @@
             <artifactId>jersey-cdi1x</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>jakarta.interceptor</groupId>
+                    <artifactId>jakarta.interceptor-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jakarta.inject</groupId>
+                    <artifactId>jakarta.inject-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/ext/cdi/jersey-weld2-se/src/main/java/org/glassfish/jersey/weld/se/WeldRequestScope.java b/ext/cdi/jersey-weld2-se/src/main/java/org/glassfish/jersey/weld/se/WeldRequestScope.java
index de3e54d..d052e2d 100644
--- a/ext/cdi/jersey-weld2-se/src/main/java/org/glassfish/jersey/weld/se/WeldRequestScope.java
+++ b/ext/cdi/jersey-weld2-se/src/main/java/org/glassfish/jersey/weld/se/WeldRequestScope.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.ext.cdi1x.internal.JerseyVetoed;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/ext/cdi/pom.xml b/ext/cdi/pom.xml
index d55343a..0af9140 100644
--- a/ext/cdi/pom.xml
+++ b/ext/cdi/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.ext.cdi</groupId>
diff --git a/ext/entity-filtering/pom.xml b/ext/entity-filtering/pom.xml
index 5d91ac3..0eae91b 100644
--- a/ext/entity-filtering/pom.xml
+++ b/ext/entity-filtering/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-entity-filtering</artifactId>
@@ -53,10 +53,9 @@
         </dependency>
 
         <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-bundle</artifactId>
+            <groupId>org.glassfish.jersey.test-framework</groupId>
+            <artifactId>jersey-test-framework-core</artifactId>
             <version>${project.version}</version>
-            <type>pom</type>
             <scope>test</scope>
         </dependency>
     </dependencies>
@@ -81,7 +80,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.message.filtering.*;version=${project.version}</Export-Package>
-                        <Import-Package>${javax.annotation.osgi.version},*</Import-Package>
+                        <Import-Package>${jakarta.annotation.osgi.version},*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/CommonScopeProvider.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/CommonScopeProvider.java
index fb1bbe8..6968efd 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/CommonScopeProvider.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/CommonScopeProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,10 +27,10 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Providers;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/DefaultEntityProcessor.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/DefaultEntityProcessor.java
index 09ba981..776aad9 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/DefaultEntityProcessor.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/DefaultEntityProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 import org.glassfish.jersey.message.filtering.spi.AbstractEntityProcessor;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFiltering.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFiltering.java
index 98d7d7d..7e18c03 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFiltering.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFiltering.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -85,7 +85,7 @@
  * </p>
  * <p>
  * At last, on the client-side, the entity-filtering annotations are passed to the runtime via
- * {@link javax.ws.rs.client.Entity#entity(Object, javax.ws.rs.core.MediaType, java.lang.annotation.Annotation[]) Entity.entity()}
+ * {@link jakarta.ws.rs.client.Entity#entity(Object, jakarta.ws.rs.core.MediaType, java.lang.annotation.Annotation[]) Entity.entity()}
  * method and the entity-filtering scopes are then derived from the annotations:
  * <pre>
  *  ClientBuilder.newClient()
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringBinder.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringBinder.java
index 8990270..aa28b30 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringBinder.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.message.filtering;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.message.filtering.spi.EntityGraphProvider;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringFeature.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringFeature.java
index 4c4e1eb..60d7c51 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringFeature.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.message.filtering;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * {@link Feature} used to add support for Entity Data Filtering feature for entity-filtering annotations based on
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringProcessor.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringProcessor.java
index 4af5311..a2a35d0 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringProcessor.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.filtering.spi.AbstractEntityProcessor;
 import org.glassfish.jersey.message.filtering.spi.EntityGraph;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringScopeResolver.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringScopeResolver.java
index cd71ec8..23ca997 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringScopeResolver.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityFilteringScopeResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Annotation;
 import java.util.Set;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.filtering.spi.ScopeResolver;
 
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityInspectorImpl.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityInspectorImpl.java
index 35f58ea..9854772 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityInspectorImpl.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/EntityInspectorImpl.java
@@ -28,9 +28,9 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Providers;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/ObjectGraphProvider.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/ObjectGraphProvider.java
index d2515b4..b989c1b 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/ObjectGraphProvider.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/ObjectGraphProvider.java
@@ -22,8 +22,8 @@
 import org.glassfish.jersey.message.filtering.spi.ObjectGraph;
 import org.glassfish.jersey.message.filtering.spi.ScopeProvider;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
 
 /**
  * {@link org.glassfish.jersey.message.filtering.spi.ObjectProvider Object provider} and
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityAnnotations.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityAnnotations.java
index 55f55fe..57c83ff 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityAnnotations.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityAnnotations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,9 +19,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.annotation.security.DenyAll;
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
+import jakarta.annotation.security.DenyAll;
+import jakarta.annotation.security.PermitAll;
+import jakarta.annotation.security.RolesAllowed;
 
 import org.glassfish.jersey.internal.inject.AnnotationLiteral;
 
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityEntityFilteringFeature.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityEntityFilteringFeature.java
index 729917c..fc97d8d 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityEntityFilteringFeature.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityEntityFilteringFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,22 +16,22 @@
 
 package org.glassfish.jersey.message.filtering;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
 
 /**
- * {@link Feature} used to add support for Java Security annotations (<code>javax.annotation.security</code>) for Entity Data
+ * {@link Feature} used to add support for Java Security annotations (<code>jakarta.annotation.security</code>) for Entity Data
  * Filtering feature.
  * <p>
  * Supported annotations are:
  * <ul>
- * <li>{@link javax.annotation.security.PermitAll}</li>
- * <li>{@link javax.annotation.security.RolesAllowed}</li>
- * <li>{@link javax.annotation.security.DenyAll}</li>
+ * <li>{@link jakarta.annotation.security.PermitAll}</li>
+ * <li>{@link jakarta.annotation.security.RolesAllowed}</li>
+ * <li>{@link jakarta.annotation.security.DenyAll}</li>
  * </ul>
  * </p>
  * <p>
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityEntityProcessor.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityEntityProcessor.java
index 7971b67..a569e95 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityEntityProcessor.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityEntityProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.lang.annotation.Annotation;
 import java.util.Set;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.filtering.spi.AbstractEntityProcessor;
 import org.glassfish.jersey.message.filtering.spi.EntityGraph;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityHelper.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityHelper.java
index 69fc968..0a8ccb1 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityHelper.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.annotation.security.DenyAll;
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
+import jakarta.annotation.security.DenyAll;
+import jakarta.annotation.security.PermitAll;
+import jakarta.annotation.security.RolesAllowed;
 
 import org.glassfish.jersey.message.filtering.spi.FilteringHelper;
 
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityScopeResolver.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityScopeResolver.java
index 896d2e3..8bd6153 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityScopeResolver.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityScopeResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Annotation;
 import java.util.Set;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.filtering.spi.ScopeResolver;
 
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityServerScopeProvider.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityServerScopeProvider.java
index 6be0444..ac3a2a9 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityServerScopeProvider.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityServerScopeProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,14 +20,14 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityServerScopeResolver.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityServerScopeResolver.java
index 0504de5..a7e3dc2 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityServerScopeResolver.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SecurityServerScopeResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,14 +19,14 @@
 import java.lang.annotation.Annotation;
 import java.util.Set;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.filtering.spi.ScopeResolver;
 
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableEntityFilteringFeature.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableEntityFilteringFeature.java
index e89bea1..467f584 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableEntityFilteringFeature.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableEntityFilteringFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.message.filtering;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * {@link Feature} used to add support for custom query parameter filtering for
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableEntityProcessor.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableEntityProcessor.java
index 0f478a6..9d310ab 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableEntityProcessor.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableEntityProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.filtering.spi.AbstractEntityProcessor;
 import org.glassfish.jersey.message.filtering.spi.EntityGraph;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableScopeResolver.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableScopeResolver.java
index ff0437b..ecdbcb3 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableScopeResolver.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/SelectableScopeResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,12 +21,12 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Singleton;
+import jakarta.annotation.PostConstruct;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.util.Tokenizer;
 import org.glassfish.jersey.message.filtering.spi.ScopeResolver;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/ServerScopeProvider.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/ServerScopeProvider.java
index 753acb4..b46ff6f 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/ServerScopeProvider.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/ServerScopeProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,15 +24,15 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.server.ExtendedUriInfo;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/package-info.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/package-info.java
index 7741b43..6780ae8 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/package-info.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,13 +17,13 @@
 /**
  * Support for Entity Data Filtering in Jersey.
  * <p/>
- * To use Entity Data Filtering one of the provided {@link javax.ws.rs.core.Feature features} has to be registered in an
+ * To use Entity Data Filtering one of the provided {@link jakarta.ws.rs.core.Feature features} has to be registered in an
  * application:
  * <ul>
  *     <li>{@link org.glassfish.jersey.message.filtering.EntityFilteringFeature} - adds support for entity-filtering
  *     annotations based on {@link org.glassfish.jersey.message.filtering.EntityFiltering} meta-annotation.</li>
  *     <li>{@link org.glassfish.jersey.message.filtering.SecurityEntityFilteringFeature} - add support for entity-filtering using
- *     Java Security annotations (<code>javax.annotation.security</code>).</li>
+ *     Java Security annotations (<code>jakarta.annotation.security</code>).</li>
  * </ul>
  * <p/>
  * To define own entity-filtering annotations, refer to the {@link org.glassfish.jersey.message.filtering.EntityFiltering}
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/AbstractObjectProvider.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/AbstractObjectProvider.java
index 3b9b0a8..de4884a 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/AbstractObjectProvider.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/AbstractObjectProvider.java
@@ -24,8 +24,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.internal.guava.Cache;
 import org.glassfish.jersey.internal.guava.CacheBuilder;
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/FilteringHelper.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/FilteringHelper.java
index 6704754..fdaeb40 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/FilteringHelper.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/FilteringHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -31,7 +31,7 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
-import javax.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBElement;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ObjectGraphTransformer.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ObjectGraphTransformer.java
index f3261c7..add7c4d 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ObjectGraphTransformer.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ObjectGraphTransformer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -37,19 +37,19 @@
  *       // Scope.
  *       .in(Singleton.class);
  * </pre>
- * The custom transformer can be then {@link javax.inject.Inject injected} as one these injection point types:
+ * The custom transformer can be then {@link jakarta.inject.Inject injected} as one these injection point types:
  * <ul>
  * <li>{@code MyObjectGraphTransformer}</li>
- * <li>{@code javax.inject.Provider&lt;ObjectGraphTransformer&lt;MyFilteringObject&gt;&gt;}</li>
+ * <li>{@code jakarta.inject.Provider&lt;ObjectGraphTransformer&lt;MyFilteringObject&gt;&gt;}</li>
  * </ul>
  * </p>
  * <p>
  * By default a {@code ObjectGraph} -&gt; {@code ObjectGraph} transformer is available in the runtime. This transformer can be
- * injected (via {@link javax.inject.Inject @Inject}) into the following types:
+ * injected (via {@link jakarta.inject.Inject @Inject}) into the following types:
  * <ul>
  * <li>{@code ObjectGraphTransformer}</li>
- * <li>{@code javax.inject.Provider&lt;ObjectGraphTransformer&lt;Object&gt;&gt;}</li>
- * <li>{@code javax.inject.Provider&lt;ObjectGraphTransformer&lt;ObjectGraph&gt;&gt;}</li>
+ * <li>{@code jakarta.inject.Provider&lt;ObjectGraphTransformer&lt;Object&gt;&gt;}</li>
+ * <li>{@code jakarta.inject.Provider&lt;ObjectGraphTransformer&lt;ObjectGraph&gt;&gt;}</li>
  * </ul>
  * </p>
  *
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ObjectProvider.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ObjectProvider.java
index f22e77d..5e64e2e 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ObjectProvider.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ObjectProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,9 +30,9 @@
  * Methods are also accepting a list of entity annotations which entity-filtering scopes and then particular entity-filtering
  * object are determined from. Entity annotations can be passed to the runtime via:
  * <ul>
- * <li>{@link javax.ws.rs.client.Entity#entity(Object, javax.ws.rs.core.MediaType, java.lang.annotation.Annotation[])} on the
+ * <li>{@link jakarta.ws.rs.client.Entity#entity(Object, jakarta.ws.rs.core.MediaType, java.lang.annotation.Annotation[])} on the
  * client, or</li>
- * <li>{@link javax.ws.rs.core.Response.ResponseBuilder#entity(Object, java.lang.annotation.Annotation[])} on the server</li>
+ * <li>{@link jakarta.ws.rs.core.Response.ResponseBuilder#entity(Object, java.lang.annotation.Annotation[])} on the server</li>
  * </ul>
  * </p>
  * <p>
@@ -52,19 +52,19 @@
  *       // Scope.
  *       .in(Singleton.class);
  * </pre>
- * The custom provider can be then {@link javax.inject.Inject injected} as one these injection point types:
+ * The custom provider can be then {@link jakarta.inject.Inject injected} as one these injection point types:
  * <ul>
  * <li>{@code MyObjectProvider}</li>
- * <li>{@code javax.inject.Provider&lt;ObjectProvider&lt;MyFilteringObject&gt;&gt;}</li>
+ * <li>{@code jakarta.inject.Provider&lt;ObjectProvider&lt;MyFilteringObject&gt;&gt;}</li>
  * </ul>
  * </p>
  * <p>
  * By default a {@code ObjectGraph} provider is available in the runtime. This object provider can be injected (via
- * {@link javax.inject.Inject @Inject}) into the following types:
+ * {@link jakarta.inject.Inject @Inject}) into the following types:
  * <ul>
  * <li>{@code ObjectProvider}</li>
- * <li>{@code javax.inject.Provider&lt;ObjectProvider&lt;Object&gt;&gt;}</li>
- * <li>{@code javax.inject.Provider&lt;ObjectProvider&lt;ObjectGraph&gt;&gt;}</li>
+ * <li>{@code jakarta.inject.Provider&lt;ObjectProvider&lt;Object&gt;&gt;}</li>
+ * <li>{@code jakarta.inject.Provider&lt;ObjectProvider&lt;ObjectGraph&gt;&gt;}</li>
  * </ul>
  * </p>
  * <p>
diff --git a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ScopeResolver.java b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ScopeResolver.java
index c1403d2..eca27f9 100644
--- a/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ScopeResolver.java
+++ b/ext/entity-filtering/src/main/java/org/glassfish/jersey/message/filtering/spi/ScopeResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,15 +24,15 @@
 /**
  * Class used to resolve entity-filtering scopes from annotations. Annotations passed to {@code #resolve()} method
  * can be one of the following: entity annotations (provided when creating request/response entity),
- * annotations obtained from {@link javax.ws.rs.core.Configuration configuration}, resource method / resource class annotations.
+ * annotations obtained from {@link jakarta.ws.rs.core.Configuration configuration}, resource method / resource class annotations.
  * <p/>
  * Entity-filtering scope is supposed to be an unique string that can be derived from an annotations and that can be further used
  * in internal entity data filtering structures. Examples of such unique strings are:
  * <ul>
  * <li><code>@MyDetailedView</code> -&gt; <code>my.package.MyDetailedView</code></li>
  * <li>
- * <code>@RolesAllowed({"manager", "user"})</code> -&gt; <code>javax.annotation.security.RolesAllowed_manager</code> and
- * <code>javax.annotation.security.RolesAllowed_user</code>
+ * <code>@RolesAllowed({"manager", "user"})</code> -&gt; <code>jakarta.annotation.security.RolesAllowed_manager</code> and
+ * <code>jakarta.annotation.security.RolesAllowed_user</code>
  * </li>
  * </ul>
  * <p/>
diff --git a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/DenyAllEntity.java b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/DenyAllEntity.java
index 94922c6..6a7e18b 100644
--- a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/DenyAllEntity.java
+++ b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/DenyAllEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.message.filtering;
 
-import javax.annotation.security.DenyAll;
+import jakarta.annotation.security.DenyAll;
 
 /**
  * @author Michal Gajdos
diff --git a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/PermitAllEntity.java b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/PermitAllEntity.java
index 1a95adb..1290043 100644
--- a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/PermitAllEntity.java
+++ b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/PermitAllEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.message.filtering;
 
-import javax.annotation.security.PermitAll;
+import jakarta.annotation.security.PermitAll;
 
 /**
  * @author Michal Gajdos
diff --git a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/RolesAllowedEntity.java b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/RolesAllowedEntity.java
index f82ef9d..2b4dffc 100644
--- a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/RolesAllowedEntity.java
+++ b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/RolesAllowedEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.message.filtering;
 
-import javax.annotation.security.RolesAllowed;
+import jakarta.annotation.security.RolesAllowed;
 
 /**
  * @author Michal Gajdos
diff --git a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/SecurityHelperTest.java b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/SecurityHelperTest.java
index 75ce7d8..4c296d2 100644
--- a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/SecurityHelperTest.java
+++ b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/SecurityHelperTest.java
@@ -22,9 +22,9 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.annotation.security.RolesAllowed;
+import jakarta.annotation.security.RolesAllowed;
 
 import org.glassfish.jersey.internal.inject.CustomAnnotationLiteral;
 import org.glassfish.jersey.message.filtering.spi.FilteringHelper;
diff --git a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/TestSecurityContext.java b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/TestSecurityContext.java
index 1e75312..748bc6d 100644
--- a/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/TestSecurityContext.java
+++ b/ext/entity-filtering/src/test/java/org/glassfish/jersey/message/filtering/TestSecurityContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.security.Principal;
 
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
 
 /**
 * @author Michal Gajdos
diff --git a/ext/metainf-services/pom.xml b/ext/metainf-services/pom.xml
index 0694af4..411dbb3 100644
--- a/ext/metainf-services/pom.xml
+++ b/ext/metainf-services/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-metainf-services</artifactId>
@@ -83,7 +83,7 @@
                 <configuration>
                     <instructions>
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             *
                         </Import-Package>
                         <unpackBundle>true</unpackBundle>
diff --git a/ext/metainf-services/src/main/java/org/glassfish/jersey/spidiscovery/internal/MetaInfServicesAutoDiscoverable.java b/ext/metainf-services/src/main/java/org/glassfish/jersey/spidiscovery/internal/MetaInfServicesAutoDiscoverable.java
index 118acd3..cc8c8b4 100644
--- a/ext/metainf-services/src/main/java/org/glassfish/jersey/spidiscovery/internal/MetaInfServicesAutoDiscoverable.java
+++ b/ext/metainf-services/src/main/java/org/glassfish/jersey/spidiscovery/internal/MetaInfServicesAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,13 +18,13 @@
 
 import java.util.Map;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.ServiceFinderBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
diff --git a/ext/metainf-services/src/test/java/org/glassfish/jersey/message/MetaInfServicesTest.java b/ext/metainf-services/src/test/java/org/glassfish/jersey/message/MetaInfServicesTest.java
index 439df76..7dbad12 100644
--- a/ext/metainf-services/src/test/java/org/glassfish/jersey/message/MetaInfServicesTest.java
+++ b/ext/metainf-services/src/test/java/org/glassfish/jersey/message/MetaInfServicesTest.java
@@ -22,19 +22,19 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/ext/metainf-services/src/test/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader b/ext/metainf-services/src/test/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyReader
similarity index 100%
rename from ext/metainf-services/src/test/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader
rename to ext/metainf-services/src/test/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyReader
diff --git a/ext/metainf-services/src/test/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter b/ext/metainf-services/src/test/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyWriter
similarity index 100%
rename from ext/metainf-services/src/test/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter
rename to ext/metainf-services/src/test/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyWriter
diff --git a/ext/micrometer/pom.xml b/ext/micrometer/pom.xml
index 24dee7f..3980e2e 100644
--- a/ext/micrometer/pom.xml
+++ b/ext/micrometer/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.ext</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/ext/micrometer/src/main/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListener.java b/ext/micrometer/src/main/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListener.java
index 9036637..cca1d13 100644
--- a/ext/micrometer/src/main/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListener.java
+++ b/ext/micrometer/src/main/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListener.java
@@ -128,7 +128,7 @@
             return false;
         }
         String className = t.getClass().getCanonicalName();
-        return className.equals("jakarta.ws.rs.NotFoundException") || className.equals("javax.ws.rs.NotFoundException");
+        return className.equals("jakarta.ws.rs.NotFoundException") || className.equals("jakarta.ws.rs.NotFoundException");
     }
 
     private Set<Timer> shortTimers(Set<Timed> timed, RequestEvent event) {
diff --git a/ext/micrometer/src/main/java/org/glassfish/jersey/micrometer/server/ObservationRequestEventListener.java b/ext/micrometer/src/main/java/org/glassfish/jersey/micrometer/server/ObservationRequestEventListener.java
index 96c463c..953944b 100644
--- a/ext/micrometer/src/main/java/org/glassfish/jersey/micrometer/server/ObservationRequestEventListener.java
+++ b/ext/micrometer/src/main/java/org/glassfish/jersey/micrometer/server/ObservationRequestEventListener.java
@@ -108,7 +108,7 @@
             return false;
         }
         String className = t.getClass().getCanonicalName();
-        return className.equals("jakarta.ws.rs.NotFoundException") || className.equals("javax.ws.rs.NotFoundException");
+        return className.equals("jakarta.ws.rs.NotFoundException") || className.equals("jakarta.ws.rs.NotFoundException");
     }
 
     private static class ObservationScopeAndContext {
diff --git a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/DefaultJerseyTagsProviderTest.java b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/DefaultJerseyTagsProviderTest.java
index 4bf1759..d0445f9 100644
--- a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/DefaultJerseyTagsProviderTest.java
+++ b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/DefaultJerseyTagsProviderTest.java
@@ -21,7 +21,7 @@
 import java.util.List;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.NotAcceptableException;
+import jakarta.ws.rs.NotAcceptableException;
 
 import io.micrometer.core.instrument.Tag;
 import io.micrometer.core.instrument.Tags;
diff --git a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListenerTest.java b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListenerTest.java
index b2edeea..96324b2 100644
--- a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListenerTest.java
+++ b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListenerTest.java
@@ -18,8 +18,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.core.Application;
 
 import io.micrometer.core.instrument.MeterRegistry;
 import io.micrometer.core.instrument.Tag;
diff --git a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListenerTimedTest.java b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListenerTimedTest.java
index 992864a..bd9cd24 100644
--- a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListenerTimedTest.java
+++ b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/MetricsRequestEventListenerTimedTest.java
@@ -23,9 +23,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import io.micrometer.core.Issue;
 import io.micrometer.core.instrument.MeterRegistry;
diff --git a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/mapper/ResourceGoneExceptionMapper.java b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/mapper/ResourceGoneExceptionMapper.java
index 745ae7c..e76867d 100644
--- a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/mapper/ResourceGoneExceptionMapper.java
+++ b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/mapper/ResourceGoneExceptionMapper.java
@@ -15,9 +15,9 @@
  */
 package org.glassfish.jersey.micrometer.server.mapper;
 
-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.glassfish.jersey.micrometer.server.exception.ResourceGoneException;
 
diff --git a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/observation/AbstractObservationRequestEventListenerTest.java b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/observation/AbstractObservationRequestEventListenerTest.java
index 597e6a6..0ae7ab6 100644
--- a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/observation/AbstractObservationRequestEventListenerTest.java
+++ b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/observation/AbstractObservationRequestEventListenerTest.java
@@ -19,7 +19,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import io.micrometer.core.instrument.MeterRegistry;
 import io.micrometer.core.instrument.Tag;
diff --git a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TestResource.java b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TestResource.java
index 661e1fa..41e529d 100644
--- a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TestResource.java
+++ b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TestResource.java
@@ -17,16 +17,16 @@
 
 import java.net.URI;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotAuthorizedException;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.RedirectionException;
-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.NotAuthorizedException;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.RedirectionException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.glassfish.jersey.micrometer.server.exception.ResourceGoneException;
 
diff --git a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TimedOnClassResource.java b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TimedOnClassResource.java
index 89d6d37..20f92fb 100644
--- a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TimedOnClassResource.java
+++ b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TimedOnClassResource.java
@@ -15,10 +15,10 @@
  */
 package org.glassfish.jersey.micrometer.server.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import io.micrometer.core.annotation.Timed;
 
diff --git a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TimedResource.java b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TimedResource.java
index 723d3a0..cbf4495 100644
--- a/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TimedResource.java
+++ b/ext/micrometer/src/test/java/org/glassfish/jersey/micrometer/server/resources/TimedResource.java
@@ -17,10 +17,10 @@
 
 import java.util.concurrent.CountDownLatch;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import io.micrometer.core.annotation.Timed;
 
diff --git a/ext/microprofile/mp-config/pom.xml b/ext/microprofile/mp-config/pom.xml
index e85fb02..bbe540d 100644
--- a/ext/microprofile/mp-config/pom.xml
+++ b/ext/microprofile/mp-config/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.ext.microprofile</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -49,13 +49,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-jetty</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
             <version>${project.version}</version>
@@ -74,14 +67,6 @@
             <artifactId>junit-jupiter</artifactId>
             <scope>test</scope>
         </dependency>
-
-        <dependency>
-            <groupId>io.helidon.microprofile.config</groupId>
-            <artifactId>helidon-microprofile-config</artifactId>
-            <version>${helidon.version}</version>
-            <scope>test</scope>
-        </dependency>
-
     </dependencies>
     <build>
         <plugins>
@@ -106,4 +91,68 @@
         </plugins>
     </build>
 
+    <profiles>
+        <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/microprofile/config/*Test.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+                    <artifactId>jersey-test-framework-provider-jetty</artifactId>
+                    <version>${project.version}</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+        <profile>
+            <id>smallrye-dependency</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>io.smallrye.config</groupId>
+                    <artifactId>smallrye-config</artifactId>
+                    <version>${smallrye.config.version}</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+        <profile>
+            <id>helidon-config-dependency</id>
+            <activation>
+                <jdk>[17,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>io.helidon.microprofile.config</groupId>
+                    <artifactId>helidon-microprofile-config</artifactId>
+                    <version>${helidon.config.version}</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/ext/microprofile/mp-config/src/main/java/org/glassfish/jersey/microprofile/config/ConfigurationModel.java b/ext/microprofile/mp-config/src/main/java/org/glassfish/jersey/microprofile/config/ConfigurationModel.java
index 399318a..ad2c25e 100644
--- a/ext/microprofile/mp-config/src/main/java/org/glassfish/jersey/microprofile/config/ConfigurationModel.java
+++ b/ext/microprofile/mp-config/src/main/java/org/glassfish/jersey/microprofile/config/ConfigurationModel.java
@@ -19,8 +19,8 @@
 import org.eclipse.microprofile.config.Config;
 import org.glassfish.jersey.spi.ExternalConfigurationModel;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Feature;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
diff --git a/ext/microprofile/mp-config/src/test/java/org/glassfish/jersey/microprofile/config/ExternalPropertiesConfigurationFactoryTest.java b/ext/microprofile/mp-config/src/test/java/org/glassfish/jersey/microprofile/config/ExternalPropertiesConfigurationFactoryTest.java
index 8662d2d..58f7bd7 100644
--- a/ext/microprofile/mp-config/src/test/java/org/glassfish/jersey/microprofile/config/ExternalPropertiesConfigurationFactoryTest.java
+++ b/ext/microprofile/mp-config/src/test/java/org/glassfish/jersey/microprofile/config/ExternalPropertiesConfigurationFactoryTest.java
@@ -24,14 +24,14 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 public class ExternalPropertiesConfigurationFactoryTest extends JerseyTest {
 
diff --git a/ext/microprofile/mp-rest-client/pom.xml b/ext/microprofile/mp-rest-client/pom.xml
index f73ca7f..bd5463d 100644
--- a/ext/microprofile/mp-rest-client/pom.xml
+++ b/ext/microprofile/mp-rest-client/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.ext.microprofile</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -72,17 +72,15 @@
         <dependency>
             <groupId>jakarta.json</groupId>
             <artifactId>jakarta.json-api</artifactId>
-            <version>${jsonp.ri.version}</version>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
-            <version>2.0</version>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jsonp-jaxrs</artifactId>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson-media</artifactId>
         </dependency>
         <dependency>
             <groupId>org.reactivestreams</groupId>
@@ -116,12 +114,13 @@
                 <configuration>
                     <instructions>
                         <Export-Package>
-                            org.glassfish.jersey.restclient.*;version=${project.version}
+                            org.glassfish.jersey.microprofile.restclient.*;version=${project.version}
                         </Export-Package>
                         <Import-Package>
                             ${cdi.osgi.version},
-                            org.eclipse.microprofile.rest.client.*;version="[1,3)",
-                            org.eclipse.microprofile.config;version="!",
+                            jakarta.decorator.*;version="[3.0,5)",
+                            org.eclipse.microprofile.rest.client.*;version="[3.0,4)",
+                            org.eclipse.microprofile.config.*;version="!",
                             *
                         </Import-Package>
                     </instructions>
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/BeanClassModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/BeanClassModel.java
index a074469..8a48d18 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/BeanClassModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/BeanClassModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,16 +25,16 @@
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.model.Parameter;
 
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/BeanParamModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/BeanParamModel.java
index 7d0c310..ae08607 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/BeanParamModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/BeanParamModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,16 +22,16 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * Contains information about method parameter or class field which is annotated by {@link BeanParam}.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ConfigWrapper.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ConfigWrapper.java
index fec7869..043957c 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ConfigWrapper.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ConfigWrapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,9 +21,9 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
 
 /**
  * Configuration wrapper for {@link Configuration}. This class is needed due to custom provider registrations.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/CookieParamModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/CookieParamModel.java
index fe6d921..6845e09 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/CookieParamModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/CookieParamModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Annotation;
 import java.util.Map;
 
-import javax.ws.rs.CookieParam;
+import jakarta.ws.rs.CookieParam;
 
 /**
  * Contains information about method parameter or class field which is annotated by {@link CookieParam}.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/DefaultResponseExceptionMapper.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/DefaultResponseExceptionMapper.java
index 1099040..e187b98 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/DefaultResponseExceptionMapper.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/DefaultResponseExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.microprofile.restclient;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
 import org.eclipse.microprofile.rest.client.ext.ResponseExceptionMapper;
 
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/FormParamModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/FormParamModel.java
index f33b592..23b3ca5 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/FormParamModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/FormParamModel.java
@@ -19,8 +19,8 @@
 import java.lang.annotation.Annotation;
 import java.util.Collection;
 
-import javax.ws.rs.FormParam;
-import javax.ws.rs.core.Form;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.core.Form;
 
 /**
  * Contains information about method parameter or class field which is annotated by {@link FormParam}.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeaderParamModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeaderParamModel.java
index 6668b4a..a431b65 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeaderParamModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeaderParamModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.lang.annotation.Annotation;
 import java.util.Collections;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  * Contains information about method parameter or class field which is annotated by {@link HeaderParam}.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeadersContext.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeadersContext.java
index 8de244e..4c0ca61 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeadersContext.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeadersContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.Optional;
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /**
  *
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeadersRequestFilter.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeadersRequestFilter.java
index 28e284a..c3806e0 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeadersRequestFilter.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/HeadersRequestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 /**
  * Server side request filter used for propagation of request headers to server client request.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterceptorInvocationContext.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterceptorInvocationContext.java
index 1f5947e..059aa84 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterceptorInvocationContext.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterceptorInvocationContext.java
@@ -22,10 +22,10 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.enterprise.inject.spi.InterceptionType;
-import javax.enterprise.inject.spi.Interceptor;
-import javax.interceptor.InvocationContext;
-import javax.ws.rs.client.WebTarget;
+import jakarta.enterprise.inject.spi.InterceptionType;
+import jakarta.enterprise.inject.spi.Interceptor;
+import jakarta.interceptor.InvocationContext;
+import jakarta.ws.rs.client.WebTarget;
 
 /**
  * Invokes all interceptors bound to the target.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterfaceModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterfaceModel.java
index 076eb66..254df0e 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterfaceModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterfaceModel.java
@@ -28,13 +28,14 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.CDI;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.CDI;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.eclipse.microprofile.rest.client.RestClientDefinitionException;
 import org.eclipse.microprofile.rest.client.annotation.ClientHeaderParam;
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtil.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtil.java
index 0501712..2f97dd5 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtil.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtil.java
@@ -28,7 +28,7 @@
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.HttpMethod;
+import jakarta.ws.rs.HttpMethod;
 
 import org.eclipse.microprofile.rest.client.RestClientDefinitionException;
 import org.eclipse.microprofile.rest.client.annotation.ClientHeaderParam;
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/MatrixParamModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/MatrixParamModel.java
index feed773..fbc22e0 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/MatrixParamModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/MatrixParamModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.lang.annotation.Annotation;
 import java.util.Collection;
 
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.client.WebTarget;
 
 /**
  * Contains information to method parameter which is annotated by {@link MatrixParam}.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/MethodModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/MethodModel.java
index e79d208..9f8ebd1 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/MethodModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/MethodModel.java
@@ -39,33 +39,33 @@
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InterceptionType;
-import javax.enterprise.inject.spi.Interceptor;
-import javax.json.JsonValue;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InterceptionType;
+import jakarta.enterprise.inject.spi.Interceptor;
+import jakarta.json.JsonValue;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.eclipse.microprofile.rest.client.RestClientDefinitionException;
 import org.eclipse.microprofile.rest.client.annotation.ClientHeaderParam;
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ParamModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ParamModel.java
index 4ba7e40..ca6f8f1 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ParamModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ParamModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,13 +23,13 @@
 import java.util.Map;
 import java.util.function.BiFunction;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
 
 import org.glassfish.jersey.model.Parameter;
 
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/PathParamModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/PathParamModel.java
index 2297d47..d3241df 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/PathParamModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/PathParamModel.java
@@ -18,8 +18,8 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.PathParam;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.client.WebTarget;
 
 /**
  * Contains information about method parameter or class field which is annotated by {@link PathParam}.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ProxyInvocationHandler.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ProxyInvocationHandler.java
index ee4d202..0fd557e 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ProxyInvocationHandler.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/ProxyInvocationHandler.java
@@ -21,8 +21,8 @@
 import java.lang.reflect.Proxy;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.WebTarget;
 
 /**
  * Invocation handler for interface proxy.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/QueryParamModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/QueryParamModel.java
index f430741..0b72fe3 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/QueryParamModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/QueryParamModel.java
@@ -20,7 +20,7 @@
 import java.util.Collection;
 import java.util.Map;
 
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.QueryParam;
 
 /**
  * Model which contains information about query parameter
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RequestHeaderAutoDiscoverable.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RequestHeaderAutoDiscoverable.java
index 05b2155..f7a31b8 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RequestHeaderAutoDiscoverable.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RequestHeaderAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.microprofile.restclient;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
 
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientBuilderImpl.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientBuilderImpl.java
index a4b4e31..1e81f52 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientBuilderImpl.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientBuilderImpl.java
@@ -41,14 +41,14 @@
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.eclipse.microprofile.config.Config;
 import org.eclipse.microprofile.config.ConfigProvider;
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientContext.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientContext.java
index 46d7051..478932c 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientContext.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientContext.java
@@ -23,8 +23,8 @@
 import java.util.Objects;
 import java.util.Set;
 
-import javax.enterprise.inject.spi.BeanManager;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.eclipse.microprofile.rest.client.ext.AsyncInvocationInterceptor;
 import org.eclipse.microprofile.rest.client.ext.AsyncInvocationInterceptorFactory;
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientExtension.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientExtension.java
index ab69937..df16da6 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientExtension.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientExtension.java
@@ -19,13 +19,13 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.DeploymentException;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.WithAnnotations;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.DeploymentException;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.enterprise.inject.spi.WithAnnotations;
 
 import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
 import org.eclipse.microprofile.rest.client.inject.RestClient;
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientModel.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientModel.java
index 81e5d87..8219865 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientModel.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2022 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,7 +22,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 /**
  * Model of the rest client interface.
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientProducer.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientProducer.java
index eb3181b..48bc397 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientProducer.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/RestClientProducer.java
@@ -40,16 +40,16 @@
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.DeploymentException;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.PassivationCapable;
-import javax.enterprise.util.AnnotationLiteral;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.Any;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.DeploymentException;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.PassivationCapable;
+import jakarta.enterprise.util.AnnotationLiteral;
 import javax.net.ssl.HostnameVerifier;
 
 import org.eclipse.microprofile.config.Config;
@@ -58,6 +58,7 @@
 import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
 import org.eclipse.microprofile.rest.client.inject.RestClient;
 import org.glassfish.jersey.internal.util.ReflectionHelper;
+import org.glassfish.jersey.microprofile.restclient.internal.LocalizationMessages;
 
 /**
  * Handles proper rest client injection.
@@ -138,11 +139,11 @@
         getConfigOption(Long.class, CONFIG_READ_TIMEOUT)
                 .ifPresent(aLong -> restClientBuilder.readTimeout(aLong, TimeUnit.MILLISECONDS));
         getConfigOption(Boolean.class, CONFIG_FOLLOW_REDIRECTS)
-                .ifPresent(follow -> VersionSupport.followRedirects(restClientBuilder, follow));
+                .ifPresent(follow -> _followRedirects(restClientBuilder, follow));
         getConfigOption(String.class, CONFIG_QUERY_PARAM_STYLE)
-                .ifPresent(value -> VersionSupport.queryParamStyle(restClientBuilder, value));
+                .ifPresent(value -> _queryParamStyle(restClientBuilder, value));
         getConfigOption(String.class, CONFIG_PROXY_ADDRESS)
-                .ifPresent(proxy -> VersionSupport.proxyAddress(restClientBuilder, proxy));
+                .ifPresent(proxy -> _proxyAddress(restClientBuilder, proxy));
 
         // Providers from configuration
         addConfiguredProviders(restClientBuilder);
@@ -417,4 +418,31 @@
             this.password = password;
         }
     }
+
+    private RestClientBuilder _followRedirects(RestClientBuilder restClientBuilder, boolean follow) {
+        return restClientBuilder.followRedirects(follow);
+    }
+
+    private RestClientBuilder _proxyAddress(RestClientBuilder restClientBuilder, String proxy) {
+        int index = proxy.lastIndexOf(':');
+        //If : was not found at all or it is the last character of the proxy string
+        if (index < 0 || proxy.length() - 1 == index) {
+            throw new IllegalArgumentException(LocalizationMessages.ERR_INVALID_PROXY_URI(proxy));
+        }
+        String proxyHost = proxy.substring(0, index);
+        int proxyPort;
+        String proxyPortStr = proxy.substring(index + 1);
+        try {
+            proxyPort = Integer.parseInt(proxyPortStr);
+        } catch (NumberFormatException nfe) {
+            throw new IllegalArgumentException(LocalizationMessages.ERR_INVALID_PROXY_PORT(proxyPortStr), nfe);
+        }
+        return restClientBuilder.proxyAddress(proxyHost, proxyPort);
+    }
+
+    private RestClientBuilder _queryParamStyle(RestClientBuilder restClientBuilder, String style) {
+        org.eclipse.microprofile.rest.client.ext.QueryParamStyle queryParamStyle =
+                org.eclipse.microprofile.rest.client.ext.QueryParamStyle.valueOf(style);
+        return restClientBuilder.queryParamStyle(queryParamStyle);
+    }
 }
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/SseEventPublisher.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/SseEventPublisher.java
index e4c72bd..7b6103e 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/SseEventPublisher.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/SseEventPublisher.java
@@ -25,9 +25,9 @@
 import java.util.concurrent.RejectedExecutionException;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.sse.InboundSseEvent;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.sse.InboundSseEvent;
 import org.glassfish.jersey.client.ChunkedInput;
 import org.glassfish.jersey.internal.PropertiesDelegate;
 import org.glassfish.jersey.internal.util.JerseyPublisher;
@@ -96,7 +96,7 @@
                 ChunkedInput<InboundEvent> input = SseEventPublisher.this;
                 try {
                     InboundSseEvent event;
-                    //  org.reactivestreams.Publisher<javax.ws.rs.sse.InboundSseEvent>
+                    //  org.reactivestreams.Publisher<jakarta.ws.rs.sse.InboundSseEvent>
                     if (typeArgument.equals(InboundSseEvent.class)) {
                         while ((event = input.read()) != null) {
                          this.publisher.publish(event);
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/SseMessageBodyReader.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/SseMessageBodyReader.java
index 6bf3fc3..02a973b 100644
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/SseMessageBodyReader.java
+++ b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/SseMessageBodyReader.java
@@ -21,17 +21,17 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 import java.util.concurrent.ExecutorService;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Providers;
 import org.glassfish.jersey.internal.PropertiesDelegate;
 import org.glassfish.jersey.media.sse.InboundEvent;
 import org.glassfish.jersey.message.MessageBodyWorkers;
diff --git a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/VersionSupport.java b/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/VersionSupport.java
deleted file mode 100644
index c3d8da0..0000000
--- a/ext/microprofile/mp-rest-client/src/main/java/org/glassfish/jersey/microprofile/restclient/VersionSupport.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.microprofile.restclient;
-
-import org.eclipse.microprofile.rest.client.RestClientBuilder;
-import org.glassfish.jersey.microprofile.restclient.internal.LocalizationMessages;
-import org.glassfish.jersey.internal.util.collection.LazyValue;
-import org.glassfish.jersey.internal.util.collection.Value;
-import org.glassfish.jersey.internal.util.collection.Values;
-
-import java.util.logging.Logger;
-
-/**
- * Backward compatibility support not to throw an exception when an old API is used.
- */
-abstract class VersionSupport {
-
-    protected abstract RestClientBuilder _followRedirects(RestClientBuilder restClientBuilder, boolean follow);
-    protected abstract RestClientBuilder _proxyAddress(RestClientBuilder restClientBuilder, String proxy);
-    protected abstract RestClientBuilder _queryParamStyle(RestClientBuilder restClientBuilder, String style);
-
-    private static final Logger logger = Logger.getLogger(VersionSupport.class.getName());
-
-    // determine the version only once per jvm
-    private static LazyValue<VersionSupport> currentVersion = Values.lazy((Value<VersionSupport>) () -> {
-        final Class<?> restClientBuilderClass = RestClientBuilder.class;
-        try {
-            if (null != restClientBuilderClass.getMethod("followRedirects", boolean.class)) {
-                return new Version20Support();
-            }
-        } catch (NoSuchMethodException e) {
-            // VERSION 1.4
-        }
-        return new Version14Support();
-    });
-
-    static RestClientBuilder followRedirects(RestClientBuilder restClientBuilder, boolean follow) {
-        return currentVersion.get()._followRedirects(restClientBuilder, follow);
-    }
-
-    static RestClientBuilder proxyAddress(RestClientBuilder restClientBuilder, String proxy) {
-        return currentVersion.get()._proxyAddress(restClientBuilder, proxy);
-    }
-
-    static RestClientBuilder queryParamStyle(RestClientBuilder restClientBuilder, String style) {
-        return currentVersion.get()._queryParamStyle(restClientBuilder, style);
-    }
-
-    private static class Version14Support extends VersionSupport {
-        protected RestClientBuilder _followRedirects(RestClientBuilder restClientBuilder, boolean follow) {
-            logger.warning(LocalizationMessages.WARN_VERSION_14_FOLLOWREDIRECT());
-            return restClientBuilder;
-        }
-
-        protected RestClientBuilder _proxyAddress(RestClientBuilder restClientBuilder, String proxy) {
-            logger.warning(LocalizationMessages.WARN_VERSION_14_PROXY());
-            return restClientBuilder;
-        }
-
-        protected RestClientBuilder _queryParamStyle(RestClientBuilder restClientBuilder, String style) {
-            logger.warning(LocalizationMessages.WARN_VERSION_14_QUERYPARAMSTYLE());
-            return restClientBuilder;
-        }
-    }
-
-    private static class Version20Support extends VersionSupport {
-        protected RestClientBuilder _followRedirects(RestClientBuilder restClientBuilder, boolean follow) {
-            return restClientBuilder.followRedirects(follow);
-        }
-
-        protected RestClientBuilder _proxyAddress(RestClientBuilder restClientBuilder, String proxy) {
-            int index = proxy.lastIndexOf(':');
-            //If : was not found at all or it is the last character of the proxy string
-            if (index < 0 || proxy.length() - 1 == index) {
-                throw new IllegalArgumentException(LocalizationMessages.ERR_INVALID_PROXY_URI(proxy));
-            }
-            String proxyHost = proxy.substring(0, index);
-            int proxyPort;
-            String proxyPortStr = proxy.substring(index + 1);
-            try {
-                proxyPort = Integer.parseInt(proxyPortStr);
-            } catch (NumberFormatException nfe) {
-                throw new IllegalArgumentException(LocalizationMessages.ERR_INVALID_PROXY_PORT(proxyPortStr), nfe);
-            }
-            return restClientBuilder.proxyAddress(proxyHost, proxyPort);
-        }
-
-        protected RestClientBuilder _queryParamStyle(RestClientBuilder restClientBuilder, String style) {
-            // do not import for compatibility with 1.4
-            org.eclipse.microprofile.rest.client.ext.QueryParamStyle queryParamStyle =
-                    org.eclipse.microprofile.rest.client.ext.QueryParamStyle.valueOf(style);
-            return restClientBuilder.queryParamStyle(queryParamStyle);
-        }
-    }
-}
diff --git a/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 89%
rename from ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
index bca39a9..f5da141 100644
--- a/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
+++ b/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/microprofile/mp-rest-client/src/main/resources/org/glassfish/jersey/microprofile/restclient/internal/localization.properties b/ext/microprofile/mp-rest-client/src/main/resources/org/glassfish/jersey/microprofile/restclient/internal/localization.properties
index 71f05e0..3afc639 100644
--- a/ext/microprofile/mp-rest-client/src/main/resources/org/glassfish/jersey/microprofile/restclient/internal/localization.properties
+++ b/ext/microprofile/mp-rest-client/src/main/resources/org/glassfish/jersey/microprofile/restclient/internal/localization.properties
@@ -16,7 +16,3 @@
 
 err.invalid.proxy.uri=Invalid proxy URI: {0}.
 err.invalid.proxy.port=Invalid proxy port: {0}.
-warn.version14.followredirect=MP Rest Client Version 1.4 does not support RestClientBuilder#followRedirect and it is ignored.
-warn.version14.proxy=MP Rest Client Version 1.4 does not support RestClientBuilder#proxy and it is ignored.
-warn.version14.queryparamstyle=MP Rest Client Version 1.4 does not support RestClientBuilder#queryParamStyle and it is ignored.
-
diff --git a/ext/microprofile/mp-rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterceptorInvocationContextTest.java b/ext/microprofile/mp-rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterceptorInvocationContextTest.java
index 68ae10a..9ac7451 100644
--- a/ext/microprofile/mp-rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterceptorInvocationContextTest.java
+++ b/ext/microprofile/mp-rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterceptorInvocationContextTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.microprofile.restclient;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import java.lang.reflect.Method;
 import java.util.Collections;
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtilTest.java b/ext/microprofile/mp-rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtilTest.java
similarity index 86%
rename from tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtilTest.java
rename to ext/microprofile/mp-rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtilTest.java
index fb40a45..c1e11e6 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtilTest.java
+++ b/ext/microprofile/mp-rest-client/src/test/java/org/glassfish/jersey/microprofile/restclient/InterfaceUtilTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,13 @@
 
 package org.glassfish.jersey.microprofile.restclient;
 
+
+import org.junit.jupiter.api.Test;
+
 import java.util.Arrays;
 
-import org.testng.annotations.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import static org.testng.Assert.assertEquals;
 
 public class InterfaceUtilTest {
 
diff --git a/ext/microprofile/pom.xml b/ext/microprofile/pom.xml
index 8ff7edd..bd69eaf 100644
--- a/ext/microprofile/pom.xml
+++ b/ext/microprofile/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.ext</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/ext/mvc-bean-validation/pom.xml b/ext/mvc-bean-validation/pom.xml
index f1bb289..852406b 100644
--- a/ext/mvc-bean-validation/pom.xml
+++ b/ext/mvc-bean-validation/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-mvc-bean-validation</artifactId>
@@ -60,8 +60,8 @@
             <version>${project.version}</version>
             <exclusions>
                 <exclusion>
-                    <groupId>javax.el</groupId>
-                    <artifactId>javax.el-api</artifactId>
+                    <groupId>jakarta.el</groupId>
+                    <artifactId>jakarta.el-api</artifactId>
                 </exclusion>
                 <exclusion>
                     <groupId>jakarta.el</groupId>
@@ -69,7 +69,7 @@
                 </exclusion>
                 <exclusion>
                     <groupId>org.glassfish</groupId>
-                    <artifactId>javax.el</artifactId>
+                    <artifactId>jakarta.el</artifactId>
                 </exclusion>
                 <exclusion>
                     <groupId>org.glassfish</groupId>
diff --git a/ext/mvc-bean-validation/src/main/java/org/glassfish/jersey/server/mvc/beanvalidation/MvcBeanValidationFeature.java b/ext/mvc-bean-validation/src/main/java/org/glassfish/jersey/server/mvc/beanvalidation/MvcBeanValidationFeature.java
index 9927536..6663bb0 100644
--- a/ext/mvc-bean-validation/src/main/java/org/glassfish/jersey/server/mvc/beanvalidation/MvcBeanValidationFeature.java
+++ b/ext/mvc-bean-validation/src/main/java/org/glassfish/jersey/server/mvc/beanvalidation/MvcBeanValidationFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.mvc.beanvalidation;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.server.mvc.MvcFeature;
 import org.glassfish.jersey.server.validation.ValidationFeature;
@@ -31,7 +31,7 @@
  * {@link org.glassfish.jersey.server.mvc.Viewable Viewable} (template) defined by
  * {@link org.glassfish.jersey.server.mvc.ErrorTemplate ErrorTemplate} annotation, present directly on an executed resource method
  * or on a resource class the resource method is defined in, is processed to display an error message caused by an
- * {@link javax.validation.ConstraintViolationException Bean Validation exception}. Model is, in this case, a list of
+ * {@link jakarta.validation.ConstraintViolationException Bean Validation exception}. Model is, in this case, a list of
  * {@link org.glassfish.jersey.server.validation.ValidationError validation errors}.
  * <p/>
  * Note: This feature also registers {@link MvcFeature}.
diff --git a/ext/mvc-bean-validation/src/main/java/org/glassfish/jersey/server/mvc/beanvalidation/ValidationErrorTemplateExceptionMapper.java b/ext/mvc-bean-validation/src/main/java/org/glassfish/jersey/server/mvc/beanvalidation/ValidationErrorTemplateExceptionMapper.java
index caba9cc..9b46cde 100644
--- a/ext/mvc-bean-validation/src/main/java/org/glassfish/jersey/server/mvc/beanvalidation/ValidationErrorTemplateExceptionMapper.java
+++ b/ext/mvc-bean-validation/src/main/java/org/glassfish/jersey/server/mvc/beanvalidation/ValidationErrorTemplateExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.mvc.beanvalidation;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.inject.Singleton;
-import javax.validation.ConstraintViolationException;
+import jakarta.inject.Singleton;
+import jakarta.validation.ConstraintViolationException;
 
 import org.glassfish.jersey.server.mvc.spi.AbstractErrorTemplateMapper;
 import org.glassfish.jersey.server.validation.internal.ValidationHelper;
diff --git a/ext/mvc-freemarker/pom.xml b/ext/mvc-freemarker/pom.xml
index 596da34..5bcdd4f 100644
--- a/ext/mvc-freemarker/pom.xml
+++ b/ext/mvc-freemarker/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-mvc-freemarker</artifactId>
@@ -56,6 +56,14 @@
     </build>
 
     <dependencies>
+
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
             <artifactId>jersey-mvc</artifactId>
diff --git a/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerDefaultConfigurationFactory.java b/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerDefaultConfigurationFactory.java
index 7ec7fed..75e736a 100644
--- a/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerDefaultConfigurationFactory.java
+++ b/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerDefaultConfigurationFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 import freemarker.cache.ClassTemplateLoader;
 import freemarker.cache.FileTemplateLoader;
@@ -52,7 +52,8 @@
         // Create different loaders.
         final List<TemplateLoader> loaders = new ArrayList<>();
         if (servletContext != null) {
-            loaders.add(new WebappTemplateLoader(servletContext));
+            //todo fix after jakartification
+            //loaders.add(new WebappTemplateLoader(servletContext));
         }
         loaders.add(new ClassTemplateLoader(FreemarkerDefaultConfigurationFactory.class, "/"));
         try {
diff --git a/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerMvcFeature.java b/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerMvcFeature.java
index 2dab451..7df82d9 100644
--- a/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerMvcFeature.java
+++ b/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerMvcFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.mvc.freemarker;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.server.mvc.MvcFeature;
 
@@ -47,7 +47,7 @@
      * </ul>
      * <p/>
      * Value can be absolute providing a full path to a system directory with templates or relative to current
-     * {@link javax.servlet.ServletContext servlet context}.
+     * {@link jakarta.servlet.ServletContext servlet context}.
      * <p/>
      * There is no default value.
      * <p/>
diff --git a/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerViewProcessor.java b/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerViewProcessor.java
index 37f2811..a3e3eae 100644
--- a/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerViewProcessor.java
+++ b/ext/mvc-freemarker/src/main/java/org/glassfish/jersey/server/mvc/freemarker/FreemarkerViewProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,11 +24,11 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Inject;
-import javax.servlet.ServletContext;
+import jakarta.inject.Inject;
+import jakarta.servlet.ServletContext;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.util.collection.Values;
@@ -52,14 +52,14 @@
     private final FreemarkerConfigurationFactory factory;
 
     /**
-     * Create an instance of this processor with injected {@link javax.ws.rs.core.Configuration config} and
-     * (optional) {@link javax.servlet.ServletContext servlet context}.
+     * Create an instance of this processor with injected {@link jakarta.ws.rs.core.Configuration config} and
+     * (optional) {@link jakarta.servlet.ServletContext servlet context}.
      *
      * @param config           config to configure this processor from.
      * @param injectionManager injection manager.
      */
     @Inject
-    public FreemarkerViewProcessor(javax.ws.rs.core.Configuration config, InjectionManager injectionManager) {
+    public FreemarkerViewProcessor(jakarta.ws.rs.core.Configuration config, InjectionManager injectionManager) {
         super(config, injectionManager.getInstance(ServletContext.class), "freemarker", "ftl");
 
         this.factory = getTemplateObjectFactory(injectionManager::createAndInitialize, FreemarkerConfigurationFactory.class,
diff --git a/ext/mvc-jsp/pom.xml b/ext/mvc-jsp/pom.xml
index 8b48acd..dceb4ef 100644
--- a/ext/mvc-jsp/pom.xml
+++ b/ext/mvc-jsp/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-mvc-jsp</artifactId>
@@ -53,8 +53,8 @@
                 <configuration>
                     <instructions>
                         <Import-Package>
-                            javax.servlet.jsp.*;version="[2.0,3.0)",
-                            javax.servlet.*;version="!",
+                            jakarta.servlet.jsp.*;version="[3.0,4.0)",
+                            jakarta.servlet.*;version="!",
                             *
                         </Import-Package>
                         <Export-Package>org.glassfish.jersey.server.mvc.jsp.*;version=${project.version}</Export-Package>
@@ -67,8 +67,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
@@ -84,7 +84,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/Include.java b/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/Include.java
index 90b6e1b..cdf2747 100644
--- a/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/Include.java
+++ b/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/Include.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,17 +19,17 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
-import javax.servlet.jsp.JspContext;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.jsp.JspContext;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 
 import org.glassfish.jersey.server.mvc.internal.TemplateHelper;
 import org.glassfish.jersey.server.mvc.jsp.internal.LocalizationMessages;
diff --git a/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/JspMvcFeature.java b/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/JspMvcFeature.java
index 3b70480..be05e68 100644
--- a/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/JspMvcFeature.java
+++ b/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/JspMvcFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.mvc.jsp;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.server.mvc.MvcFeature;
 
@@ -45,7 +45,7 @@
      * <li>{@link org.glassfish.jersey.server.mvc.ErrorTemplate ErrorTemplate}</li>
      * </ul>
      * <p/>
-     * Value can be absolute or relative to current {@link javax.servlet.ServletContext servlet context}.
+     * Value can be absolute or relative to current {@link jakarta.servlet.ServletContext servlet context}.
      * <p/>
      * There is no default value.
      * <p/>
diff --git a/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/JspTemplateProcessor.java b/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/JspTemplateProcessor.java
index 84187c9..17f4904 100644
--- a/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/JspTemplateProcessor.java
+++ b/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/JspTemplateProcessor.java
@@ -22,18 +22,19 @@
 import java.io.PrintWriter;
 import java.io.Reader;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
 
 import org.glassfish.jersey.internal.util.collection.Ref;
 import org.glassfish.jersey.message.internal.TracingLogger;
@@ -109,6 +110,15 @@
             public void write(final int b) throws IOException {
                 out.write(b);
             }
+
+            @Override
+            public boolean isReady() {
+                return true;
+            }
+
+            @Override
+            public void setWriteListener(WriteListener writeListener) {
+            }
         };
         final PrintWriter responseWriter = new PrintWriter(new OutputStreamWriter(responseStream, getEncoding()));
 
diff --git a/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/RequestDispatcherWrapper.java b/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/RequestDispatcherWrapper.java
index 761ba90..87ccccb 100644
--- a/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/RequestDispatcherWrapper.java
+++ b/ext/mvc-jsp/src/main/java/org/glassfish/jersey/server/mvc/jsp/RequestDispatcherWrapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
 
 import org.glassfish.jersey.server.mvc.spi.ResolvedViewable;
 
diff --git a/ext/mvc-mustache/pom.xml b/ext/mvc-mustache/pom.xml
index c3c5043..e918d84 100644
--- a/ext/mvc-mustache/pom.xml
+++ b/ext/mvc-mustache/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-mvc-mustache</artifactId>
@@ -66,12 +66,17 @@
             <groupId>com.github.spullara.mustache.java</groupId>
             <artifactId>compiler</artifactId>
             <version>${mustache.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.google.guava</groupId>
+                    <artifactId>guava</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
-
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>${guava.version}</version>
         </dependency>
     </dependencies>
 
diff --git a/ext/mvc-mustache/src/main/java/org/glassfish/jersey/server/mvc/mustache/MustacheMvcFeature.java b/ext/mvc-mustache/src/main/java/org/glassfish/jersey/server/mvc/mustache/MustacheMvcFeature.java
index 9677253..6b33cf9 100644
--- a/ext/mvc-mustache/src/main/java/org/glassfish/jersey/server/mvc/mustache/MustacheMvcFeature.java
+++ b/ext/mvc-mustache/src/main/java/org/glassfish/jersey/server/mvc/mustache/MustacheMvcFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.mvc.mustache;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.server.mvc.MvcFeature;
 
@@ -47,7 +47,7 @@
      * </ul>
      * <p/>
      * Value can be absolute providing a full path to a system directory with templates or relative to current
-     * {@link javax.servlet.ServletContext servlet context}.
+     * {@link jakarta.servlet.ServletContext servlet context}.
      * <p/>
      * There is no default value.
      * <p/>
diff --git a/ext/mvc-mustache/src/main/java/org/glassfish/jersey/server/mvc/mustache/MustacheTemplateProcessor.java b/ext/mvc-mustache/src/main/java/org/glassfish/jersey/server/mvc/mustache/MustacheTemplateProcessor.java
index a39c50b..fc08380 100644
--- a/ext/mvc-mustache/src/main/java/org/glassfish/jersey/server/mvc/mustache/MustacheTemplateProcessor.java
+++ b/ext/mvc-mustache/src/main/java/org/glassfish/jersey/server/mvc/mustache/MustacheTemplateProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,13 +22,13 @@
 import java.io.Reader;
 import java.nio.charset.Charset;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.servlet.ServletContext;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.servlet.ServletContext;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.server.mvc.Viewable;
diff --git a/ext/mvc/pom.xml b/ext/mvc/pom.xml
index 0d1aa26..58927c3 100644
--- a/ext/mvc/pom.xml
+++ b/ext/mvc/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-mvc</artifactId>
@@ -35,9 +35,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
         </dependency>
 
         <dependency>
@@ -67,7 +67,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.server.mvc.*;version=${project.version}</Export-Package>
-                        <Import-Package>${javax.annotation.osgi.version},*</Import-Package>
+                        <Import-Package>${jakarta.annotation.osgi.version},*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/MvcFeature.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/MvcFeature.java
index d83376c..ddc26de 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/MvcFeature.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/MvcFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.mvc;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.server.mvc.internal.ErrorTemplateExceptionMapper;
 import org.glassfish.jersey.server.mvc.internal.MvcBinder;
@@ -43,7 +43,7 @@
      * </ul>
      * <p/>
      * Value can be absolute providing a full path to a system directory with templates or relative to current
-     * {@link javax.servlet.ServletContext servlet context}.
+     * {@link jakarta.servlet.ServletContext servlet context}.
      * <p/>
      * There is no default value.
      * <p/>
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/Template.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/Template.java
index b0b5bfa..3dda4ad 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/Template.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/Template.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,12 +26,12 @@
  * Used to annotate JAX-RS resources and resource methods to provide reference to a template for MVC support.
  * <p/>
  * In case a resource class is annotated with {@link Template} annotation then an instance of this class is considered to be
- * the model. Producible {@link javax.ws.rs.core.MediaType media types} are determined from the resource classes
- * {@link javax.ws.rs.Produces} annotation.
+ * the model. Producible {@link jakarta.ws.rs.core.MediaType media types} are determined from the resource classes
+ * {@link jakarta.ws.rs.Produces} annotation.
  * <p/>
  * In case a resource method is annotated with {@link Template} annotation then the return value of the method is the model.
  * Otherwise the processing of such a method is the same as if the  return type of the method was {@link Viewable} class.
- * Producible {@link javax.ws.rs.core.MediaType media types} are determined from the method's {@link javax.ws.rs.Produces}
+ * Producible {@link jakarta.ws.rs.core.MediaType media types} are determined from the method's {@link jakarta.ws.rs.Produces}
  * annotation.
  * <p/>
  * To see how templates are being resolved, see {@link Viewable viewable}.
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/MvcBinder.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/MvcBinder.java
index 8203178..fcd0e53 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/MvcBinder.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/MvcBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.mvc.internal;
 
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.model.ModelProcessor;
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/ResolvingViewableContext.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/ResolvingViewableContext.java
index bfe4059..c3bf23a 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/ResolvingViewableContext.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/ResolvingViewableContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.mvc.internal;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.mvc.Viewable;
 import org.glassfish.jersey.server.mvc.spi.ResolvedViewable;
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateHelper.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateHelper.java
index 50190b0..4be0e26 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateHelper.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,9 +22,9 @@
 import java.util.List;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.internal.util.collection.Ref;
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateMethodInterceptor.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateMethodInterceptor.java
index 0fdfacb..2caf23f 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateMethodInterceptor.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateMethodInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.mvc.Template;
 import org.glassfish.jersey.server.mvc.Viewable;
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateModelProcessor.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateModelProcessor.java
index 8f96009..7787d7c 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateModelProcessor.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/TemplateModelProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,17 +20,17 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.Errors;
 import org.glassfish.jersey.internal.util.Producer;
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/ViewableMessageBodyWriter.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/ViewableMessageBodyWriter.java
index 0949838..8305f8d 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/ViewableMessageBodyWriter.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/internal/ViewableMessageBodyWriter.java
@@ -25,20 +25,20 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Providers;
@@ -51,7 +51,7 @@
 import org.glassfish.jersey.server.mvc.spi.ViewableContextException;
 
 /**
- * {@link javax.ws.rs.ext.MessageBodyWriter Message body writer} for {@link org.glassfish.jersey.server.mvc.Viewable viewable}
+ * {@link jakarta.ws.rs.ext.MessageBodyWriter Message body writer} for {@link org.glassfish.jersey.server.mvc.Viewable viewable}
  * entities.
  *
  * @author Paul Sandoz
@@ -65,11 +65,11 @@
     private InjectionManager injectionManager;
 
     @Context
-    private javax.inject.Provider<ExtendedUriInfo> extendedUriInfoProvider;
+    private jakarta.inject.Provider<ExtendedUriInfo> extendedUriInfoProvider;
     @Context
-    private javax.inject.Provider<ContainerRequest> requestProvider;
+    private jakarta.inject.Provider<ContainerRequest> requestProvider;
     @Context
-    private javax.inject.Provider<ResourceInfo> resourceInfoProvider;
+    private jakarta.inject.Provider<ResourceInfo> resourceInfoProvider;
 
     private static final Logger LOGGER = Logger.getLogger(ViewableMessageBodyWriter.class.getName());
 
@@ -152,7 +152,7 @@
     }
 
     /**
-     * Resolve given {@link org.glassfish.jersey.server.mvc.Viewable viewable} for a list of {@link javax.ws.rs.core.MediaType mediaTypes} and a {@link Class resolvingClass}
+     * Resolve given {@link org.glassfish.jersey.server.mvc.Viewable viewable} for a list of {@link jakarta.ws.rs.core.MediaType mediaTypes} and a {@link Class resolvingClass}
      * using given {@link org.glassfish.jersey.server.mvc.spi.ViewableContext viewableContext} and a set of {@link org.glassfish.jersey.server.mvc.spi.TemplateProcessor templateProcessors}
      *
      * @param viewable viewable to be resolved.
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/AbstractErrorTemplateMapper.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/AbstractErrorTemplateMapper.java
index c513445..91166fe 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/AbstractErrorTemplateMapper.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/AbstractErrorTemplateMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.mvc.spi;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ExtendedUriInfo;
 import org.glassfish.jersey.server.model.Invocable;
@@ -47,7 +47,7 @@
 public abstract class AbstractErrorTemplateMapper<T extends Throwable> implements ExtendedExceptionMapper<T> {
 
     @Inject
-    private javax.inject.Provider<ExtendedUriInfo> uriInfoProvider;
+    private jakarta.inject.Provider<ExtendedUriInfo> uriInfoProvider;
 
     @Override
     public final boolean isMappable(final T throwable) {
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/AbstractTemplateProcessor.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/AbstractTemplateProcessor.java
index 933b7fa..79dd79c 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/AbstractTemplateProcessor.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/AbstractTemplateProcessor.java
@@ -38,12 +38,12 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.internal.util.ReflectionHelper;
@@ -80,7 +80,7 @@
     private final Charset encoding;
 
     /**
-     * Create an instance of the processor with injected {@link javax.ws.rs.core.Configuration config} and
+     * Create an instance of the processor with injected {@link jakarta.ws.rs.core.Configuration config} and
      * (optional) {@link ServletContext servlet context}.
      *
      * @param config configuration to configure this processor from.
@@ -237,7 +237,7 @@
 
     /**
      * Retrieve a template object factory. The factory is, at first, looked for in
-     * {@link javax.ws.rs.core.Configuration configuration} and if not found, given default value is used.
+     * {@link jakarta.ws.rs.core.Configuration configuration} and if not found, given default value is used.
      *
      * @param createInstance function that delegates a creation and an initialization to injection manager.
      * @param type           type of requested template object factory.
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/ResolvedViewable.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/ResolvedViewable.java
index 069b822..91e1c64 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/ResolvedViewable.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/ResolvedViewable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.io.IOException;
 import java.io.OutputStream;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.server.mvc.Viewable;
 
@@ -81,8 +81,8 @@
      * Write the resolved viewable.
      * <p/>
      * This method defers to
-     * {@link TemplateProcessor#writeTo(Object, org.glassfish.jersey.server.mvc.Viewable, javax.ws.rs.core.MediaType,
-     * javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)}
+     * {@link TemplateProcessor#writeTo(Object, org.glassfish.jersey.server.mvc.Viewable, jakarta.ws.rs.core.MediaType,
+     * jakarta.ws.rs.core.MultivaluedMap, java.io.OutputStream)}
      * to write the viewable utilizing the template reference.
      *
      * @param out the output stream that the view processor writes to.
@@ -95,7 +95,7 @@
     /**
      * Get the media type for which the {@link TemplateProcessor view processor} resolved the template reference.
      *
-     * @return final {@link javax.ws.rs.core.MediaType media type} of the resolved viewable.
+     * @return final {@link jakarta.ws.rs.core.MediaType media type} of the resolved viewable.
      */
     public MediaType getMediaType() {
         return mediaType;
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/TemplateProcessor.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/TemplateProcessor.java
index 9d31792..55de896 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/TemplateProcessor.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/TemplateProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.OutputStream;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.server.mvc.Viewable;
 import org.glassfish.jersey.spi.Contract;
@@ -36,9 +36,9 @@
  * reference and media type, the results of which are written to an output stream.
  * <p/>
  * Implementations can register a view processor as a provider, for
- * example, annotating the implementation class with {@link javax.ws.rs.ext.Provider}
+ * example, annotating the implementation class with {@link jakarta.ws.rs.ext.Provider}
  * or registering an implementing class or instance as a singleton with
- * {@link org.glassfish.jersey.server.ResourceConfig} or {@link javax.ws.rs.core.Application}.
+ * {@link org.glassfish.jersey.server.ResourceConfig} or {@link jakarta.ws.rs.core.Application}.
  * <p/>
  * Such view processors could be JSP view processors (supported by the
  * Jersey servlet and filter implementations) or say Freemarker or Velocity
@@ -65,7 +65,7 @@
      * Process a template and write the result to an output stream.
      *
      * @param templateReference the template reference. This is obtained by calling the {@link #resolve(String,
-     * javax.ws.rs.core.MediaType)} method with a template name and media type.
+     * jakarta.ws.rs.core.MediaType)} method with a template name and media type.
      * @param viewable the viewable that contains the model to be passed to the template.
      * @param mediaType media type the {@code templateReference} should be transformed into.
      * @param httpHeaders http headers that will be send in the response. Headers can be modified to
diff --git a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/ViewableContext.java b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/ViewableContext.java
index a6fc2fb..965f339 100644
--- a/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/ViewableContext.java
+++ b/ext/mvc/src/main/java/org/glassfish/jersey/server/mvc/spi/ViewableContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.mvc.spi;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.mvc.Viewable;
 import org.glassfish.jersey.spi.Contract;
@@ -28,7 +28,7 @@
  * ResolvedViewable}.
  * <p/>
  * Note:
- * {@link ViewableContext#resolveViewable(org.glassfish.jersey.server.mvc.Viewable, javax.ws.rs.core.MediaType, Class, TemplateProcessor)}
+ * {@link ViewableContext#resolveViewable(org.glassfish.jersey.server.mvc.Viewable, jakarta.ws.rs.core.MediaType, Class, TemplateProcessor)}
  * method may be called multiple times (combination of all the calculated possible media types of the response with all found
  * {@link TemplateProcessor template processors}).
  *
@@ -40,7 +40,7 @@
 public interface ViewableContext {
 
     /**
-     * Resolve given {@link org.glassfish.jersey.server.mvc.Viewable viewable} using {@link javax.ws.rs.core.MediaType mediaType},
+     * Resolve given {@link org.glassfish.jersey.server.mvc.Viewable viewable} using {@link jakarta.ws.rs.core.MediaType mediaType},
      * {@code resourceClass} and {@link TemplateProcessor templateProcessor}.
      * <p/>
      * If the template name of the viewable is not absolute then the given {@code resourceClass} may be utilized to resolve
diff --git a/ext/pom.xml b/ext/pom.xml
index 52f3b10..b9047ae 100644
--- a/ext/pom.xml
+++ b/ext/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.ext</groupId>
@@ -52,9 +52,7 @@
         <module>mvc-mustache</module>
         <module>proxy-client</module>
         <module>rx</module>
-        <module>servlet-portability</module>
-        <module>spring4</module>
-        <module>spring5</module>
+        <module>spring6</module>
         <module>wadl-doclet</module>
         <module>microprofile</module>
     </modules>
diff --git a/ext/proxy-client/pom.xml b/ext/proxy-client/pom.xml
index 7ec81f4..03b9119 100644
--- a/ext/proxy-client/pom.xml
+++ b/ext/proxy-client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-proxy-client</artifactId>
@@ -67,21 +67,10 @@
             <type>pom</type>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
 </project>
diff --git a/ext/proxy-client/src/main/java/org/glassfish/jersey/client/proxy/RequestParameters.java b/ext/proxy-client/src/main/java/org/glassfish/jersey/client/proxy/RequestParameters.java
index e6e5918..6bca315 100644
--- a/ext/proxy-client/src/main/java/org/glassfish/jersey/client/proxy/RequestParameters.java
+++ b/ext/proxy-client/src/main/java/org/glassfish/jersey/client/proxy/RequestParameters.java
@@ -16,6 +16,19 @@
 
 package org.glassfish.jersey.client.proxy;
 
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+
 import java.beans.IntrospectionException;
 import java.beans.Introspector;
 import java.beans.PropertyDescriptor;
@@ -31,19 +44,6 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-
 /**
  * Collector to retrieve parameters for setting up the HTTP request sent in the invoke method of WebResourceFactory
  * The addParameter method takes a single annotated method parameter or annotated field or property of a BeanParam
@@ -60,7 +60,7 @@
             HeaderParam.class, CookieParam.class, MatrixParam.class, FormParam.class, BeanParam.class);
 
     RequestParameters(final WebTarget newTarget, final MultivaluedMap<String, Object> headers,
-                      final List<Cookie> cookies, final Form form) {
+                             final List<Cookie> cookies, final Form form) {
 
         this.headers = new MultivaluedHashMap<String, Object>(headers);
         this.cookies = new LinkedList<>(cookies);
diff --git a/ext/proxy-client/src/main/java/org/glassfish/jersey/client/proxy/WebResourceFactory.java b/ext/proxy-client/src/main/java/org/glassfish/jersey/client/proxy/WebResourceFactory.java
index bf5d69f..5d30929 100644
--- a/ext/proxy-client/src/main/java/org/glassfish/jersey/client/proxy/WebResourceFactory.java
+++ b/ext/proxy-client/src/main/java/org/glassfish/jersey/client/proxy/WebResourceFactory.java
@@ -18,11 +18,11 @@
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Proxy;
+import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Type;
+import java.lang.reflect.ParameterizedType;
 import java.security.AccessController;
 import java.util.Arrays;
 import java.util.Collections;
@@ -30,29 +30,29 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyBean.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyBean.java
index f22d457..9f5443c 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyBean.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyBean.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.client.proxy;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 public class MyBean {
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyBeanParam.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyBeanParam.java
index c5e6a74..b03a1d0 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyBeanParam.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyBeanParam.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.client.proxy;
 
-import java.util.List;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Cookie;
 
-import javax.ws.rs.FormParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Cookie;
+import java.util.List;
 
 /**
  * @author Richard Obersheimer
@@ -75,4 +75,4 @@
         this.queryParam2 = queryParam2;
     }
 
-}
\ No newline at end of file
+}
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyGetBeanParam.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyGetBeanParam.java
index 3598f7f..a6ccecf 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyGetBeanParam.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyGetBeanParam.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.client.proxy;
 
-import java.util.List;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Cookie;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Cookie;
+import java.util.List;
 
 /**
  * @author Richard Obersheimer
@@ -98,4 +98,4 @@
     public void setSubBeanParam(MySubBeanParam subBeanParam) {
         this.subBeanParam = subBeanParam;
     }
-}
\ No newline at end of file
+}
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResource.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResource.java
index f45bcd1..3e59235 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResource.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResource.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.client.proxy;
 
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+
 import java.util.List;
 import java.util.Set;
 import java.util.SortedSet;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-
 public class MyResource implements MyResourceIfc {
 
     @Context HttpHeaders headers;
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceIfc.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceIfc.java
index 167f04b..43263ad 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceIfc.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceIfc.java
@@ -20,21 +20,21 @@
 import java.util.Set;
 import java.util.SortedSet;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-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.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+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.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
 
 @Path("myresource")
 public interface MyResourceIfc {
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceWithBeanParam.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceWithBeanParam.java
index 0e198a9..1b49f50 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceWithBeanParam.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceWithBeanParam.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.client.proxy;
 
-import javax.ws.rs.BeanParam;
+import jakarta.ws.rs.BeanParam;
 
 /**
  * @author Richard Obersheimer
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceWithBeanParamIfc.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceWithBeanParamIfc.java
index ab6c4f4..5e73615 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceWithBeanParamIfc.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MyResourceWithBeanParamIfc.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.client.proxy;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Richard Obersheimer
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MySubBeanParam.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MySubBeanParam.java
index 092f6ce..1fcb322 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MySubBeanParam.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MySubBeanParam.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.client.proxy;
 
-import java.util.List;
+import jakarta.ws.rs.QueryParam;
 
-import javax.ws.rs.QueryParam;
+import java.util.List;
 
 /**
  * @author Richard Obersheimer
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MySubResourceIfc.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MySubResourceIfc.java
index 16a85bf..645217d 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MySubResourceIfc.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/MySubResourceIfc.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.client.proxy;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  *
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/RequestParametersTest.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/RequestParametersTest.java
index 271e745..2acbc30 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/RequestParametersTest.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/RequestParametersTest.java
@@ -16,7 +16,21 @@
 
 package org.glassfish.jersey.client.proxy;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import org.junit.jupiter.api.Test;
 
 import java.beans.IntrospectionException;
 import java.lang.annotation.Annotation;
@@ -28,22 +42,8 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.jupiter.api.Test;
 
 /**
  * @author Richard Obersheimer
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/WebResourceFactoryBeanParamTest.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/WebResourceFactoryBeanParamTest.java
index 3e10884..d9b361a 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/WebResourceFactoryBeanParamTest.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/WebResourceFactoryBeanParamTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2023 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.Arrays;
 import java.util.List;
 
-import javax.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.Cookie;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
@@ -42,8 +42,8 @@
         return new ResourceConfig(MyResourceWithBeanParam.class);
     }
 
-    @BeforeEach
     @Override
+    @BeforeEach
     public void setUp() throws Exception {
         super.setUp();
         resourceWithBeanParam = WebResourceFactory.newResource(MyResourceWithBeanParamIfc.class, target());
diff --git a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/WebResourceFactoryTest.java b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/WebResourceFactoryTest.java
index 0e8230e..e7d66d3 100644
--- a/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/WebResourceFactoryTest.java
+++ b/ext/proxy-client/src/test/java/org/glassfish/jersey/client/proxy/WebResourceFactoryTest.java
@@ -29,12 +29,12 @@
 import java.util.SortedSet;
 import java.util.TreeSet;
 
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/ext/rx/pom.xml b/ext/rx/pom.xml
index de2e87e..2e86422 100644
--- a/ext/rx/pom.xml
+++ b/ext/rx/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.ext.rx</groupId>
diff --git a/ext/rx/rx-client-guava/pom.xml b/ext/rx/rx-client-guava/pom.xml
index e3ded3b..5a147bc 100644
--- a/ext/rx/rx-client-guava/pom.xml
+++ b/ext/rx/rx-client-guava/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.rx</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-rx-client-guava</artifactId>
diff --git a/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/JerseyRxListenableFutureInvoker.java b/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/JerseyRxListenableFutureInvoker.java
index c103db6..08587a7 100644
--- a/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/JerseyRxListenableFutureInvoker.java
+++ b/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/JerseyRxListenableFutureInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.concurrent.ExecutorService;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.client.AbstractRxInvoker;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
diff --git a/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureInvoker.java b/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureInvoker.java
index d9b20c5..f6752d2 100644
--- a/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureInvoker.java
+++ b/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.client.rx.guava;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.RxInvoker;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.RxInvoker;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import com.google.common.util.concurrent.ListenableFuture;
 
diff --git a/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureInvokerProvider.java b/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureInvokerProvider.java
index 507c725..6f5382e 100644
--- a/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureInvokerProvider.java
+++ b/ext/rx/rx-client-guava/src/main/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureInvokerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.concurrent.ExecutorService;
 
-import javax.ws.rs.client.RxInvokerProvider;
-import javax.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.client.RxInvokerProvider;
+import jakarta.ws.rs.client.SyncInvoker;
 
 /**
  * Invoker provider for invokers based on Guava's {@code ListenableFuture}.
diff --git a/ext/rx/rx-client-guava/src/test/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureTest.java b/ext/rx/rx-client-guava/src/test/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureTest.java
index 9b27487..e12fa9a 100644
--- a/ext/rx/rx-client-guava/src/test/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureTest.java
+++ b/ext/rx/rx-client-guava/src/test/java/org/glassfish/jersey/client/rx/guava/RxListenableFutureTest.java
@@ -19,11 +19,11 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
@@ -80,21 +80,20 @@
 
             try {
                 client.target("http://jersey.java.net")
-                      .request()
-                      .header("Response-Status", 404)
-                      .rx(RxListenableFutureInvoker.class)
-                      .get(String.class)
-                      .get();
+                        .request()
+                        .header("Response-Status", 404)
+                        .rx(RxListenableFutureInvoker.class)
+                        .get(String.class)
+                        .get();
             } catch (final Exception expected) {
 
                 // java.util.concurrent.ExecutionException
                 throw expected
-                        // javax.ws.rs.NotFoundException
+                        // jakarta.ws.rs.NotFoundException
                         .getCause();
             }
         });
     }
-
     @Test
     public void testNotFoundReadEntityViaGenericType() throws Throwable {
         assertThrows(NotFoundException.class, () -> {
@@ -102,24 +101,23 @@
 
             try {
                 client.target("http://jersey.java.net")
-                      .request()
-                      .header("Response-Status", 404)
-                      .rx(RxListenableFutureInvoker.class)
-                      .get(new GenericType<String>() {
-                      })
-                      .get();
+                        .request()
+                        .header("Response-Status", 404)
+                        .rx(RxListenableFutureInvoker.class)
+                        .get(new GenericType<String>() {
+                        })
+                        .get();
             } catch (final Exception expected) {
 
                 expected.printStackTrace();
 
                 // java.util.concurrent.ExecutionException
                 throw expected
-                        // javax.ws.rs.NotFoundException
+                        // jakarta.ws.rs.NotFoundException
                         .getCause();
             }
         });
     }
-
     @Test
     public void testReadEntityViaClass() throws Throwable {
         client.register(RxListenableFutureInvokerProvider.class);
diff --git a/ext/rx/rx-client-guava/src/test/java/org/glassfish/jersey/client/rx/guava/TerminalClientRequestFilter.java b/ext/rx/rx-client-guava/src/test/java/org/glassfish/jersey/client/rx/guava/TerminalClientRequestFilter.java
index b1adaec..754d9c8 100644
--- a/ext/rx/rx-client-guava/src/test/java/org/glassfish/jersey/client/rx/guava/TerminalClientRequestFilter.java
+++ b/ext/rx/rx-client-guava/src/test/java/org/glassfish/jersey/client/rx/guava/TerminalClientRequestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,10 +20,10 @@
 import java.io.IOException;
 import java.util.List;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 /**
  * @author Michal Gajdos
diff --git a/ext/rx/rx-client-rxjava/pom.xml b/ext/rx/rx-client-rxjava/pom.xml
index 059bc0c..07d7fb1 100644
--- a/ext/rx/rx-client-rxjava/pom.xml
+++ b/ext/rx/rx-client-rxjava/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.rx</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-rx-client-rxjava</artifactId>
diff --git a/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/JerseyRxObservableInvoker.java b/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/JerseyRxObservableInvoker.java
index cfc2b80..dfd8f3b 100644
--- a/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/JerseyRxObservableInvoker.java
+++ b/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/JerseyRxObservableInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.concurrent.ExecutorService;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.client.AbstractRxInvoker;
 
diff --git a/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/RxObservableInvoker.java b/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/RxObservableInvoker.java
index 60d6243..b6549fb 100644
--- a/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/RxObservableInvoker.java
+++ b/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/RxObservableInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.client.rx.rxjava;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.RxInvoker;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.RxInvoker;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import rx.Observable;
 
diff --git a/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/RxObservableInvokerProvider.java b/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/RxObservableInvokerProvider.java
index 36dc299..365c603 100644
--- a/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/RxObservableInvokerProvider.java
+++ b/ext/rx/rx-client-rxjava/src/main/java/org/glassfish/jersey/client/rx/rxjava/RxObservableInvokerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.concurrent.ExecutorService;
 
-import javax.ws.rs.client.RxInvokerProvider;
-import javax.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.client.RxInvokerProvider;
+import jakarta.ws.rs.client.SyncInvoker;
 
 /**
  * Invoker provider for invokers based on RxJava's {@code Observable}.
diff --git a/ext/rx/rx-client-rxjava/src/test/java/org/glassfish/jersey/client/rx/rxjava/RxObservableTest.java b/ext/rx/rx-client-rxjava/src/test/java/org/glassfish/jersey/client/rx/rxjava/RxObservableTest.java
index 29fb0e5..1e2ec1c 100644
--- a/ext/rx/rx-client-rxjava/src/test/java/org/glassfish/jersey/client/rx/rxjava/RxObservableTest.java
+++ b/ext/rx/rx-client-rxjava/src/test/java/org/glassfish/jersey/client/rx/rxjava/RxObservableTest.java
@@ -21,11 +21,11 @@
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
@@ -107,9 +107,9 @@
             } catch (final Exception expected) {
                 // java.util.concurrent.ExecutionException
                 throw expected
-                        // javax.ws.rs.ProcessingException
+                        // jakarta.ws.rs.ProcessingException
                         // .getCause()
-                        // javax.ws.rs.NotFoundException
+                        // jakarta.ws.rs.NotFoundException
                         .getCause();
             }
         });
@@ -120,20 +120,21 @@
         assertThrows(NotFoundException.class, () -> {
             try {
                 client.target("http://jersey.java.net")
-                      .request()
-                      .header("Response-Status", 404)
-                      .rx(RxObservableInvoker.class)
-                      .get(new GenericType<String>() { })
-                      .toBlocking()
-                      .toFuture()
-                      .get();
+                        .request()
+                        .header("Response-Status", 404)
+                        .rx(RxObservableInvoker.class)
+                        .get(new GenericType<String>() {
+                        })
+                        .toBlocking()
+                        .toFuture()
+                        .get();
             } catch (final Exception expected) {
 
                 expected.printStackTrace();
 
                 // java.util.concurrent.ExecutionException
                 throw expected
-                        // javax.ws.rs.NotFoundException
+                        // jakarta.ws.rs.NotFoundException
                         .getCause();
             }
         });
diff --git a/ext/rx/rx-client-rxjava/src/test/java/org/glassfish/jersey/client/rx/rxjava/TerminalClientRequestFilter.java b/ext/rx/rx-client-rxjava/src/test/java/org/glassfish/jersey/client/rx/rxjava/TerminalClientRequestFilter.java
index 113961f..957242c 100644
--- a/ext/rx/rx-client-rxjava/src/test/java/org/glassfish/jersey/client/rx/rxjava/TerminalClientRequestFilter.java
+++ b/ext/rx/rx-client-rxjava/src/test/java/org/glassfish/jersey/client/rx/rxjava/TerminalClientRequestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,10 +20,10 @@
 import java.io.IOException;
 import java.util.List;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 /**
  * @author Michal Gajdos
diff --git a/ext/rx/rx-client-rxjava2/pom.xml b/ext/rx/rx-client-rxjava2/pom.xml
index b577c1e..2a98300 100644
--- a/ext/rx/rx-client-rxjava2/pom.xml
+++ b/ext/rx/rx-client-rxjava2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.ext.rx</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-rx-client-rxjava2</artifactId>
diff --git a/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/JerseyRxFlowableInvoker.java b/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/JerseyRxFlowableInvoker.java
index 0b891a3..8818879 100644
--- a/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/JerseyRxFlowableInvoker.java
+++ b/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/JerseyRxFlowableInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.concurrent.ExecutorService;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.client.AbstractRxInvoker;
 
diff --git a/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableInvoker.java b/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableInvoker.java
index b8e9cab..84a6c4b 100644
--- a/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableInvoker.java
+++ b/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableInvoker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.client.rx.rxjava2;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.RxInvoker;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.RxInvoker;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import io.reactivex.Flowable;
 
diff --git a/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableInvokerProvider.java b/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableInvokerProvider.java
index 76634ee..48f7f0c 100644
--- a/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableInvokerProvider.java
+++ b/ext/rx/rx-client-rxjava2/src/main/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableInvokerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.concurrent.ExecutorService;
 
-import javax.ws.rs.client.RxInvokerProvider;
-import javax.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.client.RxInvokerProvider;
+import jakarta.ws.rs.client.SyncInvoker;
 
 
 /**
diff --git a/ext/rx/rx-client-rxjava2/src/test/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableTest.java b/ext/rx/rx-client-rxjava2/src/test/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableTest.java
index 1a75324..1a0bf4e 100644
--- a/ext/rx/rx-client-rxjava2/src/test/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableTest.java
+++ b/ext/rx/rx-client-rxjava2/src/test/java/org/glassfish/jersey/client/rx/rxjava2/RxFlowableTest.java
@@ -21,11 +21,11 @@
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.process.JerseyProcessingUncaughtExceptionHandler;
diff --git a/ext/rx/rx-client-rxjava2/src/test/java/org/glassfish/jersey/client/rx/rxjava2/TerminalClientRequestFilter.java b/ext/rx/rx-client-rxjava2/src/test/java/org/glassfish/jersey/client/rx/rxjava2/TerminalClientRequestFilter.java
index c724a41..f316e5c 100644
--- a/ext/rx/rx-client-rxjava2/src/test/java/org/glassfish/jersey/client/rx/rxjava2/TerminalClientRequestFilter.java
+++ b/ext/rx/rx-client-rxjava2/src/test/java/org/glassfish/jersey/client/rx/rxjava2/TerminalClientRequestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,10 +20,10 @@
 import java.io.IOException;
 import java.util.List;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 /**
  * @author Michal Gajdos
diff --git a/ext/servlet-portability/pom.xml b/ext/servlet-portability/pom.xml
deleted file mode 100644
index baa80f8..0000000
--- a/ext/servlet-portability/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <artifactId>project</artifactId>
-        <groupId>org.glassfish.jersey.ext</groupId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>jersey-servlet-portability</artifactId>
-    <packaging>jar</packaging>
-    <name>jersey-ext-servlet-portability</name>
-
-    <description>
-        Library that enables writing web applications that run with both Jersey 1.x and Jersey 2.x servlet containers.
-    </description>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>com.sun.istack</groupId>
-                <artifactId>istack-commons-maven-plugin</artifactId>
-                <inherited>true</inherited>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <inherited>true</inherited>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>jakarta.ws.rs</groupId>
-            <artifactId>jakarta.ws.rs-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-servlet</artifactId>
-            <version>${jersey1.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-servlet-core</artifactId>
-            <version>${project.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/ext/servlet-portability/src/main/java/org/glassfish/jersey/servlet/portability/PortableServletContainer.java b/ext/servlet-portability/src/main/java/org/glassfish/jersey/servlet/portability/PortableServletContainer.java
deleted file mode 100644
index 206d494..0000000
--- a/ext/servlet-portability/src/main/java/org/glassfish/jersey/servlet/portability/PortableServletContainer.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.servlet.portability;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.Servlet;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-
-/**
- * Jersey Servlet/Filter class that can be referenced in web.xml instead of Jersey 1.x specific
- * {@code com.sun.jersey.spi.container.servlet.ServletContainer} and Jersey 2.x specific
- * {@link org.glassfish.jersey.servlet.ServletContainer} to enable web application portability between
- * Jersey 1.x and Jersey 2.x servlet containers.
- * <p>
- *     Since for some of the {@link org.glassfish.jersey.servlet.ServletProperties servlet init parameters} that can be
- *     specified in web.xml you may want different values depending on which version of Jersey container is present,
- *     You can prefix the init parameter name either with {@code jersey1#} or {@code jersey2#} to
- *     make it specific to a given version. For example, to specify different values for
- *     {@code javax.ws.rs.Application} init parameter depending on the version of Jersey used, you can include
- *     the following in your web.xml:
- *     <pre>
- *     &lt;servlet&gt;
- *         &lt;servlet-name&gt;Jersey Web Application&lt;/servlet-name&gt;
- *         &lt;servlet-class&gt;org.glassfish.jersey.servlet.portability.PortableServletContainer&lt;/servlet-class&gt;
- *         &lt;init-param&gt;
- *             &lt;param-name&gt;jersey1#javax.ws.rs.Application&lt;/param-name&gt;
- *             &lt;param-value&gt;myapp.jersey1specific.Jersey1Application&lt;/param-value&gt;
- *         &lt;/init-param&gt;
- *         &lt;init-param&gt;
- *             &lt;param-name&gt;jersey2#javax.ws.rs.Application&lt;/param-name&gt;
- *             &lt;param-value&gt;myapp.jersey2specific.Jersey2Application&lt;/param-value&gt;
- *         &lt;/init-param&gt;
- *     &lt;/servlet&gt;
- *     </pre>
- * </p>
- *
- * @author Martin Matula
- */
-public class PortableServletContainer implements Filter, Servlet {
-
-    private static final String JERSEY_1_PREFIX = "jersey1#";
-    private static final String JERSEY_2_PREFIX = "jersey2#";
-
-    private final Servlet wrappedServlet;
-    private final Filter wrappedFilter;
-    private final String includePrefix;
-    private final String excludePrefix;
-
-    /**
-     * Create a new servlet container.
-     */
-    @SuppressWarnings("unchecked")
-    public PortableServletContainer() {
-        Class<Servlet> servletClass;
-        boolean isJersey1 = false;
-        try {
-            servletClass = (Class<Servlet>) Class.forName("com.sun.jersey.spi.container.servlet.ServletContainer");
-            isJersey1 = true;
-        } catch (ClassNotFoundException e) {
-            // Jersey 1.x not present, try Jersey 2.x
-            try {
-                servletClass = (Class<Servlet>) Class.forName("org.glassfish.jersey.servlet.ServletContainer");
-            } catch (ClassNotFoundException ex) {
-                throw new IllegalStateException(LocalizationMessages.JERSEY_NOT_AVAILABLE());
-            }
-        }
-
-        try {
-            wrappedServlet = servletClass.newInstance();
-            wrappedFilter = (Filter) wrappedServlet;
-        } catch (Exception e) {
-            throw new RuntimeException(LocalizationMessages.JERSEY_CONTAINER_CANT_LOAD(), e);
-        }
-        includePrefix = isJersey1 ? JERSEY_1_PREFIX : JERSEY_2_PREFIX;
-        excludePrefix = isJersey1 ? JERSEY_2_PREFIX : JERSEY_1_PREFIX;
-    }
-
-    @Override
-    public void init(final FilterConfig filterConfig) throws ServletException {
-        wrappedFilter.init(new FilterConfigWrapper(filterConfig));
-    }
-
-    @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-            throws IOException, ServletException {
-        wrappedFilter.doFilter(request, response, chain);
-    }
-
-    @Override
-    public void init(ServletConfig config) throws ServletException {
-        wrappedServlet.init(new ServletConfigWrapper(config));
-    }
-
-    @Override
-    public ServletConfig getServletConfig() {
-        return wrappedServlet.getServletConfig();
-    }
-
-    @Override
-    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
-        wrappedServlet.service(req, res);
-    }
-
-    @Override
-    public String getServletInfo() {
-        return wrappedServlet.getServletInfo();
-    }
-
-    @Override
-    public void destroy() {
-        wrappedServlet.destroy();
-    }
-
-    private abstract class InitParamsWrapper {
-
-        private final HashMap<String, String> filteredInitParams = new HashMap<String, String>();
-
-        void init() {
-            for (Enumeration e = getInitParamNames(); e.hasMoreElements(); ) {
-                String name = (String) e.nextElement();
-                String value = getInitParamValue(name);
-                if (name.startsWith(includePrefix)) {
-                    name = name.substring(includePrefix.length());
-                } else if (name.startsWith(excludePrefix)) {
-                    continue;
-                }
-                filteredInitParams.put(name, value);
-            }
-        }
-
-        abstract String getInitParamValue(String name);
-
-        abstract Enumeration getInitParamNames();
-
-        public String getInitParameter(String name) {
-            return filteredInitParams.get(name);
-        }
-
-        public Enumeration getInitParameterNames() {
-            return Collections.enumeration(filteredInitParams.keySet());
-        }
-    }
-
-    private class FilterConfigWrapper extends InitParamsWrapper implements FilterConfig {
-
-        private final FilterConfig wrapped;
-
-        FilterConfigWrapper(FilterConfig wrapped) {
-            this.wrapped = wrapped;
-            init();
-        }
-
-        @Override
-        public String getFilterName() {
-            return wrapped.getFilterName();
-        }
-
-        @Override
-        public ServletContext getServletContext() {
-            return wrapped.getServletContext();
-        }
-
-        @Override
-        String getInitParamValue(String name) {
-            return wrapped.getInitParameter(name);
-        }
-
-        @Override
-        Enumeration getInitParamNames() {
-            return wrapped.getInitParameterNames();
-        }
-    }
-
-    private class ServletConfigWrapper extends InitParamsWrapper implements ServletConfig {
-
-        private final ServletConfig wrapped;
-
-        ServletConfigWrapper(ServletConfig wrapped) {
-            this.wrapped = wrapped;
-            init();
-        }
-
-        @Override
-        String getInitParamValue(String name) {
-            return wrapped.getInitParameter(name);
-        }
-
-        @Override
-        Enumeration getInitParamNames() {
-            return wrapped.getInitParameterNames();
-        }
-
-        @Override
-        public String getServletName() {
-            return wrapped.getServletName();
-        }
-
-        @Override
-        public ServletContext getServletContext() {
-            return wrapped.getServletContext();
-        }
-    }
-}
diff --git a/ext/servlet-portability/src/main/java/org/glassfish/jersey/servlet/portability/package-info.java b/ext/servlet-portability/src/main/java/org/glassfish/jersey/servlet/portability/package-info.java
deleted file mode 100644
index 2629627..0000000
--- a/ext/servlet-portability/src/main/java/org/glassfish/jersey/servlet/portability/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/**
- * Package containing utility classes enabling web applications to be portable between different versions of Jersey
- * runtime.
- */
-package org.glassfish.jersey.servlet.portability;
diff --git a/ext/servlet-portability/src/main/resources/org.glassfish.jersey.servlet.portability/localization.properties b/ext/servlet-portability/src/main/resources/org.glassfish.jersey.servlet.portability/localization.properties
deleted file mode 100644
index 03f03a4..0000000
--- a/ext/servlet-portability/src/main/resources/org.glassfish.jersey.servlet.portability/localization.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-jersey.container.cant.load=Unable to instantiate Jersey ServletContainer.
-jersey.not.available=No Jersey runtime found on the application classpath.
diff --git a/ext/spring3/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java b/ext/spring3/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
deleted file mode 100644
index e4d939a..0000000
--- a/ext/spring3/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.scope;
-
-import javax.ws.rs.container.ContainerRequestContext;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-/**
- * JAX-RS based Spring RequestAttributes implementation for Servlet-based applications.
- *
- * @author Marek Potociar
- */
-class JaxrsServletRequestAttributes extends ServletRequestAttributes {
-
-    private final ContainerRequestContext requestContext;
-
-    /**
-     * Create a new JAX-RS ServletRequestAttributes instance for the given request.
-     *
-     * @param request        current HTTP request
-     * @param requestContext JAX-RS request context
-     */
-    public JaxrsServletRequestAttributes(final HttpServletRequest request, final ContainerRequestContext requestContext) {
-        super(request);
-        this.requestContext = requestContext;
-    }
-
-    @Override
-    public Object resolveReference(String key) {
-        if (REFERENCE_REQUEST.equals(key)) {
-            return this.requestContext;
-        } else if (REFERENCE_SESSION.equals(key)) {
-            return super.getSession(true);
-        } else {
-            return null;
-        }
-    }
-}
diff --git a/ext/spring4/pom.xml b/ext/spring4/pom.xml
deleted file mode 100644
index 44f5c2c..0000000
--- a/ext/spring4/pom.xml
+++ /dev/null
@@ -1,220 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.glassfish.jersey.ext</groupId>
-        <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>jersey-spring4</artifactId>
-    <name>jersey-spring4</name>
-
-    <packaging>jar</packaging>
-
-    <description>
-        Jersey extension module providing support for Spring 4 integration.
-    </description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.jersey.core</groupId>
-            <artifactId>jersey-server</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.inject</groupId>
-            <artifactId>jersey-hk2</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-servlet-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>1.2</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.hk2</groupId>
-            <artifactId>hk2</artifactId>
-            <version>${hk2.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.hk2</groupId>
-            <artifactId>spring-bridge</artifactId>
-            <version>${hk2.version}</version>
-            <exclusions>
-                <exclusion>  <!-- already pulled in by jersey-server -->
-                    <groupId>javax.inject</groupId>
-                    <artifactId>javax.inject</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.glassfish.hk2</groupId>
-                    <artifactId>hk2-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-aop</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-context</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-beans</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-beans</artifactId>
-            <version>${spring4.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-core</artifactId>
-            <version>${spring4.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-            <version>${spring4.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aop</artifactId>
-            <version>${spring4.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework</groupId>
-            <artifactId>jersey-test-framework-core</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.aspectj</groupId>
-            <artifactId>aspectjrt</artifactId>
-            <version>1.6.11</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.aspectj</groupId>
-            <artifactId>aspectjweaver</artifactId>
-            <version>${aspectj.weaver.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>com.sun.istack</groupId>
-                <artifactId>istack-commons-maven-plugin</artifactId>
-                <inherited>true</inherited>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <inherited>true</inherited>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>delayed-strategy-skip-test</id>
-            <activation>
-                <property>
-                    <name>org.glassfish.jersey.injection.manager.strategy</name>
-                    <value>delayed</value>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <configuration>
-                            <skipTests>true</skipTests>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>ignore.on.jdk16</id>
-            <!-- Spring 4 does not support JDK 16 at the moment, and it is superseded by Spring 5.2-5.3 -->
-            <activation>
-                <jdk>[16,)</jdk>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <configuration>
-                            <skipTests>true</skipTests>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java b/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
deleted file mode 100644
index 36b8178..0000000
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Logger;
-
-import javax.inject.Singleton;
-
-import org.glassfish.jersey.internal.inject.Injectee;
-import org.glassfish.jersey.internal.inject.InjectionResolver;
-
-import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.config.DependencyDescriptor;
-import org.springframework.context.ApplicationContext;
-import org.springframework.core.MethodParameter;
-
-/**
- * HK2 injection resolver for Spring framework {@link Autowired} annotation injection.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- * @author Vetle Leinonen-Roeim (vetle at roeim.net)
- */
-@Singleton
-public class AutowiredInjectResolver implements InjectionResolver<Autowired> {
-
-    private static final Logger LOGGER = Logger.getLogger(AutowiredInjectResolver.class.getName());
-
-    private volatile ApplicationContext ctx;
-
-    /**
-     * Create a new instance.
-     *
-     * @param ctx Spring application context.
-     */
-    public AutowiredInjectResolver(ApplicationContext ctx) {
-        this.ctx = ctx;
-    }
-
-    @Override
-    public Object resolve(Injectee injectee) {
-        AnnotatedElement parent = injectee.getParent();
-        String beanName = null;
-        if (parent != null) {
-            Qualifier an = parent.getAnnotation(Qualifier.class);
-            if (an != null) {
-                beanName = an.value();
-            }
-        }
-        boolean required = parent != null ? parent.getAnnotation(Autowired.class).required() : false;
-        return getBeanFromSpringContext(beanName, injectee, required);
-    }
-
-    private Object getBeanFromSpringContext(String beanName, Injectee injectee, final boolean required) {
-        try {
-            DependencyDescriptor dependencyDescriptor = createSpringDependencyDescriptor(injectee);
-            Set<String> autowiredBeanNames = new HashSet<>(1);
-            autowiredBeanNames.add(beanName);
-            return ctx.getAutowireCapableBeanFactory().resolveDependency(dependencyDescriptor, null,
-                    autowiredBeanNames, null);
-        } catch (NoSuchBeanDefinitionException e) {
-            if (required) {
-                LOGGER.warning(e.getMessage());
-                throw e;
-            }
-            return null;
-        }
-    }
-
-    private DependencyDescriptor createSpringDependencyDescriptor(final Injectee injectee) {
-        AnnotatedElement annotatedElement = injectee.getParent();
-
-        if (annotatedElement.getClass().isAssignableFrom(Field.class)) {
-            return new DependencyDescriptor((Field) annotatedElement, !injectee.isOptional());
-        } else if (annotatedElement.getClass().isAssignableFrom(Method.class)) {
-            return new DependencyDescriptor(
-                    new MethodParameter((Method) annotatedElement, injectee.getPosition()), !injectee.isOptional());
-        } else {
-            return new DependencyDescriptor(
-                    new MethodParameter((Constructor) annotatedElement, injectee.getPosition()), !injectee.isOptional());
-        }
-    }
-
-    @Override
-    public boolean isConstructorParameterIndicator() {
-        return false;
-    }
-
-    @Override
-    public boolean isMethodParameterIndicator() {
-        return false;
-    }
-
-    @Override
-    public Class<Autowired> getAnnotation() {
-        return Autowired.class;
-    }
-}
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java b/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
deleted file mode 100644
index 70a57a5..0000000
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-import javax.ws.rs.ext.Provider;
-
-import javax.inject.Inject;
-
-import org.glassfish.jersey.server.spi.Container;
-import org.glassfish.jersey.server.spi.ContainerLifecycleListener;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ConfigurableApplicationContext;
-
-/**
- * JAX-RS Provider class for processing Jersey 2 Spring integration container life-cycle events.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-@Provider
-public class SpringLifecycleListener implements ContainerLifecycleListener {
-
-    @Inject
-    private ApplicationContext ctx;
-
-    @Override
-    public void onStartup(Container container) {
-    }
-
-    @Override
-    public void onReload(Container container) {
-        if (ctx instanceof ConfigurableApplicationContext) {
-            ((ConfigurableApplicationContext) ctx).refresh();
-        }
-    }
-
-    @Override
-    public void onShutdown(Container container) {
-        if (ctx instanceof ConfigurableApplicationContext) {
-            ((ConfigurableApplicationContext) ctx).close();
-        }
-    }
-}
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java b/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
deleted file mode 100644
index e4d939a..0000000
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.scope;
-
-import javax.ws.rs.container.ContainerRequestContext;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-/**
- * JAX-RS based Spring RequestAttributes implementation for Servlet-based applications.
- *
- * @author Marek Potociar
- */
-class JaxrsServletRequestAttributes extends ServletRequestAttributes {
-
-    private final ContainerRequestContext requestContext;
-
-    /**
-     * Create a new JAX-RS ServletRequestAttributes instance for the given request.
-     *
-     * @param request        current HTTP request
-     * @param requestContext JAX-RS request context
-     */
-    public JaxrsServletRequestAttributes(final HttpServletRequest request, final ContainerRequestContext requestContext) {
-        super(request);
-        this.requestContext = requestContext;
-    }
-
-    @Override
-    public Object resolveReference(String key) {
-        if (REFERENCE_REQUEST.equals(key)) {
-            return this.requestContext;
-        } else if (REFERENCE_SESSION.equals(key)) {
-            return super.getSession(true);
-        } else {
-            return null;
-        }
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
deleted file mode 100644
index 111361c..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-public class NoComponent {
-
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java
deleted file mode 100644
index 792d9b8..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-public interface TestComponent2 {
-    String result();
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java
deleted file mode 100644
index c8c61d0..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-import org.springframework.stereotype.Component;
-
-@Component
-public class TestComponent2Impl1 implements TestComponent2 {
-    @Override
-    public String result() {
-        return "test ok";
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java
deleted file mode 100644
index 4506c7e..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.aspect4j;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
-
-public class Aspect4jJerseyConfig extends ResourceConfig {
-
-    public Aspect4jJerseyConfig() {
-        register(RequestContextFilter.class);
-        register(NoComponentResource.class);
-        register(ComponentResource.class);
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java
deleted file mode 100644
index eaa3643..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.aspect4j;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-
-import org.glassfish.jersey.server.spring.TestComponent1;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-@Path("/")
-public class NoComponentResource {
-
-    @Autowired
-    private TestComponent1 testComponent1;
-
-    @Path("test1")
-    @GET
-    public String test1() {
-        return testComponent1.result();
-    }
-
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java
deleted file mode 100644
index 3a80614..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.aspect4j;
-
-import javax.inject.Singleton;
-
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
-
-@Aspect
-@Singleton
-public class TestAspect {
-
-    private int interceptions = 0;
-
-    @Before("execution(* org.glassfish.jersey.server.spring.aspect4j.*.*())")
-    public void intercept(JoinPoint joinPoint) {
-        interceptions++;
-    }
-
-    public int getInterceptions() {
-        return interceptions;
-    }
-
-    public void reset() {
-        interceptions = 0;
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java
deleted file mode 100644
index df30805..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.fieldinjection;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
-
-public class SpringFieldInjectionJerseyTestConfig extends ResourceConfig {
-    public SpringFieldInjectionJerseyTestConfig() {
-        register(RequestContextFilter.class);
-        register(SpringFieldInjectionTestResource.class);
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java
deleted file mode 100644
index 28de237..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.filter;
-
-import org.springframework.stereotype.Component;
-
-@Component
-public class Counter {
-
-    private int count = 0;
-
-    public void inc() {
-        count++;
-    }
-
-    public int getCount() {
-        return count;
-    }
-
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java
deleted file mode 100644
index 5a9d3b7..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.methodinjection;
-
-import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
-import org.glassfish.jersey.server.ResourceConfig;
-
-public class SpringMethodInjectionJerseyTestConfig extends ResourceConfig {
-    public SpringMethodInjectionJerseyTestConfig() {
-        register(RequestContextFilter.class);
-        register(SpringMethodInjectionTestResource.class);
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java
deleted file mode 100644
index aefb0d1..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.parameterinjection;
-
-import org.glassfish.jersey.server.spring.TestComponent1;
-import org.glassfish.jersey.server.spring.TestComponent2;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-@Path("/")
-public class SpringParameterInjectionTestResource {
-
-    private final TestComponent1 testComponent1;
-    private final List<TestComponent2> testComponent2List;
-    private final Set<TestComponent2> testComponent2Set;
-
-    @Autowired
-    public SpringParameterInjectionTestResource(final TestComponent1 testComponent1,
-                                                final List<TestComponent2> testComponent2List,
-                                                final Set<TestComponent2> testComponent2Set) {
-        this.testComponent1 = testComponent1;
-        this.testComponent2List = testComponent2List;
-        this.testComponent2Set = testComponent2Set;
-    }
-
-    @Path("test1")
-    @GET
-    public String test1() {
-        return testComponent1.result();
-    }
-
-    @Path("test2")
-    @GET
-    public String test2() {
-        return (testComponent2List.size() == 2 && "test ok".equals(testComponent2List.get(0).result())
-                && "test ok".equals(testComponent2List.get(1).result())) ? "test ok" : "test failed";
-    }
-
-    @Path("test3")
-    @GET
-    public String test3() {
-        Iterator<TestComponent2> iterator = testComponent2Set.iterator();
-        return (testComponent2Set.size() == 2 && "test ok".equals(iterator.next().result())
-                && "test ok".equals(iterator.next().result())) ? "test ok" : "test failed";
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java
deleted file mode 100644
index 040d053..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.profiles;
-
-import org.springframework.stereotype.Component;
-
-@Component
-public class DefaultTestService implements TestService {
-
-    @Override
-    public String test() {
-        return "default";
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java
deleted file mode 100644
index dc3c995..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.profiles;
-
-import org.springframework.context.annotation.Primary;
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Component;
-
-@Component
-@Primary
-@Profile("dev")
-public class DevTestService implements TestService {
-
-    @Override
-    public String test() {
-        return "dev";
-    }
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java
deleted file mode 100644
index 11f8bf7..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.profiles;
-
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-
-@Singleton
-@Path("spring-resource")
-@Service
-public class SpringRequestResource {
-
-    @Autowired
-    private TestService testService;
-
-    @GET
-    @Produces(MediaType.TEXT_PLAIN)
-    public String getGoodbye() {
-        return testService.test();
-    }
-
-}
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java b/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java
deleted file mode 100644
index 045d3e2..0000000
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.profiles;
-
-public interface TestService {
-
-    String test();
-}
diff --git a/ext/spring4/src/test/resources/jersey-spring-aspect4j-applicationContext.xml b/ext/spring4/src/test/resources/jersey-spring-aspect4j-applicationContext.xml
deleted file mode 100644
index c80c155..0000000
--- a/ext/spring4/src/test/resources/jersey-spring-aspect4j-applicationContext.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
-    http://www.springframework.org/schema/aop
-    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
-
-    <aop:aspectj-autoproxy/>
-
-    <context:component-scan base-package="org.glassfish.jersey.server.spring"/>
-
-    <bean id="someAspect" class="org.glassfish.jersey.server.spring.aspect4j.TestAspect"/>
-</beans>
diff --git a/ext/spring5/pom.xml b/ext/spring5/pom.xml
deleted file mode 100644
index 4cdd782..0000000
--- a/ext/spring5/pom.xml
+++ /dev/null
@@ -1,206 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.glassfish.jersey.ext</groupId>
-        <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>jersey-spring5</artifactId>
-    <name>jersey-spring5</name>
-
-    <packaging>jar</packaging>
-
-    <description>
-        Jersey extension module providing support for Spring 5 integration.
-    </description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.jersey.core</groupId>
-            <artifactId>jersey-server</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.inject</groupId>
-            <artifactId>jersey-hk2</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-servlet-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>1.2</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.hk2</groupId>
-            <artifactId>hk2</artifactId>
-            <version>${hk2.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.hk2</groupId>
-            <artifactId>spring-bridge</artifactId>
-            <version>${hk2.version}</version>
-            <exclusions>
-                <exclusion>  <!-- already pulled in by jersey-server -->
-                    <groupId>javax.inject</groupId>
-                    <artifactId>javax.inject</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.glassfish.hk2</groupId>
-                    <artifactId>hk2-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework</groupId>
-                    <artifactId>spring-context</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-beans</artifactId>
-            <version>${spring5.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-core</artifactId>
-            <version>${spring5.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context</artifactId>
-            <version>${spring5.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-            <version>${spring5.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aop</artifactId>
-            <version>${spring5.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework</groupId>
-            <artifactId>jersey-test-framework-core</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.aspectj</groupId>
-            <artifactId>aspectjrt</artifactId>
-            <version>1.6.11</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.aspectj</groupId>
-            <artifactId>aspectjweaver</artifactId>
-            <version>${aspectj.weaver.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>com.sun.istack</groupId>
-                <artifactId>istack-commons-maven-plugin</artifactId>
-                <inherited>true</inherited>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <inherited>true</inherited>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>delayed-strategy-skip-test</id>
-            <activation>
-                <property>
-                    <name>org.glassfish.jersey.injection.manager.strategy</name>
-                    <value>delayed</value>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <configuration>
-                            <skipTests>true</skipTests>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringComponentProvider.java b/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringComponentProvider.java
deleted file mode 100644
index d7f2f92..0000000
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringComponentProvider.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-import java.util.Set;
-import java.util.function.Supplier;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.servlet.ServletContext;
-
-import org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager;
-import org.glassfish.jersey.internal.inject.Binding;
-import org.glassfish.jersey.internal.inject.Bindings;
-import org.glassfish.jersey.internal.inject.InjectionManager;
-import org.glassfish.jersey.server.ApplicationHandler;
-import org.glassfish.jersey.server.spi.ComponentProvider;
-
-import org.jvnet.hk2.spring.bridge.api.SpringBridge;
-import org.jvnet.hk2.spring.bridge.api.SpringIntoHK2Bridge;
-
-import org.springframework.aop.framework.Advised;
-import org.springframework.beans.factory.BeanFactoryUtils;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.stereotype.Component;
-import org.springframework.web.context.support.WebApplicationContextUtils;
-
-/**
- * Custom ComponentProvider class.
- * Responsible for 1) bootstrapping Jersey 2 Spring integration and
- * 2) making Jersey skip JAX-RS Spring component life-cycle management and leave it to us.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class SpringComponentProvider implements ComponentProvider {
-
-    private static final Logger LOGGER = Logger.getLogger(SpringComponentProvider.class.getName());
-    private static final String DEFAULT_CONTEXT_CONFIG_LOCATION = "applicationContext.xml";
-    private static final String PARAM_CONTEXT_CONFIG_LOCATION = "contextConfigLocation";
-    private static final String PARAM_SPRING_CONTEXT = "contextConfig";
-
-    private volatile InjectionManager injectionManager;
-    private volatile ApplicationContext ctx;
-
-    @Override
-    public void initialize(InjectionManager injectionManager) {
-        this.injectionManager = injectionManager;
-
-        if (LOGGER.isLoggable(Level.FINE)) {
-            LOGGER.fine(LocalizationMessages.CTX_LOOKUP_STARTED());
-        }
-
-        ServletContext sc = injectionManager.getInstance(ServletContext.class);
-
-        if (sc != null) {
-            // servlet container
-            ctx = WebApplicationContextUtils.getWebApplicationContext(sc);
-        } else {
-            // non-servlet container
-            ctx = createSpringContext();
-        }
-        if (ctx == null) {
-            LOGGER.severe(LocalizationMessages.CTX_LOOKUP_FAILED());
-            return;
-        }
-        LOGGER.config(LocalizationMessages.CTX_LOOKUP_SUCESSFUL());
-
-        // initialize HK2 spring-bridge
-
-        ImmediateHk2InjectionManager hk2InjectionManager = (ImmediateHk2InjectionManager) injectionManager;
-        SpringBridge.getSpringBridge().initializeSpringBridge(hk2InjectionManager.getServiceLocator());
-        SpringIntoHK2Bridge springBridge = injectionManager.getInstance(SpringIntoHK2Bridge.class);
-        springBridge.bridgeSpringBeanFactory(ctx);
-
-        injectionManager.register(Bindings.injectionResolver(new AutowiredInjectResolver(ctx)));
-        injectionManager.register(Bindings.service(ctx).to(ApplicationContext.class).named("SpringContext"));
-        LOGGER.config(LocalizationMessages.SPRING_COMPONENT_PROVIDER_INITIALIZED());
-    }
-
-    // detect JAX-RS classes that are also Spring @Components.
-    // register these with HK2 ServiceLocator to manage their lifecycle using Spring.
-    @Override
-    public boolean bind(Class<?> component, Set<Class<?>> providerContracts) {
-
-        if (ctx == null) {
-            return false;
-        }
-
-        if (AnnotationUtils.findAnnotation(component, Component.class) != null) {
-            String[] beanNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(ctx, component);
-            if (beanNames == null || beanNames.length != 1) {
-                LOGGER.severe(LocalizationMessages.NONE_OR_MULTIPLE_BEANS_AVAILABLE(component));
-                return false;
-            }
-            String beanName = beanNames[0];
-
-            Binding binding = Bindings.supplier(new SpringManagedBeanFactory(ctx, injectionManager, beanName))
-                    .to(component)
-                    .to(providerContracts);
-            injectionManager.register(binding);
-
-            LOGGER.config(LocalizationMessages.BEAN_REGISTERED(beanNames[0]));
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public void done() {
-    }
-
-    private ApplicationContext createSpringContext() {
-        ApplicationHandler applicationHandler = injectionManager.getInstance(ApplicationHandler.class);
-        ApplicationContext springContext = (ApplicationContext) applicationHandler.getConfiguration()
-                .getProperty(PARAM_SPRING_CONTEXT);
-        if (springContext == null) {
-            String contextConfigLocation = (String) applicationHandler.getConfiguration()
-                    .getProperty(PARAM_CONTEXT_CONFIG_LOCATION);
-            springContext = createXmlSpringConfiguration(contextConfigLocation);
-        }
-        return springContext;
-    }
-
-    private ApplicationContext createXmlSpringConfiguration(String contextConfigLocation) {
-        if (contextConfigLocation == null) {
-            contextConfigLocation = DEFAULT_CONTEXT_CONFIG_LOCATION;
-        }
-        return ctx = new ClassPathXmlApplicationContext(contextConfigLocation, "jersey-spring-applicationContext.xml");
-    }
-
-    private static class SpringManagedBeanFactory implements Supplier {
-
-        private final ApplicationContext ctx;
-        private final InjectionManager injectionManager;
-        private final String beanName;
-
-        private SpringManagedBeanFactory(ApplicationContext ctx, InjectionManager injectionManager, String beanName) {
-            this.ctx = ctx;
-            this.injectionManager = injectionManager;
-            this.beanName = beanName;
-        }
-
-        @Override
-        public Object get() {
-            Object bean = ctx.getBean(beanName);
-            if (bean instanceof Advised) {
-                try {
-                    // Unwrap the bean and inject the values inside of it
-                    Object localBean = ((Advised) bean).getTargetSource().getTarget();
-                    injectionManager.inject(localBean);
-                } catch (Exception e) {
-                    // Ignore and let the injection happen as it normally would.
-                    injectionManager.inject(bean);
-                }
-            } else {
-                injectionManager.inject(bean);
-            }
-            return bean;
-        }
-    }
-}
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java b/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java
deleted file mode 100644
index 1b18f84..0000000
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-import java.util.logging.Logger;
-
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-
-import org.springframework.web.WebApplicationInitializer;
-
-/**
- * Spring WebApplicationInitializer implementation initializes Spring context by
- * adding a Spring ContextLoaderListener to the ServletContext.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class SpringWebApplicationInitializer implements WebApplicationInitializer {
-
-    private static final Logger LOGGER = Logger.getLogger(SpringWebApplicationInitializer.class.getName());
-
-    private static final String PAR_NAME_CTX_CONFIG_LOCATION = "contextConfigLocation";
-
-    @Override
-    public void onStartup(ServletContext sc) throws ServletException {
-        if (sc.getInitParameter(PAR_NAME_CTX_CONFIG_LOCATION) == null) {
-            LOGGER.config(LocalizationMessages.REGISTERING_CTX_LOADER_LISTENER());
-            sc.setInitParameter(PAR_NAME_CTX_CONFIG_LOCATION, "classpath:applicationContext.xml");
-            sc.addListener("org.springframework.web.context.ContextLoaderListener");
-            sc.addListener("org.springframework.web.context.request.RequestContextListener");
-        } else {
-            LOGGER.config(LocalizationMessages.SKIPPING_CTX_LODAER_LISTENER_REGISTRATION());
-        }
-    }
-}
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/package-info.java b/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/package-info.java
deleted file mode 100644
index 6e7b71a..0000000
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/**
- * Jersey server-side Spring 5 integration classes.
- * @since 2.29
- */
-package org.glassfish.jersey.server.spring;
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java b/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java
deleted file mode 100644
index 9b73eea..0000000
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.scope;
-
-import javax.ws.rs.container.ContainerRequestContext;
-
-import org.glassfish.jersey.server.spring.LocalizationMessages;
-import org.springframework.util.StringUtils;
-import org.springframework.web.context.request.AbstractRequestAttributes;
-
-/**
- * JAX-RS based Spring RequestAttributes implementation.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- * @author Marek Potociar
- */
-class JaxrsRequestAttributes extends AbstractRequestAttributes {
-
-    private final ContainerRequestContext requestContext;
-
-    /**
-     * Create a new instance.
-     *
-     * @param requestContext JAX-RS container request context
-     */
-    public JaxrsRequestAttributes(ContainerRequestContext requestContext) {
-        this.requestContext = requestContext;
-    }
-
-    @Override
-    protected void updateAccessedSessionAttributes() {
-        // sessions not supported
-    }
-
-    @Override
-    public Object getAttribute(String name, int scope) {
-        return requestContext.getProperty(name);
-    }
-
-    @Override
-    public void setAttribute(String name, Object value, int scope) {
-        requestContext.setProperty(name, value);
-    }
-
-    @Override
-    public void removeAttribute(String name, int scope) {
-        requestContext.removeProperty(name);
-    }
-
-    @Override
-    public String[] getAttributeNames(int scope) {
-        if (!isRequestActive()) {
-            throw new IllegalStateException(LocalizationMessages.NOT_IN_REQUEST_SCOPE());
-        }
-        return StringUtils.toStringArray(requestContext.getPropertyNames());
-    }
-
-    @Override
-    public void registerDestructionCallback(String name, Runnable callback, int scope) {
-        registerRequestDestructionCallback(name, callback);
-    }
-
-    @Override
-    public Object resolveReference(String key) {
-        if (REFERENCE_REQUEST.equals(key)) {
-            return requestContext;
-        }
-        return null;
-    }
-
-    @Override
-    public String getSessionId() {
-        return null;
-    }
-
-    @Override
-    public Object getSessionMutex() {
-        return null;
-    }
-}
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java b/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
deleted file mode 100644
index 5ad00d6..0000000
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.scope;
-
-import java.io.IOException;
-
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.ext.Provider;
-
-import javax.inject.Inject;
-import javax.servlet.http.HttpServletRequest;
-
-import org.glassfish.jersey.internal.inject.InjectionManager;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.request.AbstractRequestAttributes;
-import org.springframework.web.context.request.RequestAttributes;
-import org.springframework.web.context.request.RequestContextHolder;
-
-/**
- * Spring filter to provide a bridge between JAX-RS and Spring request attributes.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- * @author Jakub Podlesak
- * @author Marek Potociar
- */
-@Provider
-@PreMatching
-public final class RequestContextFilter implements ContainerRequestFilter, ContainerResponseFilter {
-
-    private static final String REQUEST_ATTRIBUTES_PROPERTY = RequestContextFilter.class.getName() + ".REQUEST_ATTRIBUTES";
-
-    private final SpringAttributeController attributeController;
-
-    private static final SpringAttributeController EMPTY_ATTRIBUTE_CONTROLLER = new SpringAttributeController() {
-        @Override
-        public void setAttributes(final ContainerRequestContext requestContext) {
-        }
-
-        @Override
-        public void resetAttributes(final ContainerRequestContext requestContext) {
-        }
-    };
-
-    private interface SpringAttributeController {
-
-        void setAttributes(final ContainerRequestContext requestContext);
-
-        void resetAttributes(final ContainerRequestContext requestContext);
-    }
-
-    /**
-     * Create a new request context filter instance.
-     *
-     * @param injectionManager injection manager.
-     */
-    @Inject
-    public RequestContextFilter(final InjectionManager injectionManager) {
-        final ApplicationContext appCtx = injectionManager.getInstance(ApplicationContext.class);
-        final boolean isWebApp = appCtx instanceof WebApplicationContext;
-
-        attributeController = appCtx != null ? new SpringAttributeController() {
-
-            @Override
-            public void setAttributes(final ContainerRequestContext requestContext) {
-                final RequestAttributes attributes;
-                if (isWebApp) {
-                    final HttpServletRequest httpRequest = injectionManager.getInstance(HttpServletRequest.class);
-                    attributes = new JaxrsServletRequestAttributes(httpRequest, requestContext);
-                } else {
-                    attributes = new JaxrsRequestAttributes(requestContext);
-                }
-                requestContext.setProperty(REQUEST_ATTRIBUTES_PROPERTY, attributes);
-                RequestContextHolder.setRequestAttributes(attributes);
-            }
-
-            @Override
-            public void resetAttributes(final ContainerRequestContext requestContext) {
-                final AbstractRequestAttributes attributes =
-                        (AbstractRequestAttributes) requestContext.getProperty(REQUEST_ATTRIBUTES_PROPERTY);
-                RequestContextHolder.resetRequestAttributes();
-                attributes.requestCompleted();
-            }
-        } : EMPTY_ATTRIBUTE_CONTROLLER;
-    }
-
-    @Override
-    public void filter(final ContainerRequestContext requestContext) throws IOException {
-        attributeController.setAttributes(requestContext);
-    }
-
-    @Override
-    public void filter(final ContainerRequestContext requestContext, final ContainerResponseContext responseContext)
-            throws IOException {
-        attributeController.resetAttributes(requestContext);
-    }
-}
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java b/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java
deleted file mode 100644
index 49985aa..0000000
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/**
- * Jersey server-side Spring 5 integration injection scopes related classes.
- * @since 2.29
- */
-package org.glassfish.jersey.server.spring.scope;
diff --git a/ext/spring5/src/main/resources/META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider b/ext/spring5/src/main/resources/META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider
deleted file mode 100644
index 5aec207..0000000
--- a/ext/spring5/src/main/resources/META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider
+++ /dev/null
@@ -1 +0,0 @@
-org.glassfish.jersey.server.spring.SpringComponentProvider
diff --git a/ext/spring5/src/main/resources/jersey-spring-applicationContext.xml b/ext/spring5/src/main/resources/jersey-spring-applicationContext.xml
deleted file mode 100644
index fd6f528..0000000
--- a/ext/spring5/src/main/resources/jersey-spring-applicationContext.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
-
-    <bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
-        <property name="scopes">
-            <map>
-                <entry key="request">
-                    <bean class="org.springframework.web.context.request.RequestScope"/>
-                </entry>
-            </map>
-        </property>
-    </bean>
-</beans>
diff --git a/ext/spring5/src/main/resources/org/glassfish/jersey/server/spring/localization.properties b/ext/spring5/src/main/resources/org/glassfish/jersey/server/spring/localization.properties
deleted file mode 100644
index 83f9220..0000000
--- a/ext/spring5/src/main/resources/org/glassfish/jersey/server/spring/localization.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-no.beans.found.for.type=No beans found. Resolution failed for type {0}.
-ctx.lookup.started=Spring context lookup started.
-ctx.lookup.failed=Spring context lookup failed, skipping spring component provider initialization.
-ctx.lookup.sucessful=Spring context lookup done.
-spring.component.provider.initialized=Spring component provider initialized.
-none.or.multiple.beans.available=None or multiple beans found in Spring context for type {0}, skipping the type.
-bean.registered=Spring managed bean, {0}, registered with HK2.
-registering.ctx.loader.listener=Registering Spring ContextLoaderListener
-skipping.ctx.lodaer.listener.registration=Presuming Spring ContextLoaderListener was manually registered. Skipping context loader registration.
-not.in.request.scope=Cannot ask for request attributes - request is not active anymore!
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java
deleted file mode 100644
index ec32676..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-@ComponentScan(basePackages = "org.glassfish.jersey.server.spring")
-public class SpringTestConfiguration {
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java
deleted file mode 100644
index d8d29a3..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-import org.springframework.stereotype.Component;
-
-@Component
-public class TestComponent1 {
-
-    public String result() {
-        return "test ok";
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java
deleted file mode 100644
index a4f33f6..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring;
-
-import org.springframework.stereotype.Component;
-
-@Component
-public class TestComponent2Impl2 implements TestComponent2 {
-    @Override
-    public String result() {
-        return "test ok";
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java
deleted file mode 100644
index 246763d..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.aspect4j;
-
-import javax.ws.rs.core.Application;
-
-import org.glassfish.jersey.test.JerseyTest;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class Aspect4JTest extends JerseyTest {
-
-    private ClassPathXmlApplicationContext applicationContext;
-
-    private TestAspect testAspect;
-
-    @BeforeEach
-    public void before() {
-        testAspect.reset();
-    }
-
-    @Override
-    protected Application configure() {
-        applicationContext = new ClassPathXmlApplicationContext("jersey-spring-aspect4j-applicationContext.xml");
-        testAspect = applicationContext.getBean(TestAspect.class);
-        return new Aspect4jJerseyConfig()
-                .property("contextConfig", applicationContext);
-    }
-
-    @Test
-    public void methodCallShouldNotBeIntercepted() {
-        target("test1").request().get(String.class);
-        assertEquals(0, testAspect.getInterceptions());
-    }
-
-    @Test
-    public void methodCallShouldBeIntercepted() {
-        target("test2").request().get(String.class);
-        assertEquals(1, applicationContext.getBean(TestAspect.class).getInterceptions());
-    }
-
-    @Test
-    public void JERSEY_3126() {
-        final String result = target("JERSEY-3126").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java
deleted file mode 100644
index 02d011a..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.aspect4j;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
-
-import org.glassfish.jersey.server.spring.TestComponent1;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-@Path("/")
-@Component
-public class ComponentResource {
-
-    @Autowired
-    private TestComponent1 testComponent1;
-    @Context
-    private UriInfo uriInfo;
-
-    @Path("test2")
-    @GET
-    public String test2() {
-        return testComponent1.result();
-    }
-
-    @Path("JERSEY-3126")
-    @GET
-    public String JERSEY_3126() {
-        return uriInfo == null ? "test failed" : "test ok";
-    }
-
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java
deleted file mode 100644
index 4b34936..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.fieldinjection;
-
-import javax.ws.rs.core.Application;
-
-import org.glassfish.jersey.server.spring.SpringTestConfiguration;
-import org.glassfish.jersey.test.JerseyTest;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SpringFieldInjectionTest extends JerseyTest {
-
-    @Override
-    protected Application configure() {
-        ApplicationContext context = new AnnotationConfigApplicationContext(SpringTestConfiguration.class);
-        return new SpringFieldInjectionJerseyTestConfig()
-                .property("contextConfig", context);
-    }
-
-    @Test
-    public void testInjectionOfSingleBean() {
-        String result = target("test1").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-
-    @Test
-    public void testInjectionOfListOfBeans() {
-        String result = target("test2").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-
-    @Test
-    public void testInjectionOfSetOfBeans() {
-        String result = target("test3").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-
-    @Test
-    public void JERSEY_2643() {
-        String result = target("JERSEY-2643").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java
deleted file mode 100644
index 0bde187..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.fieldinjection;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-
-import org.glassfish.jersey.server.spring.NoComponent;
-import org.glassfish.jersey.server.spring.TestComponent1;
-import org.glassfish.jersey.server.spring.TestComponent2;
-import org.springframework.beans.factory.annotation.Autowired;
-
-@Path("/")
-public class SpringFieldInjectionTestResource {
-
-    @Autowired
-    private TestComponent1 testComponent1;
-
-    @Autowired
-    private List<TestComponent2> testComponent2List;
-
-    @Autowired
-    Set<TestComponent2> testComponent2Set;
-
-    @Autowired(required = false)
-    private NoComponent noComponent;
-
-    @Path("test1")
-    @GET
-    public String test1() {
-        return testComponent1.result();
-    }
-
-    @Path("test2")
-    @GET
-    public String test2() {
-        return (testComponent2List.size() == 2 && "test ok".equals(testComponent2List.get(0).result())
-                && "test ok".equals(testComponent2List.get(1).result())) ? "test ok" : "test failed";
-    }
-
-    @Path("test3")
-    @GET
-    public String test3() {
-        Iterator<TestComponent2> iterator = testComponent2Set.iterator();
-        return (testComponent2Set.size() == 2 && "test ok".equals(iterator.next().result())
-                && "test ok".equals(iterator.next().result())) ? "test ok" : "test failed";
-    }
-
-    @Path("JERSEY-2643")
-    @GET
-    public String JERSEY_2643() {
-        return noComponent == null ? "test ok" : "test failed";
-    }
-
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java
deleted file mode 100644
index 1a30131..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.filter;
-
-import javax.ws.rs.core.Application;
-
-import org.glassfish.jersey.server.spring.SpringTestConfiguration;
-import org.glassfish.jersey.test.JerseyTest;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class FilterTest extends JerseyTest {
-
-    private ApplicationContext context;
-
-    @Override
-    protected Application configure() {
-        context = new AnnotationConfigApplicationContext(SpringTestConfiguration.class);
-        return new JerseyTestConfig()
-                .property("contextConfig", context);
-    }
-
-    @Test
-    public void testInjectionOfSingleBean() {
-        target("test1").request().get(String.class);
-        assertEquals(1, context.getBean(Counter.class).getCount());
-    }
-
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java
deleted file mode 100644
index c8df018..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.filter;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
-
-public class JerseyTestConfig extends ResourceConfig {
-
-    public JerseyTestConfig() {
-        register(RequestContextFilter.class);
-        register(TestResource.class);
-        register(TestFilter.class);
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java
deleted file mode 100644
index 32bfd16..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.filter;
-
-import java.io.IOException;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-
-import org.springframework.stereotype.Component;
-
-@Component
-@Singleton
-public class TestFilter implements ContainerRequestFilter {
-
-    @Inject
-    private Counter counter;
-
-    @Override
-    public void filter(final ContainerRequestContext requestContext) throws IOException {
-        counter.inc();
-    }
-
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java
deleted file mode 100644
index 5c11591..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.filter;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-
-@Path("/")
-public class TestResource {
-
-    @Path("test1")
-    @GET
-    public String test1() {
-        return "Hello, Test!";
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java
deleted file mode 100644
index 6bf586c..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.methodinjection;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.glassfish.jersey.test.JerseyTest;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.glassfish.jersey.server.spring.SpringTestConfiguration;
-
-import javax.ws.rs.core.Application;
-
-public class SpringMethodInjectionTest extends JerseyTest {
-
-    @Override
-    protected Application configure() {
-        ApplicationContext context = new AnnotationConfigApplicationContext(SpringTestConfiguration.class);
-        return new SpringMethodInjectionJerseyTestConfig()
-                .property("contextConfig", context);
-    }
-
-    @Test
-    public void testInjectionOfSingleBean() {
-        String result = target("test1").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-
-    @Test
-    public void testInjectionOfListOfBeans() {
-        String result = target("test2").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-
-    @Test
-    public void testInjectionOfSetOfBeans() {
-        String result = target("test3").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java
deleted file mode 100644
index 9cd9973..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.methodinjection;
-
-import org.glassfish.jersey.server.spring.NoComponent;
-import org.glassfish.jersey.server.spring.TestComponent1;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.List;
-import java.util.Set;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-
-@Path("/")
-public class SpringMethodInjectionTestResource {
-
-    private TestComponent1 testComponent1;
-    private List<org.glassfish.jersey.server.spring.TestComponent2> testComponent2List;
-    private Set<org.glassfish.jersey.server.spring.TestComponent2> testComponent2Set;
-    private NoComponent noComponent;
-
-    @Autowired
-    public void setTestComponent1(TestComponent1 testComponent1) {
-        this.testComponent1 = testComponent1;
-    }
-
-    @Autowired
-    public void setTestComponent2List(List<org.glassfish.jersey.server.spring.TestComponent2> testComponent2List) {
-        this.testComponent2List = testComponent2List;
-    }
-
-    @Autowired
-    public void setTestComponent2Set(Set<org.glassfish.jersey.server.spring.TestComponent2> testComponent2Set) {
-        this.testComponent2Set = testComponent2Set;
-    }
-
-    @Autowired(required = false)
-    public void setNoComponent(NoComponent noComponent) {
-        this.noComponent = noComponent;
-    }
-
-    @Path("test1")
-    @GET
-    public String test1() {
-        return testComponent1.result();
-    }
-
-    @Path("test2")
-    @GET
-    public String test2() {
-        return (testComponent2List.size() == 2 && "test ok".equals(testComponent2List.get(0).result())
-                && "test ok".equals(testComponent2List.get(1).result())) ? "test ok" : "test failed";
-    }
-
-    @Path("test3")
-    @GET
-    public String test3() {
-        java.util.Iterator<org.glassfish.jersey.server.spring.TestComponent2> iterator = testComponent2Set.iterator();
-        return (testComponent2Set.size() == 2 && "test ok".equals(iterator.next().result())
-                && "test ok".equals(iterator.next().result())) ? "test ok" : "test failed";
-    }
-
-    @Path("JERSEY-2643")
-    @GET
-    public String JERSEY_2643() {
-        return noComponent == null ? "test ok" : "test failed";
-    }
-
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java
deleted file mode 100644
index 598618f..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.parameterinjection;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
-
-public class SpringParameterInjectionJerseyTestConfig extends ResourceConfig {
-    public SpringParameterInjectionJerseyTestConfig() {
-        register(RequestContextFilter.class);
-        register(SpringParameterInjectionTestResource.class);
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java
deleted file mode 100644
index 451de46..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.parameterinjection;
-
-import org.glassfish.jersey.server.spring.SpringTestConfiguration;
-import org.glassfish.jersey.server.spring.fieldinjection.SpringFieldInjectionJerseyTestConfig;
-import org.glassfish.jersey.test.JerseyTest;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-
-import javax.ws.rs.core.Application;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SpringParameterInjectionTest extends JerseyTest {
-    @Override
-    protected Application configure() {
-        ApplicationContext context = new AnnotationConfigApplicationContext(SpringTestConfiguration.class);
-        return new SpringParameterInjectionJerseyTestConfig()
-                .property("contextConfig", context);
-    }
-
-    @Test
-    public void testInjectionOfSingleBean() {
-        String result = target("test1").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-
-    @Test
-    public void testInjectionOfListOfBeans() {
-        String result = target("test2").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-
-    @Test
-    public void testInjectionOfSetOfBeans() {
-        String result = target("test3").request().get(String.class);
-        assertEquals("test ok", result);
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java
deleted file mode 100644
index fc90449..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.profiles;
-
-import javax.ws.rs.core.Application;
-
-import org.glassfish.jersey.logging.LoggingFeature;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
-import org.glassfish.jersey.test.JerseyTest;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-
-public class SpringDefaultProfileResourceTest extends JerseyTest {
-
-    @Override
-    protected Application configure() {
-        System.setProperty("spring.profiles.active", "");
-        ApplicationContext context = new AnnotationConfigApplicationContext("org.glassfish.jersey.server.spring.profiles");
-        return new ResourceConfig()
-                .register(RequestContextFilter.class)
-                .register(LoggingFeature.class)
-                .packages("org.glassfish.jersey.server.spring.profiles")
-                .property("contextConfig", context);
-    }
-
-    @Test
-    public void shouldUseDefaultComponent() {
-        final String result = target("spring-resource").request().get(String.class);
-        Assertions.assertEquals("default", result);
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java
deleted file mode 100644
index 0a84fa8..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.profiles;
-
-import javax.ws.rs.core.Application;
-
-import org.glassfish.jersey.logging.LoggingFeature;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
-import org.glassfish.jersey.test.JerseyTest;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-
-public class SpringDevProfileResourceTest extends JerseyTest {
-
-    @Override
-    protected Application configure() {
-        System.setProperty("spring.profiles.active", "dev");
-        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(
-                "org.glassfish.jersey.server.spring.profiles");
-        return new ResourceConfig()
-                .register(RequestContextFilter.class)
-                .register(LoggingFeature.class)
-                .packages("org.glassfish.jersey.server.spring.profiles")
-                .property("contextConfig", context);
-    }
-
-    @Test
-    public void shouldUseDevProfileBean() {
-        final String result = target("spring-resource").request().get(String.class);
-        Assertions.assertEquals("dev", result);
-    }
-}
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringProfilesTest.java b/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringProfilesTest.java
deleted file mode 100644
index e871afb..0000000
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringProfilesTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.profiles;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SpringProfilesTest {
-
-    @Test
-    public void shouldGetDefaultBean() {
-        System.setProperty("spring.profiles.active", "");
-        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(
-                "org.glassfish.jersey.server.spring.profiles");
-        assertEquals("default", context.getBean(TestService.class).test());
-    }
-
-    @Test
-    public void shouldGetDevProfileBean() {
-        System.setProperty("spring.profiles.active", "dev");
-        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(
-                "org.glassfish.jersey.server.spring.profiles");
-        assertEquals("dev", context.getBean(TestService.class).test());
-    }
-}
diff --git a/ext/spring6/pom.xml b/ext/spring6/pom.xml
new file mode 100644
index 0000000..d46c82c
--- /dev/null
+++ b/ext/spring6/pom.xml
@@ -0,0 +1,391 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.glassfish.jersey.ext</groupId>
+        <artifactId>project</artifactId>
+        <version>3.0.99-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>jersey-spring6</artifactId>
+    <name>jersey-spring6</name>
+
+    <packaging>jar</packaging>
+
+    <description>
+        Jersey extension module providing support for Spring 6 integration.
+    </description>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <java.build.outputDirectory>${project.basedir}/target</java.build.outputDirectory>
+        <javaPre17.sourceDirectory>${project.basedir}/src/main/javaPre17</javaPre17.sourceDirectory>
+        <java17.build.outputDirectory>${project.basedir}/target17</java17.build.outputDirectory>
+        <java17.sourceDirectory>${project.basedir}/src/main/java17</java17.sourceDirectory>
+    </properties>
+
+    <repositories>
+        <repository>
+            <name>Spring Repository</name>
+            <id>spring-repository</id>
+            <url>https://repo.spring.io/milestone</url>
+        </repository>
+    </repositories>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-server</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.jersey.inject</groupId>
+            <artifactId>jersey-hk2</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-servlet-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.hk2</groupId>
+            <artifactId>hk2</artifactId>
+            <version>${hk2.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.ow2.asm</groupId>
+                    <artifactId>asm</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jakarta.annotation</groupId>
+                    <artifactId>jakarta.annotation-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.hk2</groupId>
+            <artifactId>spring-bridge</artifactId>
+            <version>${hk2.version}</version>
+            <exclusions>
+                <exclusion>  <!-- already pulled in by jersey-server -->
+                    <groupId>jakarta.inject</groupId>
+                    <artifactId>jakarta.inject</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.glassfish.hk2</groupId>
+                    <artifactId>hk2-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-context</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jakarta.inject</groupId>
+                    <artifactId>jakarta.inject-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>${spring6.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <version>${spring6.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>${spring6.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+            <version>${spring6.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aop</artifactId>
+            <version>${spring6.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework</groupId>
+            <artifactId>jersey-test-framework-core</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjrt</artifactId>
+            <version>1.6.11</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjweaver</artifactId>
+            <version>1.6.11</version>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>com.sun.istack</groupId>
+                <artifactId>istack-commons-maven-plugin</artifactId>
+                <inherited>true</inherited>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <inherited>true</inherited>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>SpringExclude</id>
+            <activation>
+                <jdk>[1.8,17)</jdk>
+            </activation>
+            <build>
+                <directory>${java.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${javaPre17.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/server/spring/**/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>SpringInclude</id>
+            <activation>
+                <jdk>[17,)</jdk>
+            </activation>
+            <build>
+                <directory>${java17.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java17.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK17FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java17.build.outputDirectory} does not work here -->
+                    <exists>target17/classes/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.class</exists>
+                </file>
+                <jdk>[1.8,17)</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk17-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java.build.outputDirectory}/classes/META-INF/versions/17</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java17.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk17-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java17.sourceDirectory}" prefix="META-INF/versions/17"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>delayed-strategy-skip-test</id>
+            <activation>
+                <property>
+                    <name>org.glassfish.jersey.injection.manager.strategy</name>
+                    <value>delayed</value>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <skipTests>true</skipTests>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>HK2_JDK8_dependencyConvergence_skip</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-enforcer-plugin</artifactId>
+                        <configuration>
+                            <rulesToSkip>dependencyConvergence</rulesToSkip>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/package-info.java b/ext/spring6/src/main/java/org/glassfish/jersey/server/spring/package-info.java
similarity index 83%
rename from ext/spring4/src/main/java/org/glassfish/jersey/server/spring/package-info.java
rename to ext/spring6/src/main/java/org/glassfish/jersey/server/spring/package-info.java
index 0176470..229c054 100644
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/package-info.java
+++ b/ext/spring6/src/main/java/org/glassfish/jersey/server/spring/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,7 +15,7 @@
  */
 
 /**
- * Jersey server-side Spring 4 integration classes.
- *
+ * Jersey server-side Spring 6 integration classes.
+ * @since 3.0.5
  */
 package org.glassfish.jersey.server.spring;
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java b/ext/spring6/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java
similarity index 83%
rename from ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java
rename to ext/spring6/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java
index e15b2c5..d4e3c8e 100644
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java
+++ b/ext/spring6/src/main/java/org/glassfish/jersey/server/spring/scope/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,7 +15,7 @@
  */
 
 /**
- * Jersey server-side Spring 4 integration injection scopes related classes.
- *
+ * Jersey server-side Spring 6 integration injection scopes related classes.
+ * @since 3.0.5
  */
 package org.glassfish.jersey.server.spring.scope;
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
similarity index 97%
rename from ext/spring5/src/main/java/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
rename to ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
index 2fe45a2..aca66c9 100644
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
+++ b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,7 +24,7 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.Injectee;
 import org.glassfish.jersey.internal.inject.InjectionResolver;
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringComponentProvider.java b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringComponentProvider.java
similarity index 97%
rename from ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringComponentProvider.java
rename to ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringComponentProvider.java
index 42a2eee..358f488 100644
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringComponentProvider.java
+++ b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringComponentProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 import org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager;
 import org.glassfish.jersey.internal.inject.Binding;
@@ -43,7 +43,7 @@
 
 /**
  * Custom ComponentProvider class.
- * Responsible for 1) bootstrapping Jersey 2 Spring integration and
+ * Responsible for 1) bootstrapping Jersey 3 Spring integration and
  * 2) making Jersey skip JAX-RS Spring component life-cycle management and leave it to us.
  *
  * @author Marko Asplund (marko.asplund at yahoo.com)
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
similarity index 89%
rename from ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
rename to ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
index 39d3d37..b47ba09 100644
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
+++ b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.server.spring;
 
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.server.spi.Container;
 import org.glassfish.jersey.server.spi.ContainerLifecycleListener;
@@ -27,7 +27,7 @@
 import org.springframework.context.ConfigurableApplicationContext;
 
 /**
- * JAX-RS Provider class for processing Jersey 2 Spring integration container life-cycle events.
+ * JAX-RS Provider class for processing Jersey 3 Spring integration container life-cycle events.
  *
  * @author Marko Asplund (marko.asplund at yahoo.com)
  */
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java
similarity index 92%
rename from ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java
rename to ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java
index 80a054f..8e21bda 100644
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java
+++ b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.logging.Logger;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
 
 import org.springframework.web.WebApplicationInitializer;
 
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java
similarity index 95%
rename from ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java
rename to ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java
index 9b73eea..35a9e26 100644
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java
+++ b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/JaxrsRequestAttributes.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.scope;
 
-import javax.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
 
 import org.glassfish.jersey.server.spring.LocalizationMessages;
 import org.springframework.util.StringUtils;
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
similarity index 90%
rename from ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
rename to ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
index 066a276..4c2d0c2 100644
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
+++ b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/JaxrsServletRequestAttributes.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,9 +15,9 @@
  */
 package org.glassfish.jersey.server.spring.scope;
 
-import javax.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.springframework.web.context.request.ServletRequestAttributes;
 
diff --git a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
similarity index 90%
rename from ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
rename to ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
index 5ad00d6..a489695 100644
--- a/ext/spring4/src/main/java/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
+++ b/ext/spring6/src/main/java17/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,15 +18,15 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.inject.Inject;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.inject.Inject;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java b/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
new file mode 100644
index 0000000..747c607
--- /dev/null
+++ b/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/AutowiredInjectResolver.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package org.glassfish.jersey.server.spring;
+
+import jakarta.inject.Singleton;
+import org.glassfish.jersey.internal.inject.Injectee;
+import org.glassfish.jersey.internal.inject.InjectionResolver;
+
+@Singleton
+public class AutowiredInjectResolver implements InjectionResolver {
+
+    @Override
+    public Object resolve(Injectee injectee) {
+        return null;
+    }
+
+    @Override
+    public boolean isConstructorParameterIndicator() {
+        return false;
+    }
+
+    @Override
+    public boolean isMethodParameterIndicator() {
+        return false;
+    }
+
+    @Override
+    public Class getAnnotation() {
+        return null;
+    }
+}
diff --git a/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/SpringComponentProvider.java b/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/SpringComponentProvider.java
new file mode 100644
index 0000000..5f85ffb
--- /dev/null
+++ b/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/SpringComponentProvider.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.server.spring;
+
+import org.glassfish.jersey.internal.inject.InjectionManager;
+import org.glassfish.jersey.internal.util.JdkVersion;
+import org.glassfish.jersey.server.spi.ComponentProvider;
+
+import java.util.Set;
+
+/**
+ * Custom ComponentProvider class.
+ * Responsible for 1) bootstrapping Jersey 3 Spring integration and
+ * 2) making Jersey skip JAX-RS Spring component life-cycle management and leave it to us.
+ *
+ * @author Marko Asplund (marko.asplund at yahoo.com)
+ */
+public class SpringComponentProvider implements ComponentProvider {
+
+    @Override
+    public void initialize(InjectionManager injectionManager) {
+        if (JdkVersion.getJdkVersion().getMajor() < 17) {
+            throw new IllegalStateException(LocalizationMessages.NOT_SUPPORTED());
+        }
+    }
+
+    @Override
+    public boolean bind(Class<?> component, Set<Class<?>> providerContracts) {
+        return false;
+    }
+
+    @Override
+    public void done() {
+
+    }
+}
diff --git a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java b/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
similarity index 60%
copy from ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
copy to ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
index 39d3d37..15dd493 100644
--- a/ext/spring5/src/main/java/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
+++ b/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/SpringLifecycleListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,42 +16,26 @@
 
 package org.glassfish.jersey.server.spring;
 
-import javax.ws.rs.ext.Provider;
-
-import javax.inject.Inject;
-
+import jakarta.ws.rs.ext.Provider;
+import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.server.spi.Container;
 import org.glassfish.jersey.server.spi.ContainerLifecycleListener;
 
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ConfigurableApplicationContext;
-
-/**
- * JAX-RS Provider class for processing Jersey 2 Spring integration container life-cycle events.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
 @Provider
 public class SpringLifecycleListener implements ContainerLifecycleListener {
 
-    @Inject
-    private ApplicationContext ctx;
-
     @Override
     public void onStartup(Container container) {
+        if (JdkVersion.getJdkVersion().getMajor() < 17) {
+            throw new IllegalStateException(LocalizationMessages.NOT_SUPPORTED());
+        }
     }
 
     @Override
     public void onReload(Container container) {
-        if (ctx instanceof ConfigurableApplicationContext) {
-            ((ConfigurableApplicationContext) ctx).refresh();
-        }
     }
 
     @Override
     public void onShutdown(Container container) {
-        if (ctx instanceof ConfigurableApplicationContext) {
-            ((ConfigurableApplicationContext) ctx).close();
-        }
     }
 }
diff --git a/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java b/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
new file mode 100644
index 0000000..9a41f80
--- /dev/null
+++ b/ext/spring6/src/main/javaPre17/org/glassfish/jersey/server/spring/scope/RequestContextFilter.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.server.spring.scope;
+
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.ext.Provider;
+import org.glassfish.jersey.internal.util.JdkVersion;
+import org.glassfish.jersey.server.spring.LocalizationMessages;
+
+import java.io.IOException;
+
+/**
+ * Spring filter to provide a bridge between JAX-RS and Spring request attributes.
+ *
+ * @author Marko Asplund (marko.asplund at yahoo.com)
+ * @author Jakub Podlesak
+ * @author Marek Potociar
+ */
+@Provider
+@PreMatching
+public final class RequestContextFilter implements ContainerRequestFilter, ContainerResponseFilter {
+
+    @Override
+    public void filter(ContainerRequestContext requestContext) throws IOException {
+        if (JdkVersion.getJdkVersion().getMajor() < 17) {
+            throw new IllegalStateException(LocalizationMessages.NOT_SUPPORTED());
+        }
+    }
+
+    @Override
+    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
+        if (JdkVersion.getJdkVersion().getMajor() < 17) {
+            throw new IllegalStateException(LocalizationMessages.NOT_SUPPORTED());
+        }
+    }
+}
diff --git a/ext/spring4/src/main/resources/META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider b/ext/spring6/src/main/resources/META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider
similarity index 100%
rename from ext/spring4/src/main/resources/META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider
rename to ext/spring6/src/main/resources/META-INF/services/org.glassfish.jersey.server.spi.ComponentProvider
diff --git a/ext/spring4/src/main/resources/jersey-spring-applicationContext.xml b/ext/spring6/src/main/resources/jersey-spring-applicationContext.xml
similarity index 95%
rename from ext/spring4/src/main/resources/jersey-spring-applicationContext.xml
rename to ext/spring6/src/main/resources/jersey-spring-applicationContext.xml
index 00e4dda..b563fd3 100644
--- a/ext/spring4/src/main/resources/jersey-spring-applicationContext.xml
+++ b/ext/spring6/src/main/resources/jersey-spring-applicationContext.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/main/resources/org/glassfish/jersey/server/spring/localization.properties b/ext/spring6/src/main/resources/org/glassfish/jersey/server/spring/localization.properties
similarity index 90%
rename from ext/spring4/src/main/resources/org/glassfish/jersey/server/spring/localization.properties
rename to ext/spring6/src/main/resources/org/glassfish/jersey/server/spring/localization.properties
index 6fd0a06..333129d 100644
--- a/ext/spring4/src/main/resources/org/glassfish/jersey/server/spring/localization.properties
+++ b/ext/spring6/src/main/resources/org/glassfish/jersey/server/spring/localization.properties
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,6 +20,7 @@
 ctx.lookup.sucessful=Spring context lookup done.
 spring.component.provider.initialized=Spring component provider initialized.
 none.or.multiple.beans.available=None or multiple beans found in Spring context for type {0}, skipping the type.
+not.supported=Spring component is not supported on JDK version less than 17.
 bean.registered=Spring managed bean, {0}, registered with HK2.
 registering.ctx.loader.listener=Registering Spring ContextLoaderListener
 skipping.ctx.lodaer.listener.registration=Presuming Spring ContextLoaderListener was manually registered. Skipping context loader registration.
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
similarity index 91%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
index 0afc246..d1d6e7f 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java
similarity index 93%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java
index 5a8123c..cd15638 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/SpringTestConfiguration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java
similarity index 92%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java
index 7a065c1..927f33f 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java
similarity index 91%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java
index 742f421..d12d682 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java
similarity index 93%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java
index 25078b6..3672d0c 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java
similarity index 93%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java
index 9900cd4..f6c19ce 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/TestComponent2Impl2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java
similarity index 97%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java
index 246763d..be03c73 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4JTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.aspect4j;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java
similarity index 94%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java
index 0f60e3b..f7ef7fc 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/Aspect4jJerseyConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java
similarity index 86%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java
index b9b3596..2b1cf67 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/ComponentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.spring.aspect4j;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.spring.TestComponent1;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java
similarity index 90%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java
index 16b74ae..629ffc1 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/NoComponentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spring.aspect4j;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.spring.TestComponent1;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java
similarity index 92%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java
index 0b12c3b..fcbe989 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/aspect4j/TestAspect.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.aspect4j;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.Aspect;
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java
similarity index 94%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java
index 0eb367b..3e0ba86 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionJerseyTestConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java
similarity index 97%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java
index 4b34936..cdb8667 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.fieldinjection;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.spring.SpringTestConfiguration;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java
similarity index 94%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java
index 16e6de1..30bc7a8 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/fieldinjection/SpringFieldInjectionTestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.spring.NoComponent;
 import org.glassfish.jersey.server.spring.TestComponent1;
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java
similarity index 93%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java
index 5c831bf..9c157ce 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/Counter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java
similarity index 97%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java
index 1a30131..37457b8 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/FilterTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.filter;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.spring.SpringTestConfiguration;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java
similarity index 93%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java
index 9fb32a8..c3a5cdd 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/JerseyTestConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java
similarity index 81%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java
index dbc4afb..a672a10 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/TestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,10 +17,10 @@
 package org.glassfish.jersey.server.spring.filter;
 
 import java.io.IOException;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
 
 import org.springframework.stereotype.Component;
 
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java
similarity index 87%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java
index 4401629..3fccdaf 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/filter/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spring.filter;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("/")
 public class TestResource {
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java
similarity index 94%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java
index 7f26bce..02e612e 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionJerseyTestConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java
similarity index 97%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java
index 6bf586c..29f75a9 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTest.java
@@ -24,7 +24,7 @@
 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 import org.glassfish.jersey.server.spring.SpringTestConfiguration;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 public class SpringMethodInjectionTest extends JerseyTest {
 
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java
similarity index 95%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java
index 0cb3d68..ebbc49c 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/methodinjection/SpringMethodInjectionTestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,8 +22,8 @@
 
 import java.util.List;
 import java.util.Set;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("/")
 public class SpringMethodInjectionTestResource {
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java
similarity index 94%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java
index d67ebd4..254ca2d 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionJerseyTestConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java
similarity index 97%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java
index 451de46..da438bc 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTest.java
@@ -23,7 +23,7 @@
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java
similarity index 95%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java
index 1af0145..8987d72 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/parameterinjection/SpringParameterInjectionTestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import org.glassfish.jersey.server.spring.TestComponent2;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java
similarity index 93%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java
index 77b497c..8c91747 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/DefaultTestService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java
similarity index 93%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java
index 34dcadf..e3dcad9 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/DevTestService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java
similarity index 97%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java
index fc90449..1297544 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDefaultProfileResourceTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.profiles;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java
similarity index 97%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java
index 0a84fa8..1dfa1f1 100644
--- a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringDevProfileResourceTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.profiles;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringProfilesTest.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringProfilesTest.java
similarity index 100%
rename from ext/spring4/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringProfilesTest.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringProfilesTest.java
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java
similarity index 82%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java
index f66d9a4..067111a 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/SpringRequestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.spring.profiles;
 
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java
similarity index 91%
rename from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java
rename to ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java
index d5635b5..aa134de 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java
+++ b/ext/spring6/src/test/java/org/glassfish/jersey/server/spring/profiles/TestService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring5/src/test/resources/jersey-spring-aspect4j-applicationContext.xml b/ext/spring6/src/test/resources/jersey-spring-aspect4j-applicationContext.xml
similarity index 95%
rename from ext/spring5/src/test/resources/jersey-spring-aspect4j-applicationContext.xml
rename to ext/spring6/src/test/resources/jersey-spring-aspect4j-applicationContext.xml
index 7abafe3..a755498 100644
--- a/ext/spring5/src/test/resources/jersey-spring-aspect4j-applicationContext.xml
+++ b/ext/spring6/src/test/resources/jersey-spring-aspect4j-applicationContext.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/wadl-doclet/pom.xml b/ext/wadl-doclet/pom.xml
index fdd56b7..0e8b3cb 100644
--- a/ext/wadl-doclet/pom.xml
+++ b/ext/wadl-doclet/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.ext</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>jersey-wadl-doclet</artifactId>
@@ -216,5 +216,4 @@
             </resource>
         </resources>
     </build>
-    
 </project>
diff --git a/ext/wadl-doclet/src/main/java/org/glassfish/jersey/wadl/doclet/DocletUtils.java b/ext/wadl-doclet/src/main/java/org/glassfish/jersey/wadl/doclet/DocletUtils.java
index 47b2e84..9fdcac3 100644
--- a/ext/wadl-doclet/src/main/java/org/glassfish/jersey/wadl/doclet/DocletUtils.java
+++ b/ext/wadl-doclet/src/main/java/org/glassfish/jersey/wadl/doclet/DocletUtils.java
@@ -28,8 +28,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.Marshaller;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerFactory;
diff --git a/ext/wadl-doclet/src/main/java8_11/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java b/ext/wadl-doclet/src/main/java8_11/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java
index 1f2336f..89667c4 100644
--- a/ext/wadl-doclet/src/main/java8_11/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java
+++ b/ext/wadl-doclet/src/main/java8_11/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java
@@ -38,8 +38,6 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
 import javax.xml.namespace.QName;
 
 import org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model.AnnotationDocType;
diff --git a/incubator/cdi-inject-weld/pom.xml b/incubator/cdi-inject-weld/pom.xml
index fe28080..2d73880 100644
--- a/incubator/cdi-inject-weld/pom.xml
+++ b/incubator/cdi-inject-weld/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.incubator</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-cdi-inject-weld</artifactId>
@@ -59,7 +59,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -129,7 +129,7 @@
                         <Import-Package>
                             sun.misc.*;resolution:=optional,
                             ${cdi.osgi.version},
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             *
                         </Import-Package>
                     </instructions>
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/BeanHelper.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/BeanHelper.java
index 81dc831..c5c4cfe 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/BeanHelper.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/BeanHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,15 +23,15 @@
 import java.util.List;
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.data.BindingBeanPair;
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableInstanceBinding;
@@ -77,7 +77,7 @@
     /**
      * Registers an instance as {@link JerseyBean} into {@link BeanManager}.
      *
-     * @param binding   object containing {@link javax.enterprise.inject.spi.BeanAttributes} information.
+     * @param binding   object containing {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
      * @param abd       {@link AfterBeanDiscovery} event.
      * @param resolvers all registered injection resolvers.
      * @param <T>       type of the instance which is registered.
@@ -97,7 +97,7 @@
     /**
      * Registers a class as {@link JerseyBean} into {@link BeanManager}.
      *
-     * @param binding     object containing {@link javax.enterprise.inject.spi.BeanAttributes} information.
+     * @param binding     object containing {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
      * @param abd         {@link AfterBeanDiscovery} event.
      * @param resolvers   all registered injection resolvers.
      * @param beanManager currently used bean manager.
@@ -119,7 +119,7 @@
     /**
      * Registers an instance supplier and its provided value as {@link JerseyBean}s into {@link BeanManager}.
      *
-     * @param binding object containing {@link javax.enterprise.inject.spi.BeanAttributes} information.
+     * @param binding object containing {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
      * @param abd     {@link AfterBeanDiscovery} event.
      * @param <T>     type of the instance which is registered.
      */
@@ -145,7 +145,7 @@
     /**
      * Registers a class supplier and its provided value as {@link JerseyBean}s into {@link BeanManager}.
      *
-     * @param binding     object containing {@link javax.enterprise.inject.spi.BeanAttributes} information.
+     * @param binding     object containing {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
      * @param abd         {@link AfterBeanDiscovery} event.
      * @param resolvers   all registered injection resolvers.
      * @param beanManager currently used bean manager.
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/ClassBean.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/ClassBean.java
index 6c3d6b8..d7bfc8c 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/ClassBean.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/ClassBean.java
@@ -21,21 +21,21 @@
 import java.util.Arrays;
 import java.util.Set;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.injector.JerseyInjectionTarget;
 import org.glassfish.jersey.internal.inject.ClassBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link ClassBinding}. Binding
- * provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information and
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link ClassBinding}. Binding
+ * provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information and
  * {@link JerseyInjectionTarget} provides the contextual part of the bean because implements
- * {@link javax.enterprise.context.spi.Contextual} with Jersey injection extension (is able to inject into JAX-RS/Jersey specified
+ * {@link jakarta.enterprise.context.spi.Contextual} with Jersey injection extension (is able to inject into JAX-RS/Jersey specified
  * annotation).
  * <p>
  * Inject example:
@@ -66,7 +66,7 @@
     private InjectionTarget<T> injectionTarget;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      * @param runtimeType {@link RuntimeType} type information of the bean source.
      * @param binding the binding information.
      */
@@ -123,7 +123,7 @@
     /**
      * Lazy set of an injection target because to create fully functional injection target needs already created bean.
      *
-     * @param injectionTarget {@link javax.enterprise.context.spi.Contextual} information belonging to this bean.
+     * @param injectionTarget {@link jakarta.enterprise.context.spi.Contextual} information belonging to this bean.
      */
     void setInjectionTarget(InjectionTarget<T> injectionTarget) {
         this.injectionTarget = injectionTarget;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableInstanceBean.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableInstanceBean.java
index f319a4f..cf0dd3d 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableInstanceBean.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableInstanceBean.java
@@ -15,10 +15,10 @@
  */
 package org.glassfish.jersey.inject.weld.internal.bean;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableInstanceBinding;
 import org.glassfish.jersey.inject.weld.internal.injector.JerseyClientCreationalContext;
@@ -34,9 +34,9 @@
     private InjectionTarget<T> injectionTarget;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     InitializableInstanceBean(RuntimeType runtimeType, InitializableInstanceBinding<T> binding) {
         super(runtimeType, binding);
@@ -67,7 +67,7 @@
     /**
      * Lazy set of an injection target because to create fully functional injection target needs already created bean.
      *
-     * @param injectionTarget {@link javax.enterprise.context.spi.Contextual} information belonging to this bean.
+     * @param injectionTarget {@link jakarta.enterprise.context.spi.Contextual} information belonging to this bean.
      */
     void setInjectionTarget(InjectionTarget<T> injectionTarget) {
         this.injectionTarget = injectionTarget;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierInstanceBean.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierInstanceBean.java
index cbaaf0c..d42ca44 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierInstanceBean.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierInstanceBean.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.inject.weld.internal.bean;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableSupplierInstanceBinding;
 import org.glassfish.jersey.inject.weld.internal.injector.JerseyClientCreationalContext;
@@ -34,8 +34,8 @@
 import java.util.function.Supplier;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link JerseyInjectionTarget} because serves already
  * created supplier instance, therefore the create operation just return provided instance without any other contextual operation
  * (produce, inject, destroy). Client has to manage the instance alone.
@@ -68,9 +68,9 @@
     private final Supplier<T> supplier;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     InitializableSupplierInstanceBean(RuntimeType runtimeType, InitializableSupplierInstanceBinding<T> binding) {
         super(runtimeType, binding);
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierInstanceBeanBridge.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierInstanceBeanBridge.java
index c86d44f..8f16719 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierInstanceBeanBridge.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierInstanceBeanBridge.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.inject.weld.internal.bean;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableSupplierInstanceBinding;
 import org.glassfish.jersey.inject.weld.internal.injector.JerseyInjectionTarget;
@@ -29,15 +29,15 @@
 import java.util.function.Supplier;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link JerseyInjectionTarget} because serves already
  * created instances, therefore the create operation just return provided instance without any other contextual operation
  * (produce, inject, destroy). Client has to manage the instance alone.
  * <p>
  * This implementation works as bridge between {@link Supplier} and its provided value. This solves the case when the concrete
  * type of supplier value is fetched from {@link org.glassfish.jersey.internal.inject.InjectionManager} then this
- * {@link javax.enterprise.inject.spi.Bean} implementation just invokes {@link Supplier#get} method on underlying/registered
+ * {@link jakarta.enterprise.inject.spi.Bean} implementation just invokes {@link Supplier#get} method on underlying/registered
  * supplier.
  * <p>
  * Inject example:
@@ -68,9 +68,9 @@
     private final Class<? extends Annotation> scope;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     @SuppressWarnings("unchecked")
     InitializableSupplierInstanceBeanBridge(RuntimeType runtimeType, InitializableSupplierInstanceBinding binding) {
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierThreadScopeBean.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierThreadScopeBean.java
index 5f144e0..c5f211e 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierThreadScopeBean.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/InitializableSupplierThreadScopeBean.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.inject.weld.internal.bean;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.PassivationCapable;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.PassivationCapable;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableSupplierInstanceBinding;
 import org.glassfish.jersey.inject.weld.internal.injector.JerseyInjectionTarget;
@@ -38,7 +38,7 @@
 
 /**
  * Creates an implementation of {@link Bean} interface using Jersey's {@link SupplierInstanceBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link JerseyInjectionTarget} because serves already
  * created proxy, therefore the create operation just return provided instance without any other contextual operation
  * (produce, inject, destroy).
@@ -75,7 +75,7 @@
     /**
      * Creates a new Jersey-specific {@link Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     @SuppressWarnings("unchecked")
     InitializableSupplierThreadScopeBean(RuntimeType runtimeType,
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/JerseyBean.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/JerseyBean.java
index 5a367f6..3918e7d 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/JerseyBean.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/JerseyBean.java
@@ -23,17 +23,17 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.PassivationCapable;
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Singleton;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.Any;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.PassivationCapable;
+import jakarta.enterprise.util.AnnotationLiteral;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.JerseyPriorities;
 import org.glassfish.jersey.internal.inject.Binding;
@@ -66,7 +66,7 @@
     private final RuntimeType runtimeType;
 
     /**
-     * JerseyBean constructor with {@link Binding} which represents {@link javax.enterprise.context.spi.Contextual} part of the
+     * JerseyBean constructor with {@link Binding} which represents {@link jakarta.enterprise.context.spi.Contextual} part of the
      * bean.
      *
      * @param runtimeType
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/SupplierBeanBridge.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/SupplierBeanBridge.java
index 0a3c247..5aa91eb 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/SupplierBeanBridge.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/SupplierBeanBridge.java
@@ -24,11 +24,11 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.injector.JerseyInjectionTarget;
 import org.glassfish.jersey.inject.weld.managed.CdiInjectionManagerFactory;
@@ -39,14 +39,14 @@
 import org.glassfish.jersey.internal.inject.SupplierInstanceBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link JerseyInjectionTarget} because serves already
  * the instances created by underlying {@link Supplier} injected target on which the call is delegated.
  * <p>
  * This implementation works as bridge between {@link Supplier} and its provided value. This solves the case when the concrete
  * type of supplier value is fetched from {@link org.glassfish.jersey.internal.inject.InjectionManager} then this
- * {@link javax.enterprise.inject.spi.Bean} implementation just invokes {@link Supplier#get} method on underlying/registered
+ * {@link jakarta.enterprise.inject.spi.Bean} implementation just invokes {@link Supplier#get} method on underlying/registered
  * supplier.
  * <p>
  * Inject example:
@@ -84,9 +84,9 @@
     private final Map<Object, DisposableSupplier<Object>> disposableSuppliers = new IdentityHashMap<>();
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     @SuppressWarnings("unchecked")
     SupplierBeanBridge(RuntimeType runtimeType, SupplierClassBinding binding, BeanManager beanManager) {
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/SupplierClassBean.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/SupplierClassBean.java
index 5ae244d..ef4d154 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/SupplierClassBean.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/bean/SupplierClassBean.java
@@ -22,10 +22,10 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.injector.JerseyInjectionTarget;
 import org.glassfish.jersey.inject.weld.internal.type.ParameterizedTypeImpl;
@@ -33,10 +33,10 @@
 import org.glassfish.jersey.internal.inject.SupplierClassBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierClassBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information and
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierClassBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information and
  * {@link JerseyInjectionTarget} provides the contextual part of the bean because implements
- * {@link javax.enterprise.context.spi.Contextual} with Jersey injection extension (is able to inject into JAX-RS/Jersey specified
+ * {@link jakarta.enterprise.context.spi.Contextual} with Jersey injection extension (is able to inject into JAX-RS/Jersey specified
  * annotation).
  * <p>
  * Bean's implementation provides possibility to register {@link Supplier} and {@link DisposableSupplier}.
@@ -71,9 +71,9 @@
     private InjectionTarget<Supplier<T>> injectionTarget;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     SupplierClassBean(RuntimeType runtimeType, SupplierClassBinding<T> binding) {
         super(runtimeType, binding);
@@ -121,7 +121,7 @@
     /**
      * Lazy set of an injection target because to create fully functional injection target needs already created bean.
      *
-     * @param injectionTarget {@link javax.enterprise.context.spi.Contextual} information belonging to this bean.
+     * @param injectionTarget {@link jakarta.enterprise.context.spi.Contextual} information belonging to this bean.
      */
     void setInjectionTarget(InjectionTarget<Supplier<T>> injectionTarget) {
         this.injectionTarget = injectionTarget;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/AbstractInjectionTarget.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/AbstractInjectionTarget.java
index 9b79ffa..367598b 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/AbstractInjectionTarget.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/AbstractInjectionTarget.java
@@ -18,9 +18,9 @@
 
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
 
 /**
  * Abstract class which implements all methods from {@link InjectionTarget} by invoking the same methods on the delegate object.
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/CachedConstructorAnalyzer.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/CachedConstructorAnalyzer.java
index 2042642..cbdf185 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/CachedConstructorAnalyzer.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/CachedConstructorAnalyzer.java
@@ -24,8 +24,8 @@
 import java.util.Collection;
 import java.util.logging.Logger;
 
-import javax.enterprise.inject.InjectionException;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.InjectionException;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/ContextInjectionResolverImpl.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/ContextInjectionResolverImpl.java
index b494906..4a9a3f3 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/ContextInjectionResolverImpl.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/ContextInjectionResolverImpl.java
@@ -20,11 +20,11 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.GenericType;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.Bindings;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/InjectionUtils.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/InjectionUtils.java
index 946db4d..ceeecbc 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/InjectionUtils.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/InjectionUtils.java
@@ -36,9 +36,9 @@
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import javax.enterprise.inject.spi.Bean;
-import javax.inject.Named;
-import javax.inject.Provider;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.inject.Named;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.Injectee;
 import org.glassfish.jersey.internal.inject.InjecteeImpl;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyClientCreationalContext.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyClientCreationalContext.java
index 529b94f..afbf467 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyClientCreationalContext.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyClientCreationalContext.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.inject.weld.internal.injector;
 
-import javax.enterprise.context.spi.Contextual;
-import javax.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.context.spi.Contextual;
+import jakarta.enterprise.context.spi.CreationalContext;
 
 import org.glassfish.jersey.inject.weld.internal.managed.CdiClientInjectionManager;
 import org.jboss.weld.construction.api.AroundConstructCallback;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyConstructorInjectionPoint.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyConstructorInjectionPoint.java
index d2677ac..092189e 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyConstructorInjectionPoint.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyConstructorInjectionPoint.java
@@ -26,9 +26,9 @@
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.inject.Provider;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.Injectee;
 import org.glassfish.jersey.internal.inject.InjecteeImpl;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyInjectionTarget.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyInjectionTarget.java
index e5702c0..b64513b 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyInjectionTarget.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyInjectionTarget.java
@@ -20,15 +20,15 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.enterprise.context.Dependent;
-import javax.ws.rs.WebApplicationException;
+import jakarta.enterprise.context.Dependent;
+import jakarta.ws.rs.WebApplicationException;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.InjectionException;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.Decorator;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.Interceptor;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.InjectionException;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.Decorator;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.Interceptor;
 
 import org.glassfish.jersey.inject.weld.internal.bean.BeanHelper;
 import org.glassfish.jersey.inject.weld.internal.bean.JerseyBean;
@@ -137,7 +137,7 @@
 
     @Override
     protected void checkDelegateInjectionPoints() {
-        if (getAnnotatedType().getAnnotation(javax.decorator.Decorator.class) == null) {
+        if (getAnnotatedType().getAnnotation(jakarta.decorator.Decorator.class) == null) {
             super.checkDelegateInjectionPoints();
         }
     }
@@ -278,11 +278,11 @@
     }
 
     private boolean isInterceptor() {
-        return (getBean() instanceof Interceptor<?>) || getType().isAnnotationPresent(javax.interceptor.Interceptor.class);
+        return (getBean() instanceof Interceptor<?>) || getType().isAnnotationPresent(jakarta.interceptor.Interceptor.class);
     }
 
     private boolean isDecorator() {
-        return (getBean() instanceof Decorator<?>) || getType().isAnnotationPresent(javax.decorator.Decorator.class);
+        return (getBean() instanceof Decorator<?>) || getType().isAnnotationPresent(jakarta.decorator.Decorator.class);
     }
 
     private boolean isInterceptionCandidate() {
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyInstanceInjector.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyInstanceInjector.java
index 07cf0d3..0096d51 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyInstanceInjector.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyInstanceInjector.java
@@ -21,7 +21,7 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.Bean;
 
 import org.glassfish.jersey.internal.inject.InjectionResolver;
 
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyProxyResolver.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyProxyResolver.java
index 20c282c..ee1ebcb 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyProxyResolver.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyProxyResolver.java
@@ -30,27 +30,27 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 import org.glassfish.jersey.internal.inject.Injectee;
 import org.glassfish.jersey.internal.inject.InjectionResolver;
 
 /**
- * Class working with JAX-RS/Jersey types injected using {@link javax.ws.rs.core.Context} annotation and all other types which
+ * Class working with JAX-RS/Jersey types injected using {@link jakarta.ws.rs.core.Context} annotation and all other types which
  * can be injected using using other {@code *Param} annotations.
  * <p>
  * Processed JAX-RS interfaces:
  *
  * @author Petr Bouda
- * @see javax.ws.rs.core.UriInfo
- * @see javax.ws.rs.core.Request
- * @see javax.ws.rs.core.HttpHeaders
- * @see javax.ws.rs.core.SecurityContext
- * @see javax.ws.rs.core.Configuration
- * @see javax.ws.rs.core.Application not proxiable because is registered as a singleton.
- * @see javax.ws.rs.ext.Providers
+ * @see jakarta.ws.rs.core.UriInfo
+ * @see jakarta.ws.rs.core.Request
+ * @see jakarta.ws.rs.core.HttpHeaders
+ * @see jakarta.ws.rs.core.SecurityContext
+ * @see jakarta.ws.rs.core.Configuration
+ * @see jakarta.ws.rs.core.Application not proxiable because is registered as a singleton.
+ * @see jakarta.ws.rs.ext.Providers
  */
 class JerseyProxyResolver {
 
@@ -71,7 +71,7 @@
      * In these cases the value is not proxiable:
      * <ul>
      * <li>Class without the annotation</li>
-     * <li>Class annotated by {@link javax.enterprise.context.RequestScoped}</li>
+     * <li>Class annotated by {@link jakarta.enterprise.context.RequestScoped}</li>
      * <li>Class annotated by {@link org.glassfish.jersey.process.internal.RequestScoped}</li>
      * <ul/>
      *
@@ -88,7 +88,7 @@
      * In these cases the value is not proxiable:
      * <ul>
      * <li>Class without the annotation</li>
-     * <li>Class annotated by {@link javax.enterprise.context.RequestScoped}</li>
+     * <li>Class annotated by {@link jakarta.enterprise.context.RequestScoped}</li>
      * <li>Class annotated by {@link org.glassfish.jersey.process.internal.RequestScoped}</li>
      * <ul/>
      *
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyTwofoldInstantiator.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyTwofoldInstantiator.java
index e9f6309..01e96c0 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyTwofoldInstantiator.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyTwofoldInstantiator.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.weld.internal.injector;
 
-import javax.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.context.spi.CreationalContext;
 import org.jboss.weld.injection.ConstructorInjectionPoint;
 import org.jboss.weld.injection.producer.AbstractInstantiator;
 import org.jboss.weld.manager.BeanManagerImpl;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/NamedImpl.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/NamedImpl.java
index 6a7d5fb..ac4b7a8 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/NamedImpl.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/NamedImpl.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.weld.internal.injector;
 
-import javax.inject.Named;
+import jakarta.inject.Named;
 
 import org.glassfish.jersey.internal.inject.AnnotationLiteral;
 
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/WrappingJerseyInjectionTarget.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/WrappingJerseyInjectionTarget.java
index 48a3ded..3607fcd 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/WrappingJerseyInjectionTarget.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/injector/WrappingJerseyInjectionTarget.java
@@ -20,11 +20,11 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.InjectionException;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.InjectionException;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
 
 import org.glassfish.jersey.internal.inject.InjectionResolver;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/BinderRegisterExtension.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/BinderRegisterExtension.java
index 9787cfe..60d48e4 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/BinderRegisterExtension.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/BinderRegisterExtension.java
@@ -33,34 +33,34 @@
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
-import javax.annotation.Priority;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.NormalScope;
-import javax.enterprise.context.SessionScoped;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.Unmanaged;
-import javax.enterprise.inject.spi.WithAnnotations;
-import javax.inject.Scope;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.NormalScope;
+import jakarta.enterprise.context.SessionScoped;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.enterprise.inject.spi.Unmanaged;
+import jakarta.enterprise.inject.spi.WithAnnotations;
+import jakarta.inject.Scope;
+import jakarta.inject.Singleton;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.ProcessInjectionTarget;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.ProcessInjectionTarget;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.inject.weld.internal.data.BindingBeanPair;
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableSupplierInstanceBinding;
@@ -172,8 +172,8 @@
                 }
             }
             if (!hasScope) {
-                annotatedBeans.put(annotatedType.getJavaClass(), javax.enterprise.context.RequestScoped.class);
-                pat.configureAnnotatedType().add(javax.enterprise.context.RequestScoped.Literal.INSTANCE);
+                annotatedBeans.put(annotatedType.getJavaClass(), jakarta.enterprise.context.RequestScoped.class);
+                pat.configureAnnotatedType().add(jakarta.enterprise.context.RequestScoped.Literal.INSTANCE);
             }
         }
 
@@ -183,10 +183,10 @@
     <T> void registerJerseyRequestScopedResources(
             @Observes @WithAnnotations(RequestScoped.class) ProcessAnnotatedType<T> pat) {
         if (pat.getAnnotatedType().isAnnotationPresent(RequestScoped.class)
-                && !pat.getAnnotatedType().isAnnotationPresent(javax.enterprise.context.RequestScoped.class)) {
+                && !pat.getAnnotatedType().isAnnotationPresent(jakarta.enterprise.context.RequestScoped.class)) {
             pat.configureAnnotatedType().remove(a -> RequestScoped.class.isInstance(a))
-                    .add(javax.enterprise.context.RequestScoped.Literal.INSTANCE);
-            annotatedBeans.put(pat.getAnnotatedType().getJavaClass(), javax.enterprise.context.RequestScoped.class);
+                    .add(jakarta.enterprise.context.RequestScoped.Literal.INSTANCE);
+            annotatedBeans.put(pat.getAnnotatedType().getJavaClass(), jakarta.enterprise.context.RequestScoped.class);
         }
     }
 
@@ -196,11 +196,11 @@
     }
 
     void handleRequestScoped(
-            @Observes @WithAnnotations({javax.enterprise.context.RequestScoped.class}) ProcessAnnotatedType<?> pat) {
+            @Observes @WithAnnotations({jakarta.enterprise.context.RequestScoped.class}) ProcessAnnotatedType<?> pat) {
         final Class<?> javaClass = pat.getAnnotatedType().getJavaClass();
         if (isJaxrs(javaClass) && isNotJerseyInternal(javaClass)) {
             pat.configureAnnotatedType().add(CustomAnnotationLiteral.INSTANCE);
-            annotatedBeans.put(javaClass, javax.enterprise.context.RequestScoped.class);
+            annotatedBeans.put(javaClass, jakarta.enterprise.context.RequestScoped.class);
         }
     }
 
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiClientInjectionManager.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiClientInjectionManager.java
index 46db64b..a1c500f 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiClientInjectionManager.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiClientInjectionManager.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.bean.JerseyBean;
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableInstanceBinding;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiInjectionManager.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiInjectionManager.java
index 3c00646..e5759ea 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiInjectionManager.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiInjectionManager.java
@@ -24,15 +24,15 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
-import javax.enterprise.inject.spi.Unmanaged;
-import javax.inject.Singleton;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.inject.spi.Unmanaged;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableInstanceBinding;
 import org.glassfish.jersey.inject.weld.internal.inject.InitializableSupplierInstanceBinding;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiInjectionManagerFactoryBase.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiInjectionManagerFactoryBase.java
index c0c48f6..71ff2fa 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiInjectionManagerFactoryBase.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/CdiInjectionManagerFactoryBase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.inject.spi.BeanManager;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.InjectionManagerFactory;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/ClientBootstrapPreinitialization.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/ClientBootstrapPreinitialization.java
index e82f0e0..c748f6c 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/ClientBootstrapPreinitialization.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/ClientBootstrapPreinitialization.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.ClientBuilder;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.ClientBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/ServerBootstrapPreinitialization.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/ServerBootstrapPreinitialization.java
index a35f806..c995f48 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/ServerBootstrapPreinitialization.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/managed/ServerBootstrapPreinitialization.java
@@ -16,27 +16,27 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.servlet.Filter;
-import javax.servlet.FilterConfig;
-import javax.servlet.FilterRegistration;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.Servlet;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRegistration;
-import javax.servlet.SessionCookieConfig;
-import javax.servlet.SessionTrackingMode;
-import javax.servlet.descriptor.JspConfigDescriptor;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.GenericType;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.FilterRegistration;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRegistration;
+import jakarta.servlet.SessionCookieConfig;
+import jakarta.servlet.SessionTrackingMode;
+import jakarta.servlet.descriptor.JspConfigDescriptor;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.grizzly.http.server.Request;
 import org.glassfish.grizzly.http.server.Response;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/scope/CdiRequestScope.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/scope/CdiRequestScope.java
index 64d2a99..fc54e7c 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/scope/CdiRequestScope.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/scope/CdiRequestScope.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.weld.internal.scope;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.process.internal.RequestContext;
 import org.glassfish.jersey.process.internal.RequestScope;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/scope/RequestScopeBean.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/scope/RequestScopeBean.java
index 62d7e1b..eff570f 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/scope/RequestScopeBean.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/internal/scope/RequestScopeBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,17 +22,17 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Singleton;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.Any;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.util.AnnotationLiteral;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.process.internal.RequestScope;
 
@@ -46,7 +46,7 @@
     private final InjectionTarget<CdiRequestScope> injectionTarget;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      */
     public RequestScopeBean(BeanManager beanManager) {
         AnnotatedType<CdiRequestScope> annotatedType = beanManager.createAnnotatedType(CdiRequestScope.class);
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/managed/CdiInjectionManagerFactory.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/managed/CdiInjectionManagerFactory.java
index 8ea746f..ad7ac01 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/managed/CdiInjectionManagerFactory.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/managed/CdiInjectionManagerFactory.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.inject.weld.managed;
 
-import javax.annotation.Priority;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.ws.rs.RuntimeType;
+import jakarta.annotation.Priority;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.inject.weld.internal.injector.JerseyClientCreationalContext;
diff --git a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/spi/BootstrapPreinitialization.java b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/spi/BootstrapPreinitialization.java
index 0c90da5..07ba5b9 100644
--- a/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/spi/BootstrapPreinitialization.java
+++ b/incubator/cdi-inject-weld/src/main/java/org/glassfish/jersey/inject/weld/spi/BootstrapPreinitialization.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.weld.spi;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.Beta;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
diff --git a/incubator/cdi-inject-weld/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/incubator/cdi-inject-weld/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from incubator/cdi-inject-weld/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to incubator/cdi-inject-weld/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/injector/CachedConstructorAnalyzerTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/injector/CachedConstructorAnalyzerTest.java
index 10e10ae..85bfe56 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/injector/CachedConstructorAnalyzerTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/injector/CachedConstructorAnalyzerTest.java
@@ -21,11 +21,11 @@
 import java.util.Arrays;
 import java.util.Collection;
 
-import javax.enterprise.inject.InjectionException;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.inject.InjectionException;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Context;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyProxyResolverTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyProxyResolverTest.java
index 486aad0..9c1e9f9 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyProxyResolverTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/injector/JerseyProxyResolverTest.java
@@ -20,12 +20,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.ext.Providers;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.internal.JaxrsProviders;
 import org.glassfish.jersey.internal.inject.Injectee;
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ClientInstanceInjectionTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ClientInstanceInjectionTest.java
index 7a7b9dc..afb04b8 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ClientInstanceInjectionTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ClientInstanceInjectionTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.managed.CdiInjectionManagerFactory;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/Conversation.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/Conversation.java
index d10dc81..fd5a872 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/Conversation.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/Conversation.java
@@ -18,8 +18,8 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/CzechConversation.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/CzechConversation.java
index b3a8594..e907b8c 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/CzechConversation.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/CzechConversation.java
@@ -18,8 +18,8 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/CzechGreeting.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/CzechGreeting.java
index a60f546..68b57d9 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/CzechGreeting.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/CzechGreeting.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 /**
  * @author Petr Bouda
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/DisposableSupplierTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/DisposableSupplierTest.java
index 478d493..ee96847 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/DisposableSupplierTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/DisposableSupplierTest.java
@@ -23,9 +23,9 @@
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
-import javax.ws.rs.core.GenericType;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.inject.weld.internal.bean.BeanHelper;
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/EnglishGreeting.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/EnglishGreeting.java
index 767b117..f9491e6 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/EnglishGreeting.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/EnglishGreeting.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 /**
  * @author Petr Bouda
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/InjectionManagerTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/InjectionManagerTest.java
index db3390c..7be66d9 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/InjectionManagerTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/InjectionManagerTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.context.Dependent;
-import javax.inject.Inject;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.managed.CdiInjectionManagerFactory;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/MyVetoedLongSupplier.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/MyVetoedLongSupplier.java
index fe1f720..7ae3950 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/MyVetoedLongSupplier.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/MyVetoedLongSupplier.java
@@ -19,7 +19,7 @@
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 @Vetoed
 public class MyVetoedLongSupplier implements Supplier<Long> {
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/PrintableConversation.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/PrintableConversation.java
index f507e55..56392dc 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/PrintableConversation.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/PrintableConversation.java
@@ -18,8 +18,8 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ProviderInjectionTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ProviderInjectionTest.java
index 74da492..42aadeb 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ProviderInjectionTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ProviderInjectionTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Vetoed;
-import javax.enterprise.inject.se.SeContainerInitializer;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.se.SeContainerInitializer;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierClassBindingTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierClassBindingTest.java
index 3ab0571..7db2804 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierClassBindingTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierClassBindingTest.java
@@ -18,14 +18,14 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Vetoed;
-import javax.enterprise.inject.se.SeContainerInitializer;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.se.SeContainerInitializer;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierContractsTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierContractsTest.java
index 9c399bd..3f67389 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierContractsTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierContractsTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Vetoed;
-import javax.enterprise.inject.se.SeContainer;
-import javax.enterprise.inject.se.SeContainerInitializer;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.inject.Singleton;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.se.SeContainer;
+import jakarta.enterprise.inject.se.SeContainerInitializer;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierGreeting.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierGreeting.java
index 2f97170..7f3afda 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierGreeting.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierGreeting.java
@@ -18,7 +18,7 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 /**
  * @author Petr Bouda
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierInstanceBindingTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierInstanceBindingTest.java
index 2e1f260..9c247a9 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierInstanceBindingTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/SupplierInstanceBindingTest.java
@@ -19,14 +19,14 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.function.Supplier;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.se.SeContainerInitializer;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
-import javax.ws.rs.core.GenericType;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.se.SeContainerInitializer;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/TestParent.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/TestParent.java
index 0dfc70d..e3013fe 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/TestParent.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/TestParent.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.inject.se.SeContainer;
-import javax.enterprise.inject.se.SeContainerInitializer;
+import jakarta.enterprise.inject.se.SeContainer;
+import jakarta.enterprise.inject.se.SeContainerInitializer;
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Injections;
 import org.junit.jupiter.api.AfterAll;
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/TestPreinitialization.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/TestPreinitialization.java
index a9096b0..b7806c1 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/TestPreinitialization.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/TestPreinitialization.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.inject.weld.internal.managed;
 
-import javax.enterprise.context.Dependent;
-import javax.inject.Singleton;
-import javax.ws.rs.RuntimeType;
+import jakarta.enterprise.context.Dependent;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.inject.weld.spi.BootstrapPreinitialization;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
@@ -74,23 +74,23 @@
 
             //testThreadScopedInRequestScope
             binder.bindAsContract(ThreadScopeTest.RequestScopedInterface.class)
-                    .in(javax.enterprise.context.RequestScoped.class);
+                    .in(jakarta.enterprise.context.RequestScoped.class);
 //                    bindFactory(new SupplierGreeting())
 //                            .to(Greeting.class)
 //                            .in(PerThread.class);
 
             //testThreadScopedInRequestScopeImplementation
             binder.bindAsContract(ThreadScopeTest.RequestScopedCzech.class)
-                    .in(javax.enterprise.context.RequestScoped.class);
+                    .in(jakarta.enterprise.context.RequestScoped.class);
             binder.bindFactory(new ThreadScopeTest.SupplierGreeting())
                     .to(ThreadScopeTest.CzechGreeting.class)
                     .in(PerThread.class);
 
             //testThreadScopedInRequestTwoTypes
             binder.bindAsContract(ThreadScopeTest.RequestScopedCzech2.class)
-                    .in(javax.enterprise.context.RequestScoped.class);
+                    .in(jakarta.enterprise.context.RequestScoped.class);
             binder.bindAsContract(ThreadScopeTest.RequestScopedEnglish2.class)
-                    .in(javax.enterprise.context.RequestScoped.class);
+                    .in(jakarta.enterprise.context.RequestScoped.class);
             binder.bindFactory(new ThreadScopeTest.SupplierGreeting2(ThreadScopeTest.CzechGreeting2.GREETING))
                     .to(ThreadScopeTest.CzechGreeting2.class)
                     .in(PerThread.class);
diff --git a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ThreadScopeTest.java b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ThreadScopeTest.java
index a87f8f9..144c333 100644
--- a/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ThreadScopeTest.java
+++ b/incubator/cdi-inject-weld/src/test/java/org/glassfish/jersey/inject/weld/internal/managed/ThreadScopeTest.java
@@ -20,10 +20,10 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.PerThread;
 import org.glassfish.jersey.process.internal.RequestScope;
diff --git a/incubator/declarative-linking/pom.xml b/incubator/declarative-linking/pom.xml
index 7bee5a4..181bb67 100644
--- a/incubator/declarative-linking/pom.xml
+++ b/incubator/declarative-linking/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.incubator</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.ext</groupId>
@@ -74,10 +74,15 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.glassfish.jersey.media</groupId>-->
+<!--            <artifactId>jersey-media-json-jackson</artifactId>-->
+<!--            <version>${jersey.version}</version>-->
+<!--            <scope>test</scope>-->
+<!--        </dependency>-->
         <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson</artifactId>
-            <version>${jersey.version}</version>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -170,6 +175,22 @@
                 </executions>
             </plugin>
             <plugin>
+                <!-- TODO remove after jakartification -->
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-test</id> <!-- jakartification-excluded-tests -->
+                        <configuration>
+                            <excludes>
+                                <exclude>org/glassfish/jersey/linking/integration/LinkingTest.java</exclude>
+                                <exclude>org/glassfish/jersey/linking/integration/LinkingManualTest.java</exclude>
+                            </excludes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <inherited>true</inherited>
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/DeclarativeLinkingFeature.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/DeclarativeLinkingFeature.java
index a215464..241759f 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/DeclarativeLinkingFeature.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/DeclarativeLinkingFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.linking;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.Beta;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ELLinkBuilder.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ELLinkBuilder.java
index 787ebcc..143a131 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ELLinkBuilder.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ELLinkBuilder.java
@@ -21,11 +21,11 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.el.ExpressionFactory;
-import javax.el.ValueExpression;
+import jakarta.el.ExpressionFactory;
+import jakarta.el.ValueExpression;
 
 import org.glassfish.jersey.linking.mapping.ResourceMappingContext;
 import org.glassfish.jersey.uri.internal.UriPart;
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/EntityDescriptor.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/EntityDescriptor.java
index 314c839..cc8481b 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/EntityDescriptor.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/EntityDescriptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
 /**
  * Describes an entity in terms of its fields, bean properties and {@link InjectLink}
@@ -120,7 +120,8 @@
                 // see issue http://java.net/jira/browse/JERSEY-625
                 if ((f.getModifiers() & Modifier.STATIC) > 0
                         || f.getName().startsWith("java.")
-                        || f.getName().startsWith("javax.")) {
+                        || f.getName().startsWith("javax.")
+                        || f.getName().startsWith("jakarta.")) {
                     continue;
                 }
                 nonLinkFields.put(f.getName(), new FieldDescriptor(f));
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/FieldProcessor.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/FieldProcessor.java
index db852dd..6648c3f 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/FieldProcessor.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/FieldProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,10 +26,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.linking.contributing.ResourceLinkContributionContext;
 import org.glassfish.jersey.linking.mapping.ResourceMappingContext;
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/HeaderProcessor.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/HeaderProcessor.java
index 770fada..8e06fdd 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/HeaderProcessor.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/HeaderProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,8 +21,8 @@
 import java.util.Collections;
 import java.util.List;
 
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.linking.mapping.ResourceMappingContext;
 
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLink.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLink.java
index a42b3e9..d8e730a 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLink.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLink.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.lang.annotation.Target;
 import java.net.URI;
 
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
 import org.glassfish.jersey.Beta;
 
@@ -192,7 +192,7 @@
 
         public static Link buildLinkFromUri(URI uri, InjectLink link) {
 
-            javax.ws.rs.core.Link.Builder builder = javax.ws.rs.core.Link.fromUri(uri);
+            jakarta.ws.rs.core.Link.Builder builder = jakarta.ws.rs.core.Link.fromUri(uri);
             if (!link.rel().isEmpty()) {
                 builder = builder.rel(link.rel());
             }
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLinkFieldDescriptor.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLinkFieldDescriptor.java
index d6e36f6..bbd87e6 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLinkFieldDescriptor.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLinkFieldDescriptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,11 +25,11 @@
 import java.util.Objects;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Link;
 
 import org.glassfish.jersey.linking.mapping.ResourceMappingContext;
 import org.glassfish.jersey.server.model.AnnotatedMethod;
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLinksFieldDescriptor.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLinksFieldDescriptor.java
index 7f4925c..0aa9270 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLinksFieldDescriptor.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/InjectLinksFieldDescriptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
 /**
  * Utility class for working with {@link InjectLinks} annotated fields.
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/LinkELContext.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/LinkELContext.java
index 4af9916..f1881ec 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/LinkELContext.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/LinkELContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.linking;
 
-import javax.el.BeanELResolver;
-import javax.el.CompositeELResolver;
-import javax.el.ELContext;
-import javax.el.ELResolver;
-import javax.el.FunctionMapper;
-import javax.el.VariableMapper;
+import jakarta.el.BeanELResolver;
+import jakarta.el.CompositeELResolver;
+import jakarta.el.ELContext;
+import jakarta.el.ELResolver;
+import jakarta.el.FunctionMapper;
+import jakarta.el.VariableMapper;
 
 /**
  * An ELContext that encapsulates the response information for use by the
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ProvideLink.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ProvideLink.java
index 3c00ba0..b7cd8c8 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ProvideLink.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ProvideLink.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
 import java.lang.annotation.Target;
 import java.net.URI;
 
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
 import org.glassfish.jersey.Beta;
 
@@ -127,7 +127,7 @@
 
         static Link buildLinkFromUri(URI uri, ProvideLink link) {
 
-            javax.ws.rs.core.Link.Builder builder = javax.ws.rs.core.Link.fromUri(uri);
+            jakarta.ws.rs.core.Link.Builder builder = jakarta.ws.rs.core.Link.fromUri(uri);
             if (!link.rel().isEmpty()) {
                 builder = builder.rel(link.rel());
             }
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ProvideLinkDescriptor.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ProvideLinkDescriptor.java
index a4b6356..5a330cb 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ProvideLinkDescriptor.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ProvideLinkDescriptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,8 +21,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Link;
 
 import org.glassfish.jersey.linking.mapping.ResourceMappingContext;
 import org.glassfish.jersey.server.model.AnnotatedMethod;
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/RequestLinkFilter.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/RequestLinkFilter.java
index 0e234fa..59d5646 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/RequestLinkFilter.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/RequestLinkFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Link;
 
 import org.glassfish.jersey.server.ExtendedUriInfo;
 
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ResponseContextResolver.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ResponseContextResolver.java
index 48f8546..85340a8 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ResponseContextResolver.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ResponseContextResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,9 +21,9 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import javax.el.ELContext;
-import javax.el.ELResolver;
-import javax.el.PropertyNotWritableException;
+import jakarta.el.ELContext;
+import jakarta.el.ELResolver;
+import jakarta.el.PropertyNotWritableException;
 
 /**
  * The initial context resolver that resolves the entity and resource
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ResponseLinkFilter.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ResponseLinkFilter.java
index 24d83d6..177e757 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ResponseLinkFilter.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/ResponseLinkFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.linking;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.linking.contributing.ResourceLinkContributionContext;
 import org.glassfish.jersey.linking.mapping.ResourceMappingContext;
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/contributing/NaiveResourceLinkContributionContext.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/contributing/NaiveResourceLinkContributionContext.java
index ad492b1..4343ac7 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/contributing/NaiveResourceLinkContributionContext.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/contributing/NaiveResourceLinkContributionContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,7 +30,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.linking.ProvideLink;
 import org.glassfish.jersey.linking.ProvideLinkDescriptor;
diff --git a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/mapping/NaiveResourceMappingContext.java b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/mapping/NaiveResourceMappingContext.java
index 46f7617..fb3317b 100644
--- a/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/mapping/NaiveResourceMappingContext.java
+++ b/incubator/declarative-linking/src/main/java/org/glassfish/jersey/linking/mapping/NaiveResourceMappingContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ExtendedResourceContext;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/EntityDescriptorTest.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/EntityDescriptorTest.java
index 2cecb55..8f41d7b 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/EntityDescriptorTest.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/EntityDescriptorTest.java
@@ -19,8 +19,8 @@
 import java.net.URI;
 import java.util.Iterator;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.linking.mapping.ResourceMappingContext;
 
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/FieldProcessorTest.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/FieldProcessorTest.java
index 17d4243..bbac5b1 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/FieldProcessorTest.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/FieldProcessorTest.java
@@ -28,17 +28,17 @@
 import java.util.logging.Logger;
 import java.util.regex.MatchResult;
 import java.util.zip.ZipEntry;
-import javax.ws.rs.BeanParam;
+import jakarta.ws.rs.BeanParam;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.internal.util.collection.MultivaluedStringMap;
 import org.glassfish.jersey.linking.contributing.ResourceLinkContributionContext;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/HeaderProcessorTest.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/HeaderProcessorTest.java
index ef08c17..34e0ff1 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/HeaderProcessorTest.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/HeaderProcessorTest.java
@@ -21,9 +21,9 @@
 import java.util.List;
 import java.util.regex.MatchResult;
 
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.internal.util.collection.MultivaluedStringMap;
 import org.glassfish.jersey.linking.InjectLink.Extension;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/LinkELContextTest.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/LinkELContextTest.java
index 03d3aac..9284181 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/LinkELContextTest.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/LinkELContextTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.linking;
 
-import javax.el.ExpressionFactory;
-import javax.el.ValueExpression;
+import jakarta.el.ExpressionFactory;
+import jakarta.el.ValueExpression;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/LinkingManualTest.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/LinkingManualTest.java
index cf75afe..f86c757 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/LinkingManualTest.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/LinkingManualTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.linking.integration;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.linking.integration.app.LinkingManualApplication;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/LinkingTest.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/LinkingTest.java
index d299603..35dddd8 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/LinkingTest.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/LinkingTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.linking.integration;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.linking.integration.app.LinkingApplication;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/LinkingManualApplication.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/LinkingManualApplication.java
index b5a498a..fc9e623 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/LinkingManualApplication.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/LinkingManualApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 public class LinkingManualApplication extends Application {
 
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/ObjectMapperContextResolver.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/ObjectMapperContextResolver.java
index d12e369..f2000de 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/ObjectMapperContextResolver.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/ObjectMapperContextResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.linking.integration.app;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/OrdersResource.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/OrdersResource.java
index 27d559d..f560dd3 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/OrdersResource.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/OrdersResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,20 +20,20 @@
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-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.Context;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+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.Context;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.linking.Binding;
 import org.glassfish.jersey.linking.ProvideLink;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/PaymentResource.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/PaymentResource.java
index a8d33a5..cc622ab 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/PaymentResource.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/app/PaymentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.linking.integration.app;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.linking.Binding;
 import org.glassfish.jersey.linking.ProvideLink;
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/Order.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/Order.java
index 4daf27d..dabbeef 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/Order.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/Order.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
 import org.glassfish.jersey.linking.InjectLinks;
 
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/Page.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/Page.java
index 8e1f1ba..7a632fc 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/Page.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/Page.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
 import org.glassfish.jersey.linking.InjectLinks;
 
diff --git a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/PaymentConfirmation.java b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/PaymentConfirmation.java
index 869dd90..e7e3c74 100644
--- a/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/PaymentConfirmation.java
+++ b/incubator/declarative-linking/src/test/java/org/glassfish/jersey/linking/integration/representations/PaymentConfirmation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import javax.ws.rs.core.Link;
+import jakarta.ws.rs.core.Link;
 
 import org.glassfish.jersey.linking.InjectLink;
 import org.glassfish.jersey.linking.InjectLinks;
diff --git a/incubator/gae-integration/pom.xml b/incubator/gae-integration/pom.xml
index 26dc685..f0a0916 100644
--- a/incubator/gae-integration/pom.xml
+++ b/incubator/gae-integration/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.incubator</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-gae-integration</artifactId>
diff --git a/incubator/gae-integration/src/main/java/org/glassfish/jersey/server/gae/GaeFeature.java b/incubator/gae-integration/src/main/java/org/glassfish/jersey/server/gae/GaeFeature.java
index e6e2b7a..76fff91 100644
--- a/incubator/gae-integration/src/main/java/org/glassfish/jersey/server/gae/GaeFeature.java
+++ b/incubator/gae-integration/src/main/java/org/glassfish/jersey/server/gae/GaeFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.gae;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * Google App Engine integration for Jersey server runtime.
diff --git a/incubator/html-json/pom.xml b/incubator/html-json/pom.xml
index dbc814f..5eed87b 100644
--- a/incubator/html-json/pom.xml
+++ b/incubator/html-json/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.incubator</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.media</groupId>
@@ -39,7 +39,7 @@
     </description>
 
     <properties>
-        <net.java.html.version>1.5.1</net.java.html.version>
+        <net.java.html.version>1.8.1</net.java.html.version>
         <enforcer.skip>true</enforcer.skip>
     </properties>
 
@@ -97,6 +97,16 @@
             <groupId>org.netbeans.html</groupId>
             <artifactId>ko-ws-tyrus</artifactId>
             <version>${net.java.html.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.glassfish.grizzly</groupId>
+                    <artifactId>grizzly-framework</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.glassfish.grizzly</groupId>
+                    <artifactId>grizzly-http-server</artifactId>
+                </exclusion>
+            </exclusions>
             <scope>runtime</scope>
         </dependency>
         <!-- Overwrite Grizzly dependency defined in ko-ws-tyrus -->
diff --git a/incubator/html-json/src/main/java/org/glassfish/jersey/media/htmljson/HtmlJsonProvider.java b/incubator/html-json/src/main/java/org/glassfish/jersey/media/htmljson/HtmlJsonProvider.java
index b220eda..f130472 100644
--- a/incubator/html-json/src/main/java/org/glassfish/jersey/media/htmljson/HtmlJsonProvider.java
+++ b/incubator/html-json/src/main/java/org/glassfish/jersey/media/htmljson/HtmlJsonProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,12 +26,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.openide.util.lookup.ServiceProvider;
 import org.openide.util.lookup.ServiceProviders;
diff --git a/incubator/html-json/src/main/java/org/glassfish/jersey/media/htmljson/internal/HtmlJsonAutoDiscoverable.java b/incubator/html-json/src/main/java/org/glassfish/jersey/media/htmljson/internal/HtmlJsonAutoDiscoverable.java
index 7b3b56a..2ffd6fb 100644
--- a/incubator/html-json/src/main/java/org/glassfish/jersey/media/htmljson/internal/HtmlJsonAutoDiscoverable.java
+++ b/incubator/html-json/src/main/java/org/glassfish/jersey/media/htmljson/internal/HtmlJsonAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.media.htmljson.internal;
 
-import javax.annotation.Priority;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.media.htmljson.HtmlJsonProvider;
diff --git a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/AbstractTypeTester.java b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/AbstractTypeTester.java
index 764ac2b..c687717 100644
--- a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/AbstractTypeTester.java
+++ b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/AbstractTypeTester.java
@@ -22,19 +22,19 @@
 import java.io.OutputStream;
 import java.util.HashSet;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.message.internal.ReaderWriter;
diff --git a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ComputedPropertyTest.java b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ComputedPropertyTest.java
index 1302387..a3db7de 100644
--- a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ComputedPropertyTest.java
+++ b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ComputedPropertyTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.media.htmljson;
 
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityOnArrayTest.java b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityOnArrayTest.java
index 8a548fe..8742447 100644
--- a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityOnArrayTest.java
+++ b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityOnArrayTest.java
@@ -19,15 +19,15 @@
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.TestProperties;
 
diff --git a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityOnListTest.java b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityOnListTest.java
index e742ade..280006f 100644
--- a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityOnListTest.java
+++ b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityOnListTest.java
@@ -20,17 +20,17 @@
 import java.util.Arrays;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.TestProperties;
 
diff --git a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityTest.java b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityTest.java
index af23c64..a359260 100644
--- a/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityTest.java
+++ b/incubator/html-json/src/test/java/org/glassfish/jersey/media/htmljson/ModelEntityTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.media.htmljson;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.TestProperties;
 
diff --git a/incubator/injectless-client/pom.xml b/incubator/injectless-client/pom.xml
index 91edf6ad..daf7c24 100644
--- a/incubator/injectless-client/pom.xml
+++ b/incubator/injectless-client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.incubator</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-injectless-client</artifactId>
diff --git a/incubator/injectless-client/src/main/java/org/glassfish/jersey/inject/injectless/NonInjectionManagerFactory.java b/incubator/injectless-client/src/main/java/org/glassfish/jersey/inject/injectless/NonInjectionManagerFactory.java
index 43b17aa..61e6455 100644
--- a/incubator/injectless-client/src/main/java/org/glassfish/jersey/inject/injectless/NonInjectionManagerFactory.java
+++ b/incubator/injectless-client/src/main/java/org/glassfish/jersey/inject/injectless/NonInjectionManagerFactory.java
@@ -19,11 +19,11 @@
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.InjectionManagerFactory;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.RuntimeType;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.RuntimeType;
 
 /**
  * <p>
diff --git a/incubator/kryo/pom.xml b/incubator/kryo/pom.xml
index ce481e3..7ddc227 100644
--- a/incubator/kryo/pom.xml
+++ b/incubator/kryo/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.incubator</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.media</groupId>
@@ -48,6 +48,17 @@
         <dependency>
             <groupId>com.esotericsoftware</groupId>
             <artifactId>kryo</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.ow2.asm</groupId>
+                    <artifactId>asm</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.ow2.asm</groupId>
+            <artifactId>asm</artifactId>
+            <version>${asm.version}</version>
         </dependency>
 
         <dependency>
diff --git a/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/KryoFeature.java b/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/KryoFeature.java
index f2af34c..7a20060 100644
--- a/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/KryoFeature.java
+++ b/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/KryoFeature.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.kryo;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.Beta;
 import org.glassfish.jersey.kryo.internal.KryoMessageBodyProvider;
diff --git a/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/KryoAutoDiscoverable.java b/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/KryoAutoDiscoverable.java
index 36f07a1..e8b37e6 100644
--- a/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/KryoAutoDiscoverable.java
+++ b/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/KryoAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.kryo.internal;
 
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.kryo.KryoFeature;
diff --git a/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/KryoMessageBodyProvider.java b/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/KryoMessageBodyProvider.java
index 77e0a99..0d4b7d1 100644
--- a/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/KryoMessageBodyProvider.java
+++ b/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/KryoMessageBodyProvider.java
@@ -23,18 +23,18 @@
 import java.lang.reflect.Type;
 import java.util.Optional;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import com.esotericsoftware.kryo.Kryo;
 import com.esotericsoftware.kryo.io.Input;
diff --git a/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/RegistrationNotRequiredKryoContextResolver.java b/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/RegistrationNotRequiredKryoContextResolver.java
index 786c2fb..8dc5e53 100644
--- a/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/RegistrationNotRequiredKryoContextResolver.java
+++ b/incubator/kryo/src/main/java/org/glassfish/jersey/kryo/internal/RegistrationNotRequiredKryoContextResolver.java
@@ -18,7 +18,7 @@
 
 import com.esotericsoftware.kryo.Kryo;
 
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ContextResolver;
 
 /**
  * Backwards compatibility ContextResolver.
diff --git a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/KryoContextResolver.java b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/KryoContextResolver.java
index 789b968..1db7814 100644
--- a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/KryoContextResolver.java
+++ b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/KryoContextResolver.java
@@ -18,7 +18,7 @@
 
 import com.esotericsoftware.kryo.Kryo;
 
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ContextResolver;
 
 public class KryoContextResolver implements ContextResolver<Kryo> {
     @Override
diff --git a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResource.java b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResource.java
index 5326ab5..e8d99d1 100644
--- a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResource.java
+++ b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.kryo;
 
-import javax.ws.rs.Consumes;
-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 jakarta.ws.rs.Consumes;
+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;
 
 /**
  * Test resource.
diff --git a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceBaseTest.java b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceBaseTest.java
index 76ad72a..e9369cd 100644
--- a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceBaseTest.java
+++ b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceBaseTest.java
@@ -19,8 +19,8 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceRegistrationNotRequiredTest.java b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceRegistrationNotRequiredTest.java
index 31ef246..124cfef 100644
--- a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceRegistrationNotRequiredTest.java
+++ b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceRegistrationNotRequiredTest.java
@@ -20,7 +20,7 @@
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.TestProperties;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 public class PersonResourceRegistrationNotRequiredTest extends PersonResourceBaseTest {
     @Override
diff --git a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceTest.java b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceTest.java
index 39b4247..de0e76a 100644
--- a/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceTest.java
+++ b/incubator/kryo/src/test/java/org/glassfish/jersey/kryo/PersonResourceTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.kryo;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/incubator/open-tracing/pom.xml b/incubator/open-tracing/pom.xml
index 13fe87a..5faa7b0 100644
--- a/incubator/open-tracing/pom.xml
+++ b/incubator/open-tracing/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.incubator</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.incubator</groupId>
diff --git a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingApplicationEventListener.java b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingApplicationEventListener.java
index 8129f91..b6c6feb 100644
--- a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingApplicationEventListener.java
+++ b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingApplicationEventListener.java
@@ -22,8 +22,8 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 
 import io.opentracing.propagation.TextMapAdapter;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingClientRequestFilter.java b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingClientRequestFilter.java
index 758412c..f384c91 100644
--- a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingClientRequestFilter.java
+++ b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingClientRequestFilter.java
@@ -21,9 +21,9 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.MediaType;
 
 import io.opentracing.Span;
 import io.opentracing.SpanContext;
diff --git a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingClientResponseFilter.java b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingClientResponseFilter.java
index 6409956..525afb4 100644
--- a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingClientResponseFilter.java
+++ b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingClientResponseFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
 
 import io.opentracing.Span;
 import io.opentracing.tag.Tags;
diff --git a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingFeature.java b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingFeature.java
index 7eb9873..42c55a8 100644
--- a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingFeature.java
+++ b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.Beta;
 
diff --git a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingUtils.java b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingUtils.java
index 3b715eb..3353be0 100644
--- a/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingUtils.java
+++ b/incubator/open-tracing/src/main/java/org/glassfish/jersey/opentracing/OpenTracingUtils.java
@@ -21,8 +21,8 @@
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import io.opentracing.Span;
 import io.opentracing.Tracer;
diff --git a/incubator/pom.xml b/incubator/pom.xml
index 9e4cdcc..d6bafee 100644
--- a/incubator/pom.xml
+++ b/incubator/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.incubator</groupId>
diff --git a/inject/cdi2-se/pom.xml b/inject/cdi2-se/pom.xml
index 57685c4..d63c8ea 100644
--- a/inject/cdi2-se/pom.xml
+++ b/inject/cdi2-se/pom.xml
@@ -23,18 +23,14 @@
     <parent>
         <groupId>org.glassfish.jersey.inject</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-cdi2-se</artifactId>
     <packaging>jar</packaging>
     <name>jersey-inject-cdi2-se</name>
 
-    <description>CDI 2 SE InjectionManager implementation</description>
-
-    <properties>
-        <cdi.api.version>2.0</cdi.api.version>
-    </properties>
+    <description>CDI 4 SE InjectionManager implementation</description>
 
     <dependencies>
         <dependency>
@@ -46,7 +42,22 @@
         <dependency>
             <groupId>org.jboss.weld.se</groupId>
             <artifactId>weld-se-core</artifactId>
-            <version>${weld3.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.jboss.logging</groupId>
+                    <artifactId>jboss-logging</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jakarta.annotation</groupId>
+                    <artifactId>jakarta.annotation-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.jboss.logging</groupId>
+            <artifactId>jboss-logging</artifactId>
+            <version>${jboss.logging.version}</version>
         </dependency>
 
         <dependency>
@@ -59,6 +70,15 @@
             <artifactId>hamcrest</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>jakarta.el</groupId>
+            <artifactId>jakarta.el-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
@@ -93,7 +113,7 @@
                         <Import-Package>
                             sun.misc.*;resolution:=optional,
                             ${cdi.osgi.version},
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             *
                         </Import-Package>
                     </instructions>
@@ -115,4 +135,15 @@
             </plugin>
         </plugins>
     </build>
+    <profiles>
+        <profile>
+            <id>jdk8</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <properties>
+                <jboss.logging.version>${jboss.logging.8.version}</jboss.logging.version>
+            </properties>
+        </profile>
+    </profiles>
 </project>
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiRequestScope.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiRequestScope.java
index 6ec52e5..36215dd 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiRequestScope.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiRequestScope.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.cdi.se;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.process.internal.RequestContext;
 import org.glassfish.jersey.process.internal.RequestScope;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiSeInjectionManager.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiSeInjectionManager.java
index 6411310..7d201f1 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiSeInjectionManager.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiSeInjectionManager.java
@@ -25,15 +25,15 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.se.SeContainer;
-import javax.enterprise.inject.se.SeContainerInitializer;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
-import javax.enterprise.inject.spi.Unmanaged;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.se.SeContainer;
+import jakarta.enterprise.inject.se.SeContainerInitializer;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.inject.spi.Unmanaged;
 
 import org.glassfish.jersey.inject.cdi.se.bean.JerseyBean;
 import org.glassfish.jersey.inject.cdi.se.injector.ContextInjectionResolverImpl;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiSeInjectionManagerFactory.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiSeInjectionManagerFactory.java
index 3f45b8d2..e1c79a0 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiSeInjectionManagerFactory.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/CdiSeInjectionManagerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.cdi.se;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.InjectionManagerFactory;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/RequestScopeBean.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/RequestScopeBean.java
index c605b50..4bf816f 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/RequestScopeBean.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/RequestScopeBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,17 +22,17 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Singleton;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.Any;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.util.AnnotationLiteral;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.process.internal.RequestScope;
 
@@ -46,7 +46,7 @@
     private final InjectionTarget<CdiRequestScope> injectionTarget;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      */
     public RequestScopeBean(BeanManager beanManager) {
         AnnotatedType<CdiRequestScope> annotatedType = beanManager.createAnnotatedType(CdiRequestScope.class);
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/SeBeanRegisterExtension.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/SeBeanRegisterExtension.java
index df06f92..e804387 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/SeBeanRegisterExtension.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/SeBeanRegisterExtension.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,17 +21,17 @@
 import java.util.List;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.ProcessInjectionTarget;
-import javax.enterprise.inject.spi.WithAnnotations;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.enterprise.inject.spi.ProcessInjectionTarget;
+import jakarta.enterprise.inject.spi.WithAnnotations;
 
 import org.glassfish.jersey.inject.cdi.se.bean.BeanHelper;
 import org.glassfish.jersey.inject.cdi.se.injector.JerseyInjectionTarget;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/BeanHelper.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/BeanHelper.java
index 1a40836..2ae0ebc 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/BeanHelper.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/BeanHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,12 +21,12 @@
 import java.util.List;
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InjectionTargetFactory;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.AnnotatedType;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.InjectionTargetFactory;
 
 import org.glassfish.jersey.inject.cdi.se.injector.CachedConstructorAnalyzer;
 import org.glassfish.jersey.inject.cdi.se.injector.InjectionUtils;
@@ -72,7 +72,7 @@
     /**
      * Registers an instance as {@link JerseyBean} into {@link BeanManager}.
      *
-     * @param binding   object containing {@link javax.enterprise.inject.spi.BeanAttributes} information.
+     * @param binding   object containing {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
      * @param abd       {@link AfterBeanDiscovery} event.
      * @param resolvers all registered injection resolvers.
      * @param <T>       type of the instance which is registered.
@@ -91,7 +91,7 @@
     /**
      * Registers a class as {@link JerseyBean} into {@link BeanManager}.
      *
-     * @param binding     object containing {@link javax.enterprise.inject.spi.BeanAttributes} information.
+     * @param binding     object containing {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
      * @param abd         {@link AfterBeanDiscovery} event.
      * @param resolvers   all registered injection resolvers.
      * @param beanManager currently used bean manager.
@@ -111,7 +111,7 @@
     /**
      * Registers an instance supplier and its provided value as {@link JerseyBean}s into {@link BeanManager}.
      *
-     * @param binding object containing {@link javax.enterprise.inject.spi.BeanAttributes} information.
+     * @param binding object containing {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
      * @param abd     {@link AfterBeanDiscovery} event.
      * @param <T>     type of the instance which is registered.
      */
@@ -137,7 +137,7 @@
     /**
      * Registers a class supplier and its provided value as {@link JerseyBean}s into {@link BeanManager}.
      *
-     * @param binding     object containing {@link javax.enterprise.inject.spi.BeanAttributes} information.
+     * @param binding     object containing {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
      * @param abd         {@link AfterBeanDiscovery} event.
      * @param resolvers   all registered injection resolvers.
      * @param beanManager currently used bean manager.
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/ClassBean.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/ClassBean.java
index bde1a0e..b55f0d3 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/ClassBean.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/ClassBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,23 +22,23 @@
 import java.util.Arrays;
 import java.util.Set;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.Path;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
 
 import org.glassfish.jersey.inject.cdi.se.injector.JerseyInjectionTarget;
 import org.glassfish.jersey.internal.inject.ClassBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link ClassBinding}. Binding
- * provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information and
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link ClassBinding}. Binding
+ * provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information and
  * {@link JerseyInjectionTarget} provides the contextual part of the bean because implements
- * {@link javax.enterprise.context.spi.Contextual} with Jersey injection extension (is able to inject into JAX-RS/Jersey specified
+ * {@link jakarta.enterprise.context.spi.Contextual} with Jersey injection extension (is able to inject into JAX-RS/Jersey specified
  * annotation).
  * <p>
  * Inject example:
@@ -69,9 +69,9 @@
     private InjectionTarget<T> injectionTarget;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     ClassBean(ClassBinding<T> binding) {
         super(binding);
@@ -126,7 +126,7 @@
     /**
      * Lazy set of an injection target because to create fully functional injection target needs already created bean.
      *
-     * @param injectionTarget {@link javax.enterprise.context.spi.Contextual} information belonging to this bean.
+     * @param injectionTarget {@link jakarta.enterprise.context.spi.Contextual} information belonging to this bean.
      */
     void setInjectionTarget(InjectionTarget<T> injectionTarget) {
         this.injectionTarget = injectionTarget;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/InstanceBean.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/InstanceBean.java
index 6e50c5c..622288f 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/InstanceBean.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/InstanceBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,15 +18,15 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.inject.Singleton;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InstanceBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link InstanceBinding}. Binding
- * provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link InstanceBinding}. Binding
+ * provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link org.glassfish.jersey.inject.cdi.se.injector.JerseyInjectionTarget} because serves already
  * created instances, therefore the create operation just return the provided instance and attempt to inject the rest of the
  * fields but omit contextual operations Produce and Destroy. Client has to manage the instance alone.
@@ -58,9 +58,9 @@
     private InjectionTarget<T> injectionTarget;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     InstanceBean(InstanceBinding<T> binding) {
         super(binding);
@@ -87,7 +87,7 @@
     /**
      * Lazy set of an injection target because to create fully functional injection target needs already created bean.
      *
-     * @param injectionTarget {@link javax.enterprise.context.spi.Contextual} information belonging to this bean.
+     * @param injectionTarget {@link jakarta.enterprise.context.spi.Contextual} information belonging to this bean.
      */
     void setInjectionTarget(InjectionTarget<T> injectionTarget) {
         this.injectionTarget = injectionTarget;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/JerseyBean.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/JerseyBean.java
index 7a7740a..24fc62f 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/JerseyBean.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/JerseyBean.java
@@ -22,16 +22,16 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.PassivationCapable;
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Singleton;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.Any;
+import jakarta.enterprise.inject.Default;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.PassivationCapable;
+import jakarta.enterprise.util.AnnotationLiteral;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.JerseyPriorities;
 import org.glassfish.jersey.internal.inject.Binding;
@@ -59,7 +59,7 @@
     private final Binding<T, ?> binding;
 
     /**
-     * JerseyBean constructor with {@link Binding} which represents {@link javax.enterprise.context.spi.Contextual} part of the
+     * JerseyBean constructor with {@link Binding} which represents {@link jakarta.enterprise.context.spi.Contextual} part of the
      * bean.
      *
      * @param binding information about the bean.
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierBeanBridge.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierBeanBridge.java
index 281f489..ceca584 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierBeanBridge.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierBeanBridge.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,10 +24,10 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
 
 import org.glassfish.jersey.inject.cdi.se.ParameterizedTypeImpl;
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
@@ -35,14 +35,14 @@
 import org.glassfish.jersey.internal.inject.SupplierInstanceBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link org.glassfish.jersey.inject.cdi.se.injector.JerseyInjectionTarget} because serves already
  * the instances created by underlying {@link Supplier} injected target on which the call is delegated.
  * <p>
  * This implementation works as bridge between {@link Supplier} and its provided value. This solves the case when the concrete
  * type of supplier value is fetched from {@link org.glassfish.jersey.internal.inject.InjectionManager} then this
- * {@link javax.enterprise.inject.spi.Bean} implementation just invokes {@link Supplier#get} method on underlying/registered
+ * {@link jakarta.enterprise.inject.spi.Bean} implementation just invokes {@link Supplier#get} method on underlying/registered
  * supplier.
  * <p>
  * Inject example:
@@ -80,9 +80,9 @@
     private final Map<Object, DisposableSupplier<Object>> disposableSuppliers = new IdentityHashMap<>();
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     @SuppressWarnings("unchecked")
     SupplierBeanBridge(SupplierClassBinding binding, BeanManager beanManager) {
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierClassBean.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierClassBean.java
index 8b9464e..e3d95c5 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierClassBean.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierClassBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,9 +22,9 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.InjectionTarget;
 
 import org.glassfish.jersey.inject.cdi.se.ParameterizedTypeImpl;
 import org.glassfish.jersey.inject.cdi.se.injector.JerseyInjectionTarget;
@@ -32,10 +32,10 @@
 import org.glassfish.jersey.internal.inject.SupplierClassBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierClassBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information and
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierClassBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information and
  * {@link JerseyInjectionTarget} provides the contextual part of the bean because implements
- * {@link javax.enterprise.context.spi.Contextual} with Jersey injection extension (is able to inject into JAX-RS/Jersey specified
+ * {@link jakarta.enterprise.context.spi.Contextual} with Jersey injection extension (is able to inject into JAX-RS/Jersey specified
  * annotation).
  * <p>
  * Bean's implementation provides possibility to register {@link Supplier} and {@link DisposableSupplier}.
@@ -70,9 +70,9 @@
     private InjectionTarget<Supplier<T>> injectionTarget;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     SupplierClassBean(SupplierClassBinding<T> binding) {
         super(binding);
@@ -120,7 +120,7 @@
     /**
      * Lazy set of an injection target because to create fully functional injection target needs already created bean.
      *
-     * @param injectionTarget {@link javax.enterprise.context.spi.Contextual} information belonging to this bean.
+     * @param injectionTarget {@link jakarta.enterprise.context.spi.Contextual} information belonging to this bean.
      */
     void setInjectionTarget(InjectionTarget<Supplier<T>> injectionTarget) {
         this.injectionTarget = injectionTarget;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierInstanceBean.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierInstanceBean.java
index 084cf28..16d1815 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierInstanceBean.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierInstanceBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,15 +22,15 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.context.spi.CreationalContext;
 
 import org.glassfish.jersey.inject.cdi.se.ParameterizedTypeImpl;
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
 import org.glassfish.jersey.internal.inject.SupplierInstanceBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link org.glassfish.jersey.inject.cdi.se.injector.JerseyInjectionTarget} because serves already
  * created supplier instance, therefore the create operation just return provided instance without any other contextual operation
  * (produce, inject, destroy). Client has to manage the instance alone.
@@ -63,9 +63,9 @@
     private final Supplier<T> supplier;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     SupplierInstanceBean(SupplierInstanceBinding<T> binding) {
         super(binding);
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierInstanceBeanBridge.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierInstanceBeanBridge.java
index 405682e..93eccae 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierInstanceBeanBridge.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierInstanceBeanBridge.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,22 +19,22 @@
 import java.lang.annotation.Annotation;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
 
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
 import org.glassfish.jersey.internal.inject.SupplierInstanceBinding;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link org.glassfish.jersey.inject.cdi.se.injector.JerseyInjectionTarget} because serves already
  * created instances, therefore the create operation just return provided instance without any other contextual operation
  * (produce, inject, destroy). Client has to manage the instance alone.
  * <p>
  * This implementation works as bridge between {@link Supplier} and its provided value. This solves the case when the concrete
  * type of supplier value is fetched from {@link org.glassfish.jersey.internal.inject.InjectionManager} then this
- * {@link javax.enterprise.inject.spi.Bean} implementation just invokes {@link Supplier#get} method on underlying/registered
+ * {@link jakarta.enterprise.inject.spi.Bean} implementation just invokes {@link Supplier#get} method on underlying/registered
  * supplier.
  * <p>
  * Inject example:
@@ -65,9 +65,9 @@
     private final Class<? extends Annotation> scope;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     @SuppressWarnings("unchecked")
     SupplierInstanceBeanBridge(SupplierInstanceBinding binding) {
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierThreadScopeBean.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierThreadScopeBean.java
index 67ccded..a0c0d34 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierThreadScopeBean.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/bean/SupplierThreadScopeBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,10 +21,10 @@
 import java.util.WeakHashMap;
 import java.util.function.Supplier;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.PassivationCapable;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.PassivationCapable;
 
 import org.glassfish.jersey.internal.inject.SupplierInstanceBinding;
 
@@ -35,8 +35,8 @@
 import org.jboss.weld.manager.BeanManagerImpl;
 
 /**
- * Creates an implementation of {@link javax.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
- * Binding provides the information about the bean also called {@link javax.enterprise.inject.spi.BeanAttributes} information.
+ * Creates an implementation of {@link jakarta.enterprise.inject.spi.Bean} interface using Jersey's {@link SupplierInstanceBinding}.
+ * Binding provides the information about the bean also called {@link jakarta.enterprise.inject.spi.BeanAttributes} information.
  * The {@code Bean} does not use {@link org.glassfish.jersey.inject.cdi.se.injector.JerseyInjectionTarget} because serves already
  * created proxy, therefore the create operation just return provided instance without any other contextual operation
  * (produce, inject, destroy).
@@ -71,9 +71,9 @@
     private final Object proxy;
 
     /**
-     * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance.
+     * Creates a new Jersey-specific {@link jakarta.enterprise.inject.spi.Bean} instance.
      *
-     * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean.
+     * @param binding {@link jakarta.enterprise.inject.spi.BeanAttributes} part of the bean.
      */
     @SuppressWarnings("unchecked")
     SupplierThreadScopeBean(SupplierInstanceBinding binding, BeanManagerImpl manager) {
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/AbstractInjectionTarget.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/AbstractInjectionTarget.java
index fb8840b..bc48bc4 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/AbstractInjectionTarget.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/AbstractInjectionTarget.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
 
 /**
  * Abstract class which implements all methods from {@link InjectionTarget} by invoking the same methods on the delegate object.
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/CachedConstructorAnalyzer.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/CachedConstructorAnalyzer.java
index 9d14918..171774d 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/CachedConstructorAnalyzer.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/CachedConstructorAnalyzer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,8 +24,8 @@
 import java.util.Collection;
 import java.util.logging.Logger;
 
-import javax.enterprise.inject.InjectionException;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.InjectionException;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/ContextInjectionResolverImpl.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/ContextInjectionResolverImpl.java
index 65f7d54..b83fff3 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/ContextInjectionResolverImpl.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/ContextInjectionResolverImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,12 +20,12 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.BeanManager;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.Bindings;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/InjectionUtils.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/InjectionUtils.java
index a3ff86b..09f2576 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/InjectionUtils.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/InjectionUtils.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -36,9 +36,9 @@
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import javax.enterprise.inject.spi.Bean;
-import javax.inject.Named;
-import javax.inject.Provider;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.inject.Named;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.Injectee;
 import org.glassfish.jersey.internal.inject.InjecteeImpl;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyConstructorInjectionPoint.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyConstructorInjectionPoint.java
index d4299f1..2710a48 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyConstructorInjectionPoint.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyConstructorInjectionPoint.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,9 +26,9 @@
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.inject.Provider;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.Injectee;
 import org.glassfish.jersey.internal.inject.InjecteeImpl;
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyInjectionTarget.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyInjectionTarget.java
index 85106f3..8073f4c 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyInjectionTarget.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyInjectionTarget.java
@@ -20,14 +20,14 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.InjectionException;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.Decorator;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.Interceptor;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.InjectionException;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.Decorator;
+import jakarta.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.inject.spi.Interceptor;
 
 import org.glassfish.jersey.inject.cdi.se.bean.BeanHelper;
 import org.glassfish.jersey.internal.inject.InjectionResolver;
@@ -128,12 +128,11 @@
 
     @Override
     protected void checkDelegateInjectionPoints() {
-        if (getAnnotatedType().getAnnotation(javax.decorator.Decorator.class) == null) {
+        if (getAnnotatedType().getAnnotation(jakarta.decorator.Decorator.class) == null) {
             super.checkDelegateInjectionPoints();
         }
     }
 
-
     @Override
     public void inject(T instance, CreationalContext<T> ctx) {
         /*
@@ -270,11 +269,11 @@
     }
 
     private boolean isInterceptor() {
-        return (getBean() instanceof Interceptor<?>) || getType().isAnnotationPresent(javax.interceptor.Interceptor.class);
+        return (getBean() instanceof Interceptor<?>) || getType().isAnnotationPresent(jakarta.interceptor.Interceptor.class);
     }
 
     private boolean isDecorator() {
-        return (getBean() instanceof Decorator<?>) || getType().isAnnotationPresent(javax.decorator.Decorator.class);
+        return (getBean() instanceof Decorator<?>) || getType().isAnnotationPresent(jakarta.decorator.Decorator.class);
     }
 
     private boolean isInterceptionCandidate() {
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyInstanceInjector.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyInstanceInjector.java
index 5ba7cc7..f3e45b7 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyInstanceInjector.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyInstanceInjector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.Bean;
 
 import org.glassfish.jersey.internal.inject.InjectionResolver;
 
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyProxyResolver.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyProxyResolver.java
index 9e88ec3..8a23f6a 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyProxyResolver.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyProxyResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,27 +30,27 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 import org.glassfish.jersey.internal.inject.Injectee;
 import org.glassfish.jersey.internal.inject.InjectionResolver;
 
 /**
- * Class working with JAX-RS/Jersey types injected using {@link javax.ws.rs.core.Context} annotation and all other types which
+ * Class working with JAX-RS/Jersey types injected using {@link jakarta.ws.rs.core.Context} annotation and all other types which
  * can be injected using using other {@code *Param} annotations.
  * <p>
  * Processed JAX-RS interfaces:
  *
  * @author Petr Bouda
- * @see javax.ws.rs.core.UriInfo
- * @see javax.ws.rs.core.Request
- * @see javax.ws.rs.core.HttpHeaders
- * @see javax.ws.rs.core.SecurityContext
- * @see javax.ws.rs.core.Configuration
- * @see javax.ws.rs.core.Application not proxiable because is registered as a singleton.
- * @see javax.ws.rs.ext.Providers
+ * @see jakarta.ws.rs.core.UriInfo
+ * @see jakarta.ws.rs.core.Request
+ * @see jakarta.ws.rs.core.HttpHeaders
+ * @see jakarta.ws.rs.core.SecurityContext
+ * @see jakarta.ws.rs.core.Configuration
+ * @see jakarta.ws.rs.core.Application not proxiable because is registered as a singleton.
+ * @see jakarta.ws.rs.ext.Providers
  */
 public class JerseyProxyResolver {
 
@@ -71,7 +71,7 @@
      * In these cases the value is not proxiable:
      * <ul>
      * <li>Class without the annotation</li>
-     * <li>Class annotated by {@link javax.enterprise.context.RequestScoped}</li>
+     * <li>Class annotated by {@link jakarta.enterprise.context.RequestScoped}</li>
      * <li>Class annotated by {@link org.glassfish.jersey.process.internal.RequestScoped}</li>
      * <ul/>
      *
@@ -88,7 +88,7 @@
      * In these cases the value is not proxiable:
      * <ul>
      * <li>Class without the annotation</li>
-     * <li>Class annotated by {@link javax.enterprise.context.RequestScoped}</li>
+     * <li>Class annotated by {@link jakarta.enterprise.context.RequestScoped}</li>
      * <li>Class annotated by {@link org.glassfish.jersey.process.internal.RequestScoped}</li>
      * <ul/>
      *
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/NamedImpl.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/NamedImpl.java
index cd0d2f4..7cce071 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/NamedImpl.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/NamedImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.cdi.se.injector;
 
-import javax.inject.Named;
+import jakarta.inject.Named;
 
 import org.glassfish.jersey.internal.inject.AnnotationLiteral;
 
diff --git a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/WrappingJerseyInjectionTarget.java b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/WrappingJerseyInjectionTarget.java
index 9c1649f..70c8fe7 100644
--- a/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/WrappingJerseyInjectionTarget.java
+++ b/inject/cdi2-se/src/main/java/org/glassfish/jersey/inject/cdi/se/injector/WrappingJerseyInjectionTarget.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,11 +20,11 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.InjectionException;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
+import jakarta.enterprise.context.spi.CreationalContext;
+import jakarta.enterprise.inject.InjectionException;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.enterprise.inject.spi.InjectionPoint;
+import jakarta.enterprise.inject.spi.InjectionTarget;
 
 import org.glassfish.jersey.internal.inject.InjectionResolver;
 import org.glassfish.jersey.internal.util.collection.LazyValue;
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/Conversation.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/Conversation.java
index 4a7f01c..4dca2cf 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/Conversation.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/Conversation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/CzechConversation.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/CzechConversation.java
index 505c484..8f52361 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/CzechConversation.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/CzechConversation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/CzechGreeting.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/CzechGreeting.java
index 0c7b9e8..fd4ae86 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/CzechGreeting.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/CzechGreeting.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.cdi.se;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 /**
  * @author Petr Bouda
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/DisposableSupplierImpl.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/DisposableSupplierImpl.java
index 6376ce2..aa40955 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/DisposableSupplierImpl.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/DisposableSupplierImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
 
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/DisposableSupplierTest.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/DisposableSupplierTest.java
index 69d68eb..6bade9b 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/DisposableSupplierTest.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/DisposableSupplierTest.java
@@ -21,11 +21,11 @@
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.inject.cdi.se.bean.BeanHelper;
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/EnglishGreeting.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/EnglishGreeting.java
index 7a21ea8..42312fa 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/EnglishGreeting.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/EnglishGreeting.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.cdi.se;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 /**
  * @author Petr Bouda
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/MyVetoedLongSupplier.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/MyVetoedLongSupplier.java
index 7c7f316..3c2a8d1 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/MyVetoedLongSupplier.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/MyVetoedLongSupplier.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 @Vetoed
 public class MyVetoedLongSupplier implements Supplier<Long> {
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/PrintableConversation.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/PrintableConversation.java
index 037a47d..8a7b3c2 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/PrintableConversation.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/PrintableConversation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/ProviderInjectionTest.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/ProviderInjectionTest.java
index d8315d4..0bddf41 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/ProviderInjectionTest.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/ProviderInjectionTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.inject.cdi.se;
 
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierClassBindingTest.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierClassBindingTest.java
index f20c20e..813eb05 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierClassBindingTest.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierClassBindingTest.java
@@ -18,8 +18,8 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Singleton;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierContractsTest.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierContractsTest.java
index 0e5cde9..7a7b8db 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierContractsTest.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierContractsTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.inject.cdi.se;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Singleton;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierGreeting.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierGreeting.java
index 76e08bc..8a3de7a 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierGreeting.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierGreeting.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.function.Supplier;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 /**
  * @author Petr Bouda
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierInstanceBindingTest.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierInstanceBindingTest.java
index 9a01514..602ed80 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierInstanceBindingTest.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/SupplierInstanceBindingTest.java
@@ -18,9 +18,9 @@
 
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/ThreadScopeTest.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/ThreadScopeTest.java
index 1c3ded4..cf377c1 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/ThreadScopeTest.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/ThreadScopeTest.java
@@ -18,10 +18,10 @@
 
 import java.util.concurrent.CountDownLatch;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/injector/CachedConstructorAnalyzerTest.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/injector/CachedConstructorAnalyzerTest.java
index 8fa714b..cc9e78a 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/injector/CachedConstructorAnalyzerTest.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/injector/CachedConstructorAnalyzerTest.java
@@ -21,11 +21,11 @@
 import java.util.Arrays;
 import java.util.Collection;
 
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Context;
 
-import javax.enterprise.inject.InjectionException;
+import jakarta.enterprise.inject.InjectionException;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyProxyResolverTest.java b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyProxyResolverTest.java
index b0de0e6..a71e486 100644
--- a/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyProxyResolverTest.java
+++ b/inject/cdi2-se/src/test/java/org/glassfish/jersey/inject/cdi/se/injector/JerseyProxyResolverTest.java
@@ -20,13 +20,13 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Singleton;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.JaxrsProviders;
 import org.glassfish.jersey.internal.inject.Injectee;
diff --git a/inject/hk2/pom.xml b/inject/hk2/pom.xml
index 144a49f..84a04cf 100644
--- a/inject/hk2/pom.xml
+++ b/inject/hk2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.inject</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-hk2</artifactId>
@@ -51,13 +51,16 @@
                     <groupId>org.javassist</groupId>
                     <artifactId>javassist</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>jakarta.inject</groupId>
+                    <artifactId>jakarta.inject-api</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 
         <dependency>
             <groupId>org.javassist</groupId>
             <artifactId>javassist</artifactId>
-            <version>${javassist.version}</version>
         </dependency>
 
         <dependency>
@@ -103,7 +106,7 @@
                         </Export-Package>
                         <Import-Package>
                             sun.misc.*;resolution:=optional,
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             ${hk2.jvnet.osgi.version},
                             ${hk2.osgi.version},
                             *
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/AbstractHk2InjectionManager.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/AbstractHk2InjectionManager.java
index 3a46d60..94d5f8c 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/AbstractHk2InjectionManager.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/AbstractHk2InjectionManager.java
@@ -51,7 +51,6 @@
     private static final ServiceLocatorFactory factory = ServiceLocatorFactory.getInstance();
 
     private ServiceLocator locator;
-    private Boolean isShutdown = Boolean.FALSE; // TODO replace by getServiceLocator().isShutDown() in 3.x
 
     /**
      * Private constructor.
@@ -183,12 +182,11 @@
         } else {
             getServiceLocator().shutdown();
         }
-        isShutdown = Boolean.TRUE;
     }
 
     @Override
     public boolean isShutdown() {
-        return isShutdown;
+        return getServiceLocator().isShutdown();
     }
 
     @Override
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/ContextInjectionResolverImpl.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/ContextInjectionResolverImpl.java
index 339532d..ae218b7 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/ContextInjectionResolverImpl.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/ContextInjectionResolverImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,10 +24,10 @@
 import java.util.Set;
 import java.util.function.Function;
 
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ContextInjectionResolver;
 import org.glassfish.jersey.internal.inject.ForeignRequestScopeBridge;
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/DelayedHk2InjectionManager.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/DelayedHk2InjectionManager.java
index 5e1bdca..4423746 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/DelayedHk2InjectionManager.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/DelayedHk2InjectionManager.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.Binder;
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2BootstrapBinder.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2BootstrapBinder.java
index 84b6e16..7794aa6 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2BootstrapBinder.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2BootstrapBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.hk2;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.process.internal.RequestScope;
 
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2InjectionManagerFactory.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2InjectionManagerFactory.java
index 4e8062f..ce30dd1 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2InjectionManagerFactory.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2InjectionManagerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.security.AccessController;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.inject.Bindings;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2ReferencingFactory.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2ReferencingFactory.java
index 51a68c1..abc2bba 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2ReferencingFactory.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/Hk2ReferencingFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.hk2;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.util.collection.Ref;
 import org.glassfish.jersey.internal.util.collection.Refs;
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/InjectionResolverWrapper.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/InjectionResolverWrapper.java
index ec445fb..b5fcc24 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/InjectionResolverWrapper.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/InjectionResolverWrapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ForeignDescriptorImpl;
 import org.glassfish.jersey.internal.inject.InjecteeImpl;
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/JerseyClassAnalyzer.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/JerseyClassAnalyzer.java
index 92d8923..bceaeda 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/JerseyClassAnalyzer.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/JerseyClassAnalyzer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,9 +27,9 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.Errors;
 import org.glassfish.jersey.internal.LocalizationMessages;
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/JerseyErrorService.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/JerseyErrorService.java
index 36ef4b5..2f93c42 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/JerseyErrorService.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/JerseyErrorService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.io.PrintWriter;
 import java.io.StringWriter;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.Errors;
 
diff --git a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/RequestContext.java b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/RequestContext.java
index 32ba8a1..8500d1a 100644
--- a/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/RequestContext.java
+++ b/inject/hk2/src/main/java/org/glassfish/jersey/inject/hk2/RequestContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.ForeignDescriptor;
 import org.glassfish.jersey.process.internal.RequestScope;
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/Conversation.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/Conversation.java
index 921835d..53f2d1c 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/Conversation.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/Conversation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.function.Supplier;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/CzechConversation.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/CzechConversation.java
index d7f8999..b6c5ef7 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/CzechConversation.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/CzechConversation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.function.Supplier;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/DisposableSupplierTest.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/DisposableSupplierTest.java
index 9eefe48..89d2db3 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/DisposableSupplierTest.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/DisposableSupplierTest.java
@@ -21,10 +21,10 @@
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/PrintableConversation.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/PrintableConversation.java
index ce35a92..4b8e02c 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/PrintableConversation.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/PrintableConversation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.function.Supplier;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  * @author Petr Bouda
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/ProxiableSingleton.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/ProxiableSingleton.java
index 50997ab..ed92eb8 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/ProxiableSingleton.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/ProxiableSingleton.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.inject.Scope;
+import jakarta.inject.Scope;
 
 import org.glassfish.hk2.api.Proxiable;
 
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/ProxiableSingletonContext.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/ProxiableSingletonContext.java
index 15cf271..efcf0a9 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/ProxiableSingletonContext.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/ProxiableSingletonContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.hk2.api.ActiveDescriptor;
 import org.glassfish.hk2.api.Context;
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierClassBindingTest.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierClassBindingTest.java
index 0c538ac..20ec589 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierClassBindingTest.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierClassBindingTest.java
@@ -18,7 +18,7 @@
 
 import java.util.function.Supplier;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierContractsTest.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierContractsTest.java
index 15101ad..74afa37 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierContractsTest.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierContractsTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.inject.hk2;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierInstanceBindingTest.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierInstanceBindingTest.java
index 5fdf2a0..2431ce6 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierInstanceBindingTest.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/SupplierInstanceBindingTest.java
@@ -19,7 +19,7 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Supplier;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/TestSuppliers.java b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/TestSuppliers.java
index c87ac46..1180cd0 100644
--- a/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/TestSuppliers.java
+++ b/inject/hk2/src/test/java/org/glassfish/jersey/inject/hk2/TestSuppliers.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.function.Supplier;
 
-import javax.inject.Inject;
-import javax.inject.Named;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
 
 /**
  * Set of suppliers to inject.
diff --git a/inject/pom.xml b/inject/pom.xml
index 02ad8bf..1dec961 100644
--- a/inject/pom.xml
+++ b/inject/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.inject</groupId>
diff --git a/media/jaxb/pom.xml b/media/jaxb/pom.xml
index 2971a7d..75a49a0 100644
--- a/media/jaxb/pom.xml
+++ b/media/jaxb/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-jaxb</artifactId>
@@ -104,7 +104,7 @@
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
-                        <Import-Package>javax.xml.bind.*;version="!",*</Import-Package>
+                        <Import-Package>jakarta.xml.bind.*;version="!",*</Import-Package>
                         <Export-Package>org.glassfish.jersey.jaxb.*;version=${project.version}</Export-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
@@ -135,8 +135,8 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.hk2</groupId>
@@ -144,6 +144,11 @@
         </dependency>
 
         <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
             <scope>test</scope>
@@ -154,20 +159,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-              <dependency>
-                  <groupId>com.sun.xml.bind</groupId>
-                  <artifactId>jaxb-osgi</artifactId>
-                  <scope>test</scope>
-              </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
 </project>
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractCollectionJaxbProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractCollectionJaxbProvider.java
index 5f9e1a2..eb8fe7b 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractCollectionJaxbProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractCollectionJaxbProvider.java
@@ -37,22 +37,22 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.UnmarshalException;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
@@ -264,7 +264,7 @@
      * @param c            the charset
      * @param m            the marshaller
      * @param entityStream the output stream to marshall the collection
-     * @throws javax.xml.bind.JAXBException in case the marshalling of element collection fails.
+     * @throws jakarta.xml.bind.JAXBException in case the marshalling of element collection fails.
      * @throws IOException                  in case of any other I/O error while marshalling the collection of JAXB objects.
      */
     public abstract void writeCollection(Class<?> elementType, Collection<?> t,
@@ -428,8 +428,8 @@
     /**
      * Get the element name for a given Java type.
      * <p>
-     * In case the element is annotated with a {@link javax.xml.bind.annotation.XmlRootElement} annotation
-     * and the {@link javax.xml.bind.annotation.XmlRootElement#name() specified element name} is not default,
+     * In case the element is annotated with a {@link jakarta.xml.bind.annotation.XmlRootElement} annotation
+     * and the {@link jakarta.xml.bind.annotation.XmlRootElement#name() specified element name} is not default,
      * the method returns the specified element name in the annotation. Otherwise, the method returns the name of
      * the element class instead.
      * </p>
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractJaxbElementProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractJaxbElementProvider.java
index b7a125a..9551f25 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractJaxbElementProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractJaxbElementProvider.java
@@ -25,20 +25,20 @@
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.UnmarshalException;
+import jakarta.xml.bind.Unmarshaller;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.message.internal.EntityInputStream;
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractJaxbProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractJaxbProvider.java
index 04342c4..1d3c5c5 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractJaxbProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractJaxbProvider.java
@@ -24,16 +24,16 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.PropertyException;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.PropertyException;
+import jakarta.xml.bind.Unmarshaller;
 import javax.xml.parsers.SAXParserFactory;
 import javax.xml.transform.sax.SAXSource;
 
@@ -327,11 +327,11 @@
             if (a instanceof XmlHeader) {
                 try {
                     // standalone jaxb ri
-                    marshaller.setProperty("com.sun.xml.bind.xmlHeaders", ((XmlHeader) a).value());
+                    marshaller.setProperty("org.glassfish.jaxb.xmlHeaders", ((XmlHeader) a).value());
                 } catch (PropertyException e) {
                     try {
-                        // jaxb ri from jdk
-                        marshaller.setProperty("com.sun.xml.internal.bind.xmlHeaders", ((XmlHeader) a).value());
+                        // older name
+                        marshaller.setProperty("com.sun.xml.bind.xmlHeaders", ((XmlHeader) a).value());
                     } catch (PropertyException ex) {
                         // other jaxb implementation
                         Logger.getLogger(AbstractJaxbProvider.class.getName()).log(
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractRootElementJaxbProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractRootElementJaxbProvider.java
index 9b5c14c..eae93c1 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractRootElementJaxbProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractRootElementJaxbProvider.java
@@ -24,21 +24,21 @@
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.UnmarshalException;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.transform.stream.StreamSource;
 
 import org.glassfish.jersey.internal.LocalizationMessages;
@@ -129,7 +129,7 @@
      * @param u            the unmarshaller to use for unmarshalling.
      * @param entityStream the input stream to unmarshal from.
      * @return an instance of the JAXB type.
-     * @throws javax.xml.bind.JAXBException in case the JAXB unmarshalling fails.
+     * @throws jakarta.xml.bind.JAXBException in case the JAXB unmarshalling fails.
      */
     protected Object readFrom(Class<Object> type, MediaType mediaType,
                               Unmarshaller u, InputStream entityStream)
@@ -173,7 +173,7 @@
      * @param c            the character set to serialize characters to.
      * @param m            the marshaller to marshaller the instance of the JAXB type.
      * @param entityStream the output stream to marshal to.
-     * @throws javax.xml.bind.JAXBException in case the JAXB marshalling fails.
+     * @throws jakarta.xml.bind.JAXBException in case the JAXB marshalling fails.
      */
     protected void writeTo(Object t, MediaType mediaType, Charset c,
                            Marshaller m, OutputStream entityStream)
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractXmlFactory.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractXmlFactory.java
index 4c58af8..2bdfaff 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractXmlFactory.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/AbstractXmlFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.message.MessageProperties;
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/DocumentBuilderFactoryInjectionProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/DocumentBuilderFactoryInjectionProvider.java
index 57639ad..c6fa279 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/DocumentBuilderFactoryInjectionProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/DocumentBuilderFactoryInjectionProvider.java
@@ -18,10 +18,10 @@
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
 import javax.xml.parsers.DocumentBuilderFactory;
 
 /**
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/DocumentProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/DocumentProvider.java
index 6dccd66..4fbfcf1 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/DocumentProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/DocumentProvider.java
@@ -22,16 +22,16 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerException;
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbAutoDiscoverable.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbAutoDiscoverable.java
index 7630753..bd02cb4 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbAutoDiscoverable.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.jaxb.internal;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
 
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbMessagingBinder.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbMessagingBinder.java
index 78370de..2cf6ce3 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbMessagingBinder.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbMessagingBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.jaxb.internal;
 
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.SAXParserFactory;
 import javax.xml.stream.XMLInputFactory;
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbParamConverterBinder.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbParamConverterBinder.java
index 3947245..e20aa22 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbParamConverterBinder.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbParamConverterBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.jaxb.internal;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbStringReaderProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbStringReaderProvider.java
index ce5b83e..e7e399d 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbStringReaderProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/JaxbStringReaderProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,20 +21,20 @@
 import java.util.Map;
 import java.util.WeakHashMap;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Provider;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Provider;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.UnmarshalException;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.parsers.SAXParserFactory;
 import javax.xml.transform.sax.SAXSource;
 
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/SaxParserFactoryInjectionProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/SaxParserFactoryInjectionProvider.java
index cfe44a6..f22ff63 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/SaxParserFactoryInjectionProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/SaxParserFactoryInjectionProvider.java
@@ -19,9 +19,9 @@
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.jaxb.FeatureSupplier;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.inject.Inject;
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 import java.util.LinkedHashMap;
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/TransformerFactoryInjectionProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/TransformerFactoryInjectionProvider.java
index 25a7ba7..43acbb3 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/TransformerFactoryInjectionProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/TransformerFactoryInjectionProvider.java
@@ -21,10 +21,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
 import javax.xml.XMLConstants;
 import javax.xml.transform.TransformerConfigurationException;
 import javax.xml.transform.TransformerFactory;
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlCollectionJaxbProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlCollectionJaxbProvider.java
index 42c7644..55ba54d 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlCollectionJaxbProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlCollectionJaxbProvider.java
@@ -24,20 +24,20 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.PropertyException;
-import javax.xml.bind.Unmarshaller;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.PropertyException;
+import jakarta.xml.bind.Unmarshaller;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
@@ -133,14 +133,14 @@
 
         entityStream.write(
                 String.format("<?xml version=\"1.0\" encoding=\"%s\" standalone=\"yes\"?>", cName).getBytes(cName));
-        String property = "com.sun.xml.bind.xmlHeaders";
+        String property = "org.glassfish.jaxb.xmlHeaders";
         String header;
         try {
             // standalone jaxb ri?
             header = (String) m.getProperty(property);
         } catch (PropertyException e) {
-            // jaxb ri from jdk?
-            property = "com.sun.xml.internal.bind.xmlHeaders";
+            // older jaxb property
+            property = "com.sun.xml.bind.xmlHeaders";
             try {
                 header = (String) m.getProperty(property);
             } catch (PropertyException ex) {
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlInputFactoryInjectionProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlInputFactoryInjectionProvider.java
index 041897e..648327d 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlInputFactoryInjectionProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlInputFactoryInjectionProvider.java
@@ -18,10 +18,10 @@
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
 import javax.xml.stream.XMLInputFactory;
 
 /**
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlJaxbElementProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlJaxbElementProvider.java
index 6e5bedc..5a6de8a 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlJaxbElementProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlJaxbElementProvider.java
@@ -20,20 +20,20 @@
 import java.io.OutputStream;
 import java.nio.charset.Charset;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
 import javax.xml.parsers.SAXParserFactory;
 
 /**
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlRootElementJaxbProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlRootElementJaxbProvider.java
index a054c67..69d59ee 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlRootElementJaxbProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlRootElementJaxbProvider.java
@@ -18,20 +18,20 @@
 
 import java.io.InputStream;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 import javax.xml.parsers.SAXParserFactory;
 import javax.xml.transform.sax.SAXSource;
 
diff --git a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlRootObjectJaxbProvider.java b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlRootObjectJaxbProvider.java
index dcde0e9..d0f1bd3 100644
--- a/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlRootObjectJaxbProvider.java
+++ b/media/jaxb/src/main/java/org/glassfish/jersey/jaxb/internal/XmlRootObjectJaxbProvider.java
@@ -22,25 +22,25 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.Unmarshaller;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.UnmarshalException;
+import jakarta.xml.bind.Unmarshaller;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.glassfish.jersey.message.internal.EntityInputStream;
diff --git a/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/FeatureAndPropertySupplierTest.java b/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/FeatureAndPropertySupplierTest.java
index 74148fe..5079201 100644
--- a/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/FeatureAndPropertySupplierTest.java
+++ b/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/FeatureAndPropertySupplierTest.java
@@ -32,9 +32,9 @@
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
 
-import javax.inject.Singleton;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.core.Configuration;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.core.Configuration;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParser;
diff --git a/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/JaxbStringReaderProviderTest.java b/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/JaxbStringReaderProviderTest.java
index 9e9b89a..2285de0 100644
--- a/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/JaxbStringReaderProviderTest.java
+++ b/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/JaxbStringReaderProviderTest.java
@@ -24,16 +24,16 @@
 import java.lang.reflect.Type;
 import java.util.Map;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Provider;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.inject.Provider;
+import jakarta.xml.bind.annotation.XmlRootElement;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.glassfish.jersey.jaxb.FeatureSupplier;
diff --git a/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/SaxParserFactoryInjectionProviderTest.java b/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/SaxParserFactoryInjectionProviderTest.java
index 67e6e55..be7cc9a 100644
--- a/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/SaxParserFactoryInjectionProviderTest.java
+++ b/media/jaxb/src/test/java/org/glassfish/jersey/jaxb/internal/SaxParserFactoryInjectionProviderTest.java
@@ -26,13 +26,13 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
diff --git a/media/json-binding/pom.xml b/media/json-binding/pom.xml
index 0c387ab..53de4a8 100644
--- a/media/json-binding/pom.xml
+++ b/media/json-binding/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-json-binding</artifactId>
@@ -54,7 +54,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.jsonb.*</Export-Package>
-                        <Import-Package>${javax.annotation.osgi.version},*</Import-Package>
+                        <Import-Package>${jakarta.annotation.osgi.version},*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
@@ -70,49 +70,38 @@
         </dependency>
 
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
-            <version>${jsonp.ri.version}</version>
+            <groupId>jakarta.json</groupId>
+            <artifactId>jakarta.json-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.json.bind</groupId>
+            <artifactId>jakarta.json.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
         </dependency>
 
-        <!-- TODO - remove snapshot dependencies (will need yasson & API release, as there only is 2 month old M1 version -->
         <dependency>
             <groupId>org.eclipse</groupId>
             <artifactId>yasson</artifactId>
             <exclusions>
-                <!-- Remove ancient javax.el that causes problems with Hibernate -->
                 <exclusion>
-                    <groupId>javax.el</groupId>
-                    <artifactId>el-api</artifactId>
+                    <groupId>jakarta.json.bind</groupId>
+                    <artifactId>jakarta.json.bind-api</artifactId>
                 </exclusion>
                 <exclusion>
-                    <groupId>jakarta.el</groupId>
-                    <artifactId>jakarta.el-api</artifactId>
+                    <groupId>jakarta.json</groupId>
+                    <artifactId>jakarta.json-api</artifactId>
                 </exclusion>
                 <exclusion>
-                    <groupId>javax.json.bind</groupId>
-                    <artifactId>javax.json.bind-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>javax.json</groupId>
-                    <artifactId>javax.json-api</artifactId>
+                    <groupId>org.glassfish</groupId>
+                    <artifactId>jakarta.json</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
 
         <dependency>
-            <groupId>jakarta.json.bind</groupId>
-            <artifactId>jakarta.json.bind-api</artifactId>
-            <version>${jsonb.api.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>jakarta.json</groupId>
-            <artifactId>jakarta.json-api</artifactId>
-            <version>${jsonp.ri.version}</version>
-        </dependency>
-
-        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
             <scope>test</scope>
diff --git a/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/JsonBindingFeature.java b/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/JsonBindingFeature.java
index c46fc6c..b80ac9e 100644
--- a/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/JsonBindingFeature.java
+++ b/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/JsonBindingFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.jsonb;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.InternalProperties;
@@ -32,7 +32,7 @@
  * The Feature is automatically enabled when {@link JsonBindingAutoDiscoverable} is on classpath.
  * Default JSON-B configuration obtained by calling {@code JsonbBuilder.create()} is used.
  * <p>
- * Custom configuration, if required, can be achieved by implementing custom {@link javax.ws.rs.ext.ContextResolver} and
+ * Custom configuration, if required, can be achieved by implementing custom {@link jakarta.ws.rs.ext.ContextResolver} and
  * registering it as a provider into JAX-RS runtime:
  * <pre>
  * &#64;Provider
diff --git a/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/internal/JsonBindingAutoDiscoverable.java b/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/internal/JsonBindingAutoDiscoverable.java
index 28471b6..2a29fbd 100644
--- a/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/internal/JsonBindingAutoDiscoverable.java
+++ b/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/internal/JsonBindingAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.jsonb.internal;
 
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
diff --git a/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/internal/JsonBindingProvider.java b/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/internal/JsonBindingProvider.java
index 9b814d7..9fa1a40 100644
--- a/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/internal/JsonBindingProvider.java
+++ b/media/json-binding/src/main/java/org/glassfish/jersey/jsonb/internal/JsonBindingProvider.java
@@ -19,31 +19,35 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.io.OutputStreamWriter;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
-
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbException;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbException;
 
 import org.glassfish.jersey.jsonb.LocalizationMessages;
 import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider;
 import org.glassfish.jersey.message.internal.EntityInputStream;
 import org.glassfish.jersey.message.internal.ReaderWriter;
 
+import jakarta.inject.Inject;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbException;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
+
 /**
  * Entity provider (reader and writer) for JSONB.
  *
diff --git a/media/json-binding/src/test/java/org/glassfish/jersey/jsonb/internal/JsonBindingProviderTest.java b/media/json-binding/src/test/java/org/glassfish/jersey/jsonb/internal/JsonBindingProviderTest.java
index b373b2e..6ad437f 100644
--- a/media/json-binding/src/test/java/org/glassfish/jersey/jsonb/internal/JsonBindingProviderTest.java
+++ b/media/json-binding/src/test/java/org/glassfish/jersey/jsonb/internal/JsonBindingProviderTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.jsonb.internal;
 
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON_TYPE;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -28,15 +28,15 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Providers;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git a/media/json-gson/pom.xml b/media/json-gson/pom.xml
index 5cf9d5e..cf0d7e6 100644
--- a/media/json-gson/pom.xml
+++ b/media/json-gson/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-json-gson</artifactId>
@@ -54,7 +54,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.gson.*</Export-Package>
-                        <Import-Package>${javax.annotation.osgi.version},*</Import-Package>
+                        <Import-Package>${jakarta.annotation.osgi.version},*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
diff --git a/media/json-gson/src/main/java/org/glassfish/jersey/gson/JsonGsonFeature.java b/media/json-gson/src/main/java/org/glassfish/jersey/gson/JsonGsonFeature.java
index 9e5cc55..498f958 100644
--- a/media/json-gson/src/main/java/org/glassfish/jersey/gson/JsonGsonFeature.java
+++ b/media/json-gson/src/main/java/org/glassfish/jersey/gson/JsonGsonFeature.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.gson;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.gson.internal.JsonGsonAutoDiscoverable;
@@ -31,7 +31,7 @@
  * The Feature is automatically enabled when {@link JsonGsonAutoDiscoverable} is on classpath.
  * Default GSON configuration obtained by calling {@code GsonBuilder.create()} is used.
  * <p>
- * Custom configuration, if required, can be achieved by implementing custom {@link javax.ws.rs.ext.ContextResolver} and
+ * Custom configuration, if required, can be achieved by implementing custom {@link jakarta.ws.rs.ext.ContextResolver} and
  * registering it as a provider into JAX-RS runtime:
  * <pre>
  * &#64;Provider
diff --git a/media/json-gson/src/main/java/org/glassfish/jersey/gson/internal/JsonGsonAutoDiscoverable.java b/media/json-gson/src/main/java/org/glassfish/jersey/gson/internal/JsonGsonAutoDiscoverable.java
index b9fa6e2..f532953 100644
--- a/media/json-gson/src/main/java/org/glassfish/jersey/gson/internal/JsonGsonAutoDiscoverable.java
+++ b/media/json-gson/src/main/java/org/glassfish/jersey/gson/internal/JsonGsonAutoDiscoverable.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.gson.internal;
 
-import javax.annotation.Priority;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.gson.JsonGsonFeature;
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
diff --git a/media/json-gson/src/main/java/org/glassfish/jersey/gson/internal/JsonGsonProvider.java b/media/json-gson/src/main/java/org/glassfish/jersey/gson/internal/JsonGsonProvider.java
index 1ff0b54..50a0dcf 100644
--- a/media/json-gson/src/main/java/org/glassfish/jersey/gson/internal/JsonGsonProvider.java
+++ b/media/json-gson/src/main/java/org/glassfish/jersey/gson/internal/JsonGsonProvider.java
@@ -23,18 +23,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.gson.LocalizationMessages;
 import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider;
diff --git a/media/json-gson/src/test/java/org/glassfish/jersey/gson/internal/JsonGsonProviderTest.java b/media/json-gson/src/test/java/org/glassfish/jersey/gson/internal/JsonGsonProviderTest.java
index db765f2..98b8248 100644
--- a/media/json-gson/src/test/java/org/glassfish/jersey/gson/internal/JsonGsonProviderTest.java
+++ b/media/json-gson/src/test/java/org/glassfish/jersey/gson/internal/JsonGsonProviderTest.java
@@ -16,21 +16,21 @@
 
 package org.glassfish.jersey.gson.internal;
 
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON_TYPE;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Providers;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git a/media/json-jackson/pom.xml b/media/json-jackson/pom.xml
index 0875bd9..cb27c7f 100644
--- a/media/json-jackson/pom.xml
+++ b/media/json-jackson/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-json-jackson</artifactId>
@@ -78,9 +78,9 @@
                     <instructions>
                         <Export-Package>org.glassfish.jersey.jackson.*</Export-Package>
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
+                            ${jakarta.annotation.osgi.version},
                             <!-- compatibility with GF 5.1 -->
-                            com.fasterxml.jackson.*;version="[2.9,3)",
+                            <!-- com.fasterxml.jackson.*;version="[2.9,3)", -->
                             *
                         </Import-Package>
                     </instructions>
@@ -129,10 +129,42 @@
             <artifactId>jackson-module-jaxb-annotations</artifactId>
             <exclusions>
                 <exclusion>
+                    <groupId>jakarta.xml.bind</groupId>
+                    <artifactId>jakarta.xml.bind-api</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>jakarta.activation</groupId>
                     <artifactId>jakarta.activation-api</artifactId>
                 </exclusion>
             </exclusions>
+            <optional>true</optional>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.module</groupId>
+            <artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>jakarta.xml.bind</groupId>
+                    <artifactId>jakarta.xml.bind-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>jakarta.activation</groupId>
+                    <artifactId>jakarta.activation-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <!-- The last JAX-B API that has maven coordinates which do not collide with Jakarta coordinates -->
+            <!-- Do not update -->
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+            <version>2.3.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.junit.jupiter</groupId>
@@ -141,9 +173,8 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-bundle</artifactId>
+            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
             <version>${project.version}</version>
-            <type>pom</type>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/JacksonFeature.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/JacksonFeature.java
index e69801e..5411720 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/JacksonFeature.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/JacksonFeature.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.jackson;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import com.fasterxml.jackson.core.StreamReadConstraints;
 import org.glassfish.jersey.CommonProperties;
@@ -89,7 +89,7 @@
      * <p>
      *     Both uses of {@link #maxStringLength(int)} and {@link MessageProperties#JSON_MAX_STRING_LENGTH} override
      *     StreamReadConstraints defined on Jackson's {@code ObjectMapper's JsonFactory} provided via
-     *     {@link javax.ws.rs.ext.ContextResolver ContextResolver&lt;ObjectMapper&gt;}.
+     *     {@link jakarta.ws.rs.ext.ContextResolver ContextResolver&lt;ObjectMapper&gt;}.
      * </p>
      * @param maxStringLength the integer value to override the default Jackson's
      * {@link StreamReadConstraints#DEFAULT_MAX_STRING_LEN}.
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java
index 72fae80..b11c121 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProvider.java
@@ -33,12 +33,12 @@
 import java.util.Arrays;
 import java.util.List;
 import java.util.logging.Logger;
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.ext.Providers;
+import jakarta.annotation.PostConstruct;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.ext.Providers;
 
 /**
  * Entity Data provider based on Jackson JSON provider.
@@ -50,15 +50,20 @@
 
     @Inject
     public DefaultJacksonJaxbJsonProvider(@Context Providers providers, @Context Configuration config) {
+        super(new JacksonMapperConfigurator(null, DEFAULT_ANNOTATIONS));
         this.commonConfig = config;
         _providers = providers;
     }
 
     //do not register JaxbAnnotationModule because it brakes default annotations processing
-    private static final String EXCLUDE_MODULE_NAME = "JaxbAnnotationModule";
+    private static final String[] EXCLUDE_MODULE_NAMES = {"JaxbAnnotationModule", "JakartaXmlBindAnnotationModule"};
+
+    public DefaultJacksonJaxbJsonProvider() {
+        super(new JacksonMapperConfigurator(null, DEFAULT_ANNOTATIONS));
+    }
 
     public DefaultJacksonJaxbJsonProvider(Providers providers, Configuration config, Annotations... annotationsToUse) {
-        super(annotationsToUse);
+        super(new JacksonMapperConfigurator(null, annotationsToUse));
         this.commonConfig = config;
         _providers = providers;
     }
@@ -81,7 +86,7 @@
         final ObjectMapper defaultMapper = _mapperConfig.getDefaultMapper();
         final ObjectMapper mapper = _mapperConfig.getConfiguredMapper();
 
-        final List<Module> modules = filterModules();
+        final List<Module> modules =  filterModules();
 
         defaultMapper.registerModules(modules);
         if (mapper != null) {
@@ -100,7 +105,9 @@
                         CommonProperties.JSON_JACKSON_ENABLED_MODULES, String.class);
 
         final List<Module> modules = ObjectMapper.findModules();
-        modules.removeIf(mod -> mod.getModuleName().contains(EXCLUDE_MODULE_NAME));
+        for (String exludeModuleName : EXCLUDE_MODULE_NAMES) {
+            modules.removeIf(mod -> mod.getModuleName().contains(exludeModuleName));
+        }
 
         if (enabledModules != null && !enabledModules.isEmpty()) {
             final List<String> enabledModulesList = Arrays.asList(enabledModules.split(","));
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/FilteringJacksonJaxbJsonProvider.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/FilteringJacksonJaxbJsonProvider.java
index 9039844..5767040 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/FilteringJacksonJaxbJsonProvider.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/FilteringJacksonJaxbJsonProvider.java
@@ -22,15 +22,15 @@
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 import org.glassfish.jersey.jackson.internal.jackson.jaxrs.cfg.EndpointConfigBase;
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonAutoDiscoverable.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonAutoDiscoverable.java
index 2003081..6a3a2a7 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonAutoDiscoverable.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.jackson.internal;
 
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.jackson.JacksonFeature;
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonFilteringFeature.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonFilteringFeature.java
index 2a0e86c..0279b12 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonFilteringFeature.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonFilteringFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.jackson.internal;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.message.filtering.spi.ObjectGraphTransformer;
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonMapperConfigurator.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonMapperConfigurator.java
new file mode 100644
index 0000000..7be7b11
--- /dev/null
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonMapperConfigurator.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jackson.internal;
+
+import com.fasterxml.jackson.databind.AnnotationIntrospector;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationIntrospector;
+import org.glassfish.jersey.internal.util.ReflectionHelper;
+import org.glassfish.jersey.internal.util.collection.LazyValue;
+import org.glassfish.jersey.internal.util.collection.Value;
+import org.glassfish.jersey.internal.util.collection.Values;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.cfg.Annotations;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JsonMapperConfigurator;
+
+import java.security.AccessController;
+import java.util.ArrayList;
+
+public class JacksonMapperConfigurator extends JsonMapperConfigurator {
+    public JacksonMapperConfigurator(ObjectMapper mapper, Annotations[] defAnnotations) {
+        super(mapper, defAnnotations);
+    }
+
+    @Override
+    protected AnnotationIntrospector _resolveIntrospectors(Annotations[] annotationsToUse) {
+        // Let's ensure there are no dups there first, filter out nulls
+        ArrayList<AnnotationIntrospector> intr = new ArrayList<AnnotationIntrospector>();
+        for (Annotations a : annotationsToUse) {
+            if (a != null) {
+                _resolveIntrospector(a, intr);
+            }
+        }
+        int count = intr.size();
+        if (count == 0) {
+            return AnnotationIntrospector.nopInstance();
+        }
+        AnnotationIntrospector curr = intr.get(0);
+        for (int i = 1, len = intr.size(); i < len; ++i) {
+            curr = AnnotationIntrospector.pair(curr, intr.get(i));
+        }
+        return curr;
+    }
+
+    protected void _resolveIntrospector(Annotations ann, ArrayList<AnnotationIntrospector> intr) {
+        switch (ann) {
+            case JAXB:
+                /* For this, need to use indirection just so that error occurs
+                 * when we get here, and not when this class is being loaded
+                 */
+                try {
+                    if (_jaxbIntrospectorClass == null) {
+                        _jaxbIntrospectorClass = JakartaXmlBindAnnotationIntrospector.class;
+                    }
+                    intr.add(JakartaXmlBindAnnotationIntrospector.class.newInstance());
+                } catch (Exception e) {
+                    throw new IllegalStateException("Failed to instantiate JakartaXmlBindAnnotationIntrospector: "
+                            + e.getMessage(), e);
+                }
+
+                if (jaxb2AnnotationIntrospector.get() == true) {
+                    Class<? extends AnnotationIntrospector> tempJaxbIntrospectorClass = _jaxbIntrospectorClass;
+                    _jaxbIntrospectorClass = null;
+                    intr.add(super._resolveIntrospector(ann));
+                    _jaxbIntrospectorClass = tempJaxbIntrospectorClass;
+                }
+                break;
+            default:
+                intr.add(super._resolveIntrospector(ann));
+        }
+    }
+
+    private static LazyValue<Boolean> jaxb2AnnotationIntrospector = Values.lazy((Value<Boolean>) () -> {
+        final Class<?> aClass = AccessController.doPrivileged(
+                ReflectionHelper.classForNamePA("com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector")
+        );
+        return aClass != null;
+    });
+}
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonObjectProvider.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonObjectProvider.java
index c1b3d30..74f510c 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonObjectProvider.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/JacksonObjectProvider.java
@@ -39,8 +39,8 @@
 import com.fasterxml.jackson.databind.ser.PropertyWriter;
 import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
 
 /**
  * @author Michal Gajdos
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/JsonMappingExceptionMapper.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/JsonMappingExceptionMapper.java
index 25e13e5..5d1919e 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/JsonMappingExceptionMapper.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/JsonMappingExceptionMapper.java
@@ -1,14 +1,14 @@
 package org.glassfish.jersey.jackson.internal.jackson.jaxrs.base;
 import com.fasterxml.jackson.databind.JsonMappingException;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * Implementation if {@link ExceptionMapper} to send down a "400 Bad Request"
  * response in the event that unmappable JSON is received.
  *<p>
- * Note that {@link javax.ws.rs.ext.Provider} annotation was include up to
+ * Note that {@link jakarta.ws.rs.ext.Provider} annotation was include up to
  * Jackson 2.7, but removed from 2.8 (as per [jaxrs-providers#22]
  *
  * @since 2.2
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/JsonParseExceptionMapper.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/JsonParseExceptionMapper.java
index 4be9aa5..f96f09b 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/JsonParseExceptionMapper.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/JsonParseExceptionMapper.java
@@ -1,14 +1,14 @@
 package org.glassfish.jersey.jackson.internal.jackson.jaxrs.base;
 import com.fasterxml.jackson.core.JsonParseException;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * Implementation of {@link ExceptionMapper} to send down a "400 Bad Request"
  * in the event unparsable JSON is received.
  *<p>
- * Note that {@link javax.ws.rs.ext.Provider} annotation was include up to
+ * Note that {@link jakarta.ws.rs.ext.Provider} annotation was include up to
  * Jackson 2.7, but removed from 2.8 (as per [jaxrs-providers#22]
  *
  * @since 2.2
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/ProviderBase.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/ProviderBase.java
index ac6a9a5..bf365bb 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/ProviderBase.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/base/ProviderBase.java
@@ -13,13 +13,13 @@
 import java.util.HashSet;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.jackson.internal.jackson.jaxrs.cfg.AnnotationBundleKey;
 import org.glassfish.jersey.jackson.internal.jackson.jaxrs.cfg.Annotations;
@@ -62,7 +62,7 @@
      */
     public final static String HEADER_CONTENT_TYPE_OPTIONS = "X-Content-Type-Options";
 
-    protected final static String CLASS_NAME_NO_CONTENT_EXCEPTION = "javax.ws.rs.core.NoContentException";
+    protected final static String CLASS_NAME_NO_CONTENT_EXCEPTION = "jakarta.ws.rs.core.NoContentException";
 
     private final static String NO_CONTENT_MESSAGE = "No content (empty input stream)";
 
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/JaxRSFeature.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/JaxRSFeature.java
index 3d2300f..c0f0da5 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/JaxRSFeature.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/JaxRSFeature.java
@@ -22,7 +22,7 @@
      * If set to true, empty content is allowed and will be read as Java 'null': if false,
      * an {@link java.io.IOException} will be thrown.
      *<p>
-     * NOTE: in case of JAX-RS 2.0, specific exception will be <code>javax.ws.rs.core.NoContentException</code>;
+     * NOTE: in case of JAX-RS 2.0, specific exception will be <code>jakarta.ws.rs.core.NoContentException</code>;
      * but this is not defined in JAX-RS 1.x.
      */
     ALLOW_EMPTY_INPUT(true),
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectReaderModifier.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectReaderModifier.java
index e078b35..3f3b56a 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectReaderModifier.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectReaderModifier.java
@@ -2,7 +2,7 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.databind.JavaType;
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier.java
index acc8f1c..4d39af4 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier.java
@@ -2,7 +2,7 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.ObjectWriter;
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJaxbJsonProvider.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJaxbJsonProvider.java
index 663eae8..eb7c072 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJaxbJsonProvider.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJaxbJsonProvider.java
@@ -1,9 +1,9 @@
 package org.glassfish.jersey.jackson.internal.jackson.jaxrs.json;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.jackson.internal.jackson.jaxrs.cfg.Annotations;
 
@@ -63,4 +63,10 @@
     {
         super(mapper, annotationsToUse);
     }
+
+    // Do not erase - Jersey required constructor
+    protected JacksonJaxbJsonProvider(JsonMapperConfigurator configurator)
+    {
+        super(configurator);
+    }
 }
diff --git a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJsonProvider.java b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJsonProvider.java
index dc5fff8..0871ece 100644
--- a/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJsonProvider.java
+++ b/media/json-jackson/src/main/java/org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJsonProvider.java
@@ -2,15 +2,15 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.jackson.internal.jackson.jaxrs.base.ProviderBase;
 import org.glassfish.jersey.jackson.internal.jackson.jaxrs.cfg.Annotations;
@@ -137,6 +137,11 @@
         super(new JsonMapperConfigurator(mapper, annotationsToUse));
     }
 
+    // Do not erase - Jersey required constructor
+    protected JacksonJsonProvider(JsonMapperConfigurator configurator) {
+        super(configurator);
+    }
+
     /**
      * Method that will return version information stored in and read from jar
      * that contains this class.
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProviderTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProviderTest.java
index 388ca2a..9488a16 100644
--- a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProviderTest.java
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJacksonJaxbJsonProviderTest.java
@@ -21,7 +21,7 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForBothModulesTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForBothModulesTest.java
index 9d86b84..59d19c1 100644
--- a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForBothModulesTest.java
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForBothModulesTest.java
@@ -21,7 +21,7 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForDisabledModulesTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForDisabledModulesTest.java
index db52e11..3e40866 100644
--- a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForDisabledModulesTest.java
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForDisabledModulesTest.java
@@ -25,12 +25,12 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.annotation.PostConstruct;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForEnabledModulesTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForEnabledModulesTest.java
index 5e7f490..58a5e5a 100644
--- a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForEnabledModulesTest.java
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/DefaultJsonJacksonProviderForEnabledModulesTest.java
@@ -21,8 +21,8 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/JacksonJaxb2JsonProviderTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/JacksonJaxb2JsonProviderTest.java
new file mode 100644
index 0000000..4a85090
--- /dev/null
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/JacksonJaxb2JsonProviderTest.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jackson.internal;
+
+import jakarta.ws.rs.core.Application;
+import org.glassfish.jersey.jackson.internal.model.Jaxb2ServiceTest;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public final class JacksonJaxb2JsonProviderTest extends JerseyTest {
+
+    @Override
+    protected final Application configure() {
+        return new ResourceConfig(Jaxb2ServiceTest.class);
+    }
+
+    @Test
+    public final void testJavaOptional() {
+        final String response = target("entity/simple").request().get(String.class);
+        assertEquals("{\"name\":\"Hello\",\"value\":\"World\"}", response);
+    }
+}
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/StreamReadConstrainsTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/StreamReadConstrainsTest.java
index 685cbb2..8fa7cb9 100644
--- a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/StreamReadConstrainsTest.java
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/StreamReadConstrainsTest.java
@@ -21,10 +21,23 @@
 import com.fasterxml.jackson.core.StreamReadConstraints;
 import com.fasterxml.jackson.core.exc.StreamConstraintsException;
 import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.JsonSerializable;
 import com.fasterxml.jackson.databind.Module;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.TextNode;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ExceptionMapper;
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.MessageProperties;
@@ -33,23 +46,6 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.Priority;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ExceptionMapper;
-
 import java.lang.reflect.Method;
 import java.util.List;
 
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/JAXBServiceTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/JAXBServiceTest.java
index 80dbef0..ed312a3 100644
--- a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/JAXBServiceTest.java
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/JAXBServiceTest.java
@@ -18,10 +18,10 @@
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 import javax.xml.bind.annotation.XmlRootElement;
 import java.util.Optional;
 
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/Jaxb2ServiceTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/Jaxb2ServiceTest.java
new file mode 100644
index 0000000..a679142
--- /dev/null
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/Jaxb2ServiceTest.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.jackson.internal.model;
+
+import com.fasterxml.jackson.annotation.JsonGetter;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import javax.xml.bind.annotation.XmlElement;
+
+import java.util.Optional;
+
+@Path("/entity/")
+public final class Jaxb2ServiceTest {
+
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    @Path("/simple")
+    public final EntityTest simple() {
+        return new EntityTest("Hello", "World");
+    }
+
+    private static final class EntityTest {
+
+        private final String name;
+
+        private final String value;
+
+        EntityTest(final String name, final String value) {
+            this.name = name;
+            this.value = value;
+        }
+
+        @XmlElement(name = "jaxb")
+        @JsonGetter("name")
+        public final String getName() {
+            return name;
+        }
+
+        @JsonGetter("value")
+        public final Optional<String> getValue() {
+            return Optional.ofNullable(value);
+        }
+    }
+}
diff --git a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/ServiceTest.java b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/ServiceTest.java
index f3a664c..314cc99 100644
--- a/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/ServiceTest.java
+++ b/media/json-jackson/src/test/java/org/glassfish/jersey/jackson/internal/model/ServiceTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import com.fasterxml.jackson.annotation.JsonGetter;
 
 import java.util.Optional;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.xml.bind.annotation.XmlElement;
 
 @Path("/entity/")
 public final class ServiceTest {
diff --git a/media/json-jackson1/pom.xml b/media/json-jackson1/pom.xml
index 81e8396..e69de29 100644
--- a/media/json-jackson1/pom.xml
+++ b/media/json-jackson1/pom.xml
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2014, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.glassfish.jersey.media</groupId>
-        <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>jersey-media-json-jackson1</artifactId>
-    <packaging>jar</packaging>
-    <name>jersey-media-json-jackson1</name>
-
-    <description>
-        Jersey JSON Jackson (1.x) entity providers support module.
-    </description>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>com.sun.istack</groupId>
-                <artifactId>istack-commons-maven-plugin</artifactId>
-                <inherited>true</inherited>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <inherited>true</inherited>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <inherited>true</inherited>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Export-Package>org.glassfish.jersey.jackson1.*</Export-Package>
-                    </instructions>
-                    <unpackBundle>true</unpackBundle>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.jersey.core</groupId>
-            <artifactId>jersey-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-xc</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/media/json-jackson1/src/main/java/org/glassfish/jersey/jackson1/Jackson1Feature.java b/media/json-jackson1/src/main/java/org/glassfish/jersey/jackson1/Jackson1Feature.java
deleted file mode 100644
index 6241842..0000000
--- a/media/json-jackson1/src/main/java/org/glassfish/jersey/jackson1/Jackson1Feature.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.jackson1;
-
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-
-import org.glassfish.jersey.CommonProperties;
-import org.glassfish.jersey.internal.InternalProperties;
-import org.glassfish.jersey.internal.util.PropertiesHelper;
-
-import org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider;
-import org.codehaus.jackson.jaxrs.JsonMappingExceptionMapper;
-import org.codehaus.jackson.jaxrs.JsonParseExceptionMapper;
-
-/**
- * Feature used to register Jackson (1.x) JSON providers.
- *
- * @author Stepan Kopriva
- * @author Michal Gajdos
- */
-public final class Jackson1Feature implements Feature {
-
-    private static final String JSON_FEATURE = Jackson1Feature.class.getSimpleName();
-
-    @Override
-    public boolean configure(final FeatureContext context) {
-        final Configuration config = context.getConfiguration();
-
-        final String jsonFeature = CommonProperties.getValue(config.getProperties(), config.getRuntimeType(),
-                InternalProperties.JSON_FEATURE, JSON_FEATURE, String.class);
-        // Other JSON providers registered.
-        if (!JSON_FEATURE.equalsIgnoreCase(jsonFeature)) {
-            return false;
-        }
-
-        // Disable other JSON providers.
-        context.property(PropertiesHelper.getPropertyNameForRuntime(InternalProperties.JSON_FEATURE, config.getRuntimeType()),
-                JSON_FEATURE);
-
-        // add the default Jackson exception mappers
-        context.register(JsonParseExceptionMapper.class);
-        context.register(JsonMappingExceptionMapper.class);
-        context.register(JacksonJaxbJsonProvider.class, MessageBodyReader.class, MessageBodyWriter.class);
-        return true;
-    }
-}
diff --git a/media/json-jackson1/src/main/java/org/glassfish/jersey/jackson1/package-info.java b/media/json-jackson1/src/main/java/org/glassfish/jersey/jackson1/package-info.java
deleted file mode 100644
index 706055d..0000000
--- a/media/json-jackson1/src/main/java/org/glassfish/jersey/jackson1/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/**
- * Jersey classes supporting JSON media type processing based on Jackson 1.x.
- */
-package org.glassfish.jersey.jackson1;
diff --git a/media/json-jettison/pom.xml b/media/json-jettison/pom.xml
index 7212a96..30e074b 100644
--- a/media/json-jettison/pom.xml
+++ b/media/json-jettison/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-json-jettison</artifactId>
@@ -66,6 +66,11 @@
 
     <dependencies>
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>org.glassfish.jersey.core</groupId>
             <artifactId>jersey-common</artifactId>
             <version>${project.version}</version>
@@ -88,19 +93,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
 </project>
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonFeature.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonFeature.java
index d8c1c99..644f232 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonFeature.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.jettison;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.InternalProperties;
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonJaxbContext.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonJaxbContext.java
index 1ed6125..f76ab53 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonJaxbContext.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonJaxbContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,11 +18,11 @@
 
 import java.util.Map;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.Validator;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.Validator;
 
 import org.glassfish.jersey.jettison.internal.BaseJsonMarshaller;
 import org.glassfish.jersey.jettison.internal.BaseJsonUnmarshaller;
@@ -30,7 +30,7 @@
 import org.glassfish.jersey.jettison.internal.JettisonJaxbUnmarshaller;
 
 /**
- * An adaption of {@link javax.xml.bind.JAXBContext} that supports marshalling
+ * An adaption of {@link jakarta.xml.bind.JAXBContext} that supports marshalling
  * and unmarshalling of JAXB beans using the JSON format.
  * <p>
  * The JSON format may be configured by using a {@link JettisonConfig} object
@@ -47,7 +47,7 @@
      * @param classesToBeBound list of java classes to be recognized by the
      *        new JsonJaxbContext. Can be empty, in which case a JsonJaxbContext
      *        that only knows about spec-defined classes will be returned.
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(Class... classesToBeBound) throws JAXBException {
@@ -61,7 +61,7 @@
      * @param classesToBeBound list of java classes to be recognized by the
      *        new JsonJaxbContext. Can be empty, in which case a JsonJaxbContext
      *        that only knows about spec-defined classes will be returned.
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(final JettisonConfig config, final Class... classesToBeBound) throws JAXBException {
@@ -83,7 +83,7 @@
      *        that only knows about spec-defined classes will be returned.
      * @param properties the custom set of properties. If it contains(now deprecated) JSON related properties,
      *                  then a non-default {@link JettisonConfig} is used reflecting the JSON properties
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(Class[] classesToBeBound, Map<String, Object> properties)
@@ -105,7 +105,7 @@
      *        new JsonJaxbContext. Can be empty, in which case a JsonJaxbContext
      *        that only knows about spec-defined classes will be returned.
      * @param properties the custom set of properties.
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(final JettisonConfig config, final Class[] classesToBeBound, final Map<String,
@@ -126,7 +126,7 @@
      * @param contextPath list of java package names that contain schema
      *        derived class and/or java to schema (JAXB-annotated) mapped
      *        classes
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(String contextPath)
@@ -142,7 +142,7 @@
      * @param contextPath list of java package names that contain schema
      *        derived class and/or java to schema (JAXB-annotated) mapped
      *        classes
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(JettisonConfig config, String contextPath)
@@ -163,7 +163,7 @@
      *        derived class and/or java to schema (JAXB-annotated) mapped
      *        classes
      * @param classLoader
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(String contextPath, ClassLoader classLoader)
@@ -182,7 +182,7 @@
      *        classes
      * @param classLoader
      * @param properties the custom set of properties.
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(String contextPath, ClassLoader classLoader, Map<String, Object> properties)
@@ -203,7 +203,7 @@
      *        classes
      * @param classLoader
      * @param properties the custom set of properties.
-     * @throws javax.xml.bind.JAXBException if an error was encountered while creating the
+     * @throws jakarta.xml.bind.JAXBException if an error was encountered while creating the
      *         underlying JAXBContext.
      */
     public JettisonJaxbContext(JettisonConfig config, String contextPath, ClassLoader classLoader, Map<String, Object> properties)
@@ -217,7 +217,7 @@
     }
 
     /**
-     * Get a {@link org.glassfish.jersey.jettison.JettisonMarshaller} from a {@link javax.xml.bind.Marshaller}.
+     * Get a {@link org.glassfish.jersey.jettison.JettisonMarshaller} from a {@link jakarta.xml.bind.Marshaller}.
      *
      * @param marshaller the JAXB marshaller.
      * @return the JSON marshaller.
@@ -232,7 +232,7 @@
     }
 
     /**
-     * Get a {@link org.glassfish.jersey.jettison.JettisonUnmarshaller} from a {@link javax.xml.bind.Unmarshaller}.
+     * Get a {@link org.glassfish.jersey.jettison.JettisonUnmarshaller} from a {@link jakarta.xml.bind.Unmarshaller}.
      *
      * @param unmarshaller the JAXB unmarshaller.
      * @return the JSON unmarshaller.
@@ -260,7 +260,7 @@
      *
      * @return the JSON unmarshaller
      *
-     * @throws javax.xml.bind.JAXBException if there is an error creating the unmarshaller.
+     * @throws jakarta.xml.bind.JAXBException if there is an error creating the unmarshaller.
      */
     public org.glassfish.jersey.jettison.JettisonUnmarshaller createJsonUnmarshaller() throws JAXBException {
         return new JettisonJaxbUnmarshaller(this, getJSONConfiguration());
@@ -271,7 +271,7 @@
      *
      * @return the JSON marshaller.
      *
-     * @throws javax.xml.bind.JAXBException if there is an error creating the marshaller.
+     * @throws jakarta.xml.bind.JAXBException if there is an error creating the marshaller.
      */
     public org.glassfish.jersey.jettison.JettisonMarshaller createJsonMarshaller() throws JAXBException {
         return new JettisonJaxbMarshaller(this, getJSONConfiguration());
@@ -282,7 +282,7 @@
      * an unmarshaller which is capable of JSON deserialization.
      *
      * @return unmarshaller instance with JSON capabilities
-     * @throws javax.xml.bind.JAXBException
+     * @throws jakarta.xml.bind.JAXBException
      */
     @Override
     public Unmarshaller createUnmarshaller() throws JAXBException {
@@ -294,7 +294,7 @@
      * a marshaller which is capable of JSON serialization.
      *
      * @return marshaller instance with JSON capabilities
-     * @throws javax.xml.bind.JAXBException
+     * @throws jakarta.xml.bind.JAXBException
      */
     @Override
     public Marshaller createMarshaller() throws JAXBException {
@@ -305,7 +305,7 @@
      * Simply delegates to underlying JAXBContext implementation.
      *
      * @return what underlying JAXBContext returns
-     * @throws javax.xml.bind.JAXBException
+     * @throws jakarta.xml.bind.JAXBException
      */
     @Override
     public Validator createValidator() throws JAXBException {
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonMarshaller.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonMarshaller.java
index 49392e1..7cb9b56 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonMarshaller.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonMarshaller.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.io.OutputStream;
 import java.io.Writer;
 
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.PropertyException;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.PropertyException;
 
 /**
  * A JSON marshaller responsible for serializing Java content trees, defined
@@ -37,16 +37,16 @@
      * Marshall the content tree rooted at <code>jaxbElement</code> into an
      * output stream. The content tree may be an instance of a class that is
      * mapped to a XML root element (for example, annotated with
-     * {@link javax.xml.bind.annotation.XmlRootElement}) or an instance of {@link javax.xml.bind.JAXBElement}.
+     * {@link jakarta.xml.bind.annotation.XmlRootElement}) or an instance of {@link jakarta.xml.bind.JAXBElement}.
      * <p>
      * The UTF-8 character encoding scheme will be used to encode the characters
      * of the JSON data.
      *
      * @param jaxbElement the root of the content tree to be marshalled.
      * @param os the JSON will be added to this stream.
-     * @throws javax.xml.bind.JAXBException if any unexpected problem occurs during the
+     * @throws jakarta.xml.bind.JAXBException if any unexpected problem occurs during the
      *         marshalling.
-     * @throws javax.xml.bind.MarshalException if the <code>JsonMarshaller</code> is unable to
+     * @throws jakarta.xml.bind.MarshalException if the <code>JsonMarshaller</code> is unable to
      *         marshal <code>jaxbElement</code> (or any object reachable from obj)
      * @throws IllegalArgumentException if any of the method parameters are null.
      *
@@ -57,16 +57,16 @@
      * Marshall the content tree rooted at <code>jaxbElement</code> into an
      * output stream. The content tree may be an instance of a class that is
      * mapped to a XML root element (for example, annotated with
-     * {@link javax.xml.bind.annotation.XmlRootElement}) or an instance of {@link javax.xml.bind.JAXBElement}.
+     * {@link jakarta.xml.bind.annotation.XmlRootElement}) or an instance of {@link jakarta.xml.bind.JAXBElement}.
      * <p>
      * The character encoding scheme of the <code>writer</code> will be used to
      * encode the characters of the JSON data.
      *
      * @param jaxbElement the root of the content tree to be marshalled.
      * @param writer the JSON will be added to this writer.
-     * @throws javax.xml.bind.JAXBException if any unexpected problem occurs during the
+     * @throws jakarta.xml.bind.JAXBException if any unexpected problem occurs during the
      *         marshalling.
-     * @throws javax.xml.bind.MarshalException if the <code>JsonMarshaller</code> is unable to
+     * @throws jakarta.xml.bind.MarshalException if the <code>JsonMarshaller</code> is unable to
      *         marshal <code>jaxbElement</code> (or any object reachable from obj)
      * @throws IllegalArgumentException If any of the method parameters are null.
      */
@@ -82,7 +82,7 @@
      *              supplied string.
      * @param value the value of the property to be set
      *
-     * @throws javax.xml.bind.PropertyException when there is an error processing the given
+     * @throws jakarta.xml.bind.PropertyException when there is an error processing the given
      *                            property or value
      * @throws IllegalArgumentException
      *      If the name parameter is null
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonUnmarshaller.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonUnmarshaller.java
index a3be31a..c3e7fab 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonUnmarshaller.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/JettisonUnmarshaller.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.io.InputStream;
 import java.io.Reader;
 
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
 
 /**
  * A JSON unmarshaller responsible for deserializing JSON data to a Java
@@ -44,10 +44,10 @@
      * @return the newly created root object of the Java content tree. The
      *         content tree may be an instance of a class that is
      *         mapped to a XML root element (for example, annotated with
-     *         {@link javax.xml.bind.annotation.XmlRootElement}) or mapped to an XML type (for example,
-     *         annotated with {@link javax.xml.bind.annotation.XmlType}).
-     * @throws javax.xml.bind.JAXBException if any unexpected errors occur while unmarshalling.
-     * @throws javax.xml.bind.UnmarshalException if the <code>JsonUnmarshaller</code> is unable
+     *         {@link jakarta.xml.bind.annotation.XmlRootElement}) or mapped to an XML type (for example,
+     *         annotated with {@link jakarta.xml.bind.annotation.XmlType}).
+     * @throws jakarta.xml.bind.JAXBException if any unexpected errors occur while unmarshalling.
+     * @throws jakarta.xml.bind.UnmarshalException if the <code>JsonUnmarshaller</code> is unable
      *         to perform the JSON to Java binding.
      */
     <T> T unmarshalFromJSON(InputStream is, Class<T> expectedType) throws JAXBException;
@@ -65,10 +65,10 @@
      * @return the newly created root object of the Java content tree. The
      *         content tree may be an instance of a class that is
      *         mapped to a XML root element (for example, annotated with
-     *         {@link javax.xml.bind.annotation.XmlRootElement}) or mapped to an XML type (for example,
-     *         annotated with {@link javax.xml.bind.annotation.XmlType}).
-     * @throws javax.xml.bind.JAXBException if any unexpected errors occur while unmarshalling.
-     * @throws javax.xml.bind.UnmarshalException if the <code>JsonUnmarshaller</code> is unable
+     *         {@link jakarta.xml.bind.annotation.XmlRootElement}) or mapped to an XML type (for example,
+     *         annotated with {@link jakarta.xml.bind.annotation.XmlType}).
+     * @throws jakarta.xml.bind.JAXBException if any unexpected errors occur while unmarshalling.
+     * @throws jakarta.xml.bind.UnmarshalException if the <code>JsonUnmarshaller</code> is unable
      *         to perform the JSON to Java binding.
      */
     <T> T unmarshalFromJSON(Reader reader, Class<T> expectedType) throws JAXBException;
@@ -83,12 +83,12 @@
      * @param <T> the type of the Java content tree.
      * @param is the InputStream to unmarshal JSON data from.
      * @param declaredType a class that is mapped to a XML root element
-     *        (for example, annotated with {@link javax.xml.bind.annotation.XmlRootElement}) or mapped to
-     *        an XML type (for example, annotated with {@link javax.xml.bind.annotation.XmlType}).
+     *        (for example, annotated with {@link jakarta.xml.bind.annotation.XmlRootElement}) or mapped to
+     *        an XML type (for example, annotated with {@link jakarta.xml.bind.annotation.XmlType}).
      * @return the newly created root object of the Java content tree, root
-     *         by a {@link javax.xml.bind.JAXBElement} instance.
-     * @throws javax.xml.bind.JAXBException if any unexpected errors occur while unmarshalling.
-     * @throws javax.xml.bind.UnmarshalException if the <code>JsonUnmarshaller</code> is unable
+     *         by a {@link jakarta.xml.bind.JAXBElement} instance.
+     * @throws jakarta.xml.bind.JAXBException if any unexpected errors occur while unmarshalling.
+     * @throws jakarta.xml.bind.UnmarshalException if the <code>JsonUnmarshaller</code> is unable
      *         to perform the JSON to Java binding.
      */
     <T> JAXBElement<T> unmarshalJAXBElementFromJSON(InputStream is, Class<T> declaredType) throws JAXBException;
@@ -103,12 +103,12 @@
      * @param <T> the type of the Java content tree.
      * @param reader the Reader to unmarshal JSON data from.
      * @param declaredType a class that is mapped to a XML root element
-     *        (for example, annotated with {@link javax.xml.bind.annotation.XmlRootElement}) or mapped to
-     *        an XML type (for example, annotated with {@link javax.xml.bind.annotation.XmlType}).
+     *        (for example, annotated with {@link jakarta.xml.bind.annotation.XmlRootElement}) or mapped to
+     *        an XML type (for example, annotated with {@link jakarta.xml.bind.annotation.XmlType}).
      * @return the newly created root object of the Java content tree, root
-     *         by a {@link javax.xml.bind.JAXBElement} instance.
-     * @throws javax.xml.bind.JAXBException if any unexpected errors occur while unmarshalling.
-     * @throws javax.xml.bind.UnmarshalException if the <code>JsonUnmarshaller</code> is unable
+     *         by a {@link jakarta.xml.bind.JAXBElement} instance.
+     * @throws jakarta.xml.bind.JAXBException if any unexpected errors occur while unmarshalling.
+     * @throws jakarta.xml.bind.UnmarshalException if the <code>JsonUnmarshaller</code> is unable
      *         to perform the JSON to Java binding.
      */
     <T> JAXBElement<T> unmarshalJAXBElementFromJSON(Reader reader, Class<T> declaredType) throws JAXBException;
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/BaseJsonMarshaller.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/BaseJsonMarshaller.java
index bc2bf14..6e137af 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/BaseJsonMarshaller.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/BaseJsonMarshaller.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,10 +22,10 @@
 import java.io.Writer;
 import java.nio.charset.Charset;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.PropertyException;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.PropertyException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.glassfish.jersey.jettison.JettisonConfig;
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/BaseJsonUnmarshaller.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/BaseJsonUnmarshaller.java
index c9c4867..0aa13c2 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/BaseJsonUnmarshaller.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/BaseJsonUnmarshaller.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,12 +21,12 @@
 import java.io.Reader;
 import java.nio.charset.Charset;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.UnmarshalException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.UnmarshalException;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.annotation.XmlRootElement;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/JettisonJaxbMarshaller.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/JettisonJaxbMarshaller.java
index 3200cba..cd78fc9 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/JettisonJaxbMarshaller.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/JettisonJaxbMarshaller.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,13 +20,13 @@
 import java.io.OutputStream;
 import java.io.Writer;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.PropertyException;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-import javax.xml.bind.attachment.AttachmentMarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.PropertyException;
+import jakarta.xml.bind.ValidationEventHandler;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.attachment.AttachmentMarshaller;
 import javax.xml.stream.XMLEventWriter;
 import javax.xml.stream.XMLStreamWriter;
 import javax.xml.transform.Result;
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/JettisonJaxbUnmarshaller.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/JettisonJaxbUnmarshaller.java
index e6b7d05..3d24d50 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/JettisonJaxbUnmarshaller.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/JettisonJaxbUnmarshaller.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,15 +21,15 @@
 import java.io.Reader;
 import java.net.URL;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.PropertyException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.UnmarshallerHandler;
-import javax.xml.bind.ValidationEventHandler;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-import javax.xml.bind.attachment.AttachmentUnmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.PropertyException;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.UnmarshallerHandler;
+import jakarta.xml.bind.ValidationEventHandler;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.attachment.AttachmentUnmarshaller;
 import javax.xml.stream.XMLEventReader;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.transform.Source;
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonArrayProvider.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonArrayProvider.java
index 7146dc7..1a15641 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonArrayProvider.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonArrayProvider.java
@@ -23,11 +23,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.jettison.internal.LocalizationMessages;
 
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonJaxbElementProvider.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonJaxbElementProvider.java
index b827baa..4e7d7d7 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonJaxbElementProvider.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonJaxbElementProvider.java
@@ -24,18 +24,18 @@
 import java.lang.reflect.Type;
 import java.nio.charset.Charset;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
 
 import org.glassfish.jersey.jaxb.internal.AbstractJaxbElementProvider;
 import org.glassfish.jersey.jettison.JettisonJaxbContext;
@@ -43,7 +43,7 @@
 import org.glassfish.jersey.message.internal.ReaderWriter;
 
 /**
- * JSON message entity media type provider (reader & writer) for {@link javax.xml.bind.JAXBElement}
+ * JSON message entity media type provider (reader & writer) for {@link jakarta.xml.bind.JAXBElement}
  * type.
  *
  * @author Jakub Podlesak
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonListElementProvider.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonListElementProvider.java
index 5bf34fc..e1c3dbd 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonListElementProvider.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonListElementProvider.java
@@ -28,17 +28,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonLowLevelProvider.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonLowLevelProvider.java
index a3d2280..9ec917d 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonLowLevelProvider.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonLowLevelProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider;
 
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonObjectProvider.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonObjectProvider.java
index 9c42caf..2f4eaec 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonObjectProvider.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonObjectProvider.java
@@ -23,11 +23,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.jettison.internal.LocalizationMessages;
 
diff --git a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonRootElementProvider.java b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonRootElementProvider.java
index 68e39e2..cdbec6a 100644
--- a/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonRootElementProvider.java
+++ b/media/json-jettison/src/main/java/org/glassfish/jersey/jettison/internal/entity/JettisonRootElementProvider.java
@@ -24,17 +24,17 @@
 import java.lang.reflect.Type;
 import java.nio.charset.Charset;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
 
 import org.glassfish.jersey.jaxb.internal.AbstractRootElementJaxbProvider;
 import org.glassfish.jersey.jettison.JettisonJaxbContext;
@@ -43,8 +43,8 @@
 
 /**
  * JSON message entity media type provider (reader & writer) for JAXB types that
- * are annotated with {@link javax.xml.bind.annotation.XmlRootElement &#64;XmlRootElement}
- * or {@link javax.xml.bind.annotation.XmlType &#64;XmlType}.
+ * are annotated with {@link jakarta.xml.bind.annotation.XmlRootElement &#64;XmlRootElement}
+ * or {@link jakarta.xml.bind.annotation.XmlType &#64;XmlType}.
  *
  * @author Paul Sandoz
  * @author Jakub Podlesak
diff --git a/media/json-processing/pom.xml b/media/json-processing/pom.xml
index ea24243..aa851ad 100644
--- a/media/json-processing/pom.xml
+++ b/media/json-processing/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-json-processing</artifactId>
@@ -56,9 +56,8 @@
                         <Export-Package>org.glassfish.jersey.jsonp.*;version=${project.version}</Export-Package>
                         <!-- TODO: change to ${range;[==,+);${jsonp.api.version}} once the version is final-->
                         <Import-Package>
-                            ${javax.annotation.osgi.version},
-                            javax.json.*;version="[0,2)",
-                            org.glassfish.json.*;version="[0,2)",
+                            ${jakarta.annotation.osgi.version},
+                            jakarta.json.*;version="[2,3)",
                             *
                         </Import-Package>
                     </instructions>
@@ -77,12 +76,16 @@
 
         <!-- JSON-P API + RI + JAX-RS Providers -->
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
+            <groupId>jakarta.json</groupId>
+            <artifactId>jakarta.json-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jsonp-jaxrs</artifactId>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson-media</artifactId>
         </dependency>
 
         <dependency>
@@ -102,5 +105,10 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/media/json-processing/src/main/java/org/glassfish/jersey/jsonp/JsonProcessingFeature.java b/media/json-processing/src/main/java/org/glassfish/jersey/jsonp/JsonProcessingFeature.java
index c065770..aa3e96c 100644
--- a/media/json-processing/src/main/java/org/glassfish/jersey/jsonp/JsonProcessingFeature.java
+++ b/media/json-processing/src/main/java/org/glassfish/jersey/jsonp/JsonProcessingFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.jsonp;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+
+import org.eclipse.parsson.media.JsonValueBodyReader;
+import org.eclipse.parsson.media.JsonValueBodyWriter;
 
 import org.glassfish.jersey.CommonProperties;
 
-import org.glassfish.json.jaxrs.JsonValueBodyReader;
-import org.glassfish.json.jaxrs.JsonValueBodyWriter;
-
 /**
  * {@link Feature} used to register JSON-P providers.
  *
diff --git a/media/json-processing/src/main/java/org/glassfish/jersey/jsonp/internal/JsonProcessingAutoDiscoverable.java b/media/json-processing/src/main/java/org/glassfish/jersey/jsonp/internal/JsonProcessingAutoDiscoverable.java
index 937043d..662d5c1 100644
--- a/media/json-processing/src/main/java/org/glassfish/jersey/jsonp/internal/JsonProcessingAutoDiscoverable.java
+++ b/media/json-processing/src/main/java/org/glassfish/jersey/jsonp/internal/JsonProcessingAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.jsonp.internal;
 
-import javax.annotation.Priority;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
diff --git a/media/json-processing/src/test/java/org/glassfish/jersey/jsonp/JsonProcessingAutoDiscoverableClientTest.java b/media/json-processing/src/test/java/org/glassfish/jersey/jsonp/JsonProcessingAutoDiscoverableClientTest.java
index e309e5a..2b57034 100644
--- a/media/json-processing/src/test/java/org/glassfish/jersey/jsonp/JsonProcessingAutoDiscoverableClientTest.java
+++ b/media/json-processing/src/test/java/org/glassfish/jersey/jsonp/JsonProcessingAutoDiscoverableClientTest.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/media/json-processing/src/test/java/org/glassfish/jersey/jsonp/JsonProcessingAutoDiscoverableServerTest.java b/media/json-processing/src/test/java/org/glassfish/jersey/jsonp/JsonProcessingAutoDiscoverableServerTest.java
index 5806b6b..1fad557 100644
--- a/media/json-processing/src/test/java/org/glassfish/jersey/jsonp/JsonProcessingAutoDiscoverableServerTest.java
+++ b/media/json-processing/src/test/java/org/glassfish/jersey/jsonp/JsonProcessingAutoDiscoverableServerTest.java
@@ -19,14 +19,14 @@
 import java.io.IOException;
 import java.net.URI;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
diff --git a/media/moxy/pom.xml b/media/moxy/pom.xml
index 45f8a59..335f80e 100644
--- a/media/moxy/pom.xml
+++ b/media/moxy/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-moxy</artifactId>
@@ -56,7 +56,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>org.glassfish.jersey.moxy.*</Export-Package>
-                        <Import-Package>${javax.annotation.osgi.version},*</Import-Package>
+                        <Import-Package>${jakarta.annotation.osgi.version},*</Import-Package>
                     </instructions>
                     <unpackBundle>true</unpackBundle>
                 </configuration>
@@ -95,13 +95,14 @@
         <dependency>
             <groupId>jakarta.json</groupId>
             <artifactId>jakarta.json-api</artifactId>
-            <version>${jsonp.ri.version}</version>
         </dependency>
-
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
-            <version>${jsonp.ri.version}</version>
+            <groupId>jakarta.json.bind</groupId>
+            <artifactId>jakarta.json.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
         </dependency>
 
         <dependency>
@@ -109,12 +110,8 @@
             <artifactId>org.eclipse.persistence.moxy</artifactId>
             <exclusions>
                 <exclusion>
-                    <groupId>javax.json</groupId>
-                    <artifactId>javax.json-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>jakarta.json</groupId>
-                    <artifactId>jakarta.json-api</artifactId>
+                    <groupId>jakarta.json.bind</groupId>
+                    <artifactId>jakarta.json.bind-api</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
@@ -126,28 +123,4 @@
         </dependency>
     </dependencies>
 
-    <repositories>
-        <repository>
-            <id>eclipselink.repository</id>
-            <name>Eclipse Maven Repository</name>
-            <url>https://download.eclipse.org/rt/eclipselink/maven.repo</url>
-            <layout>default</layout>
-        </repository>
-    </repositories>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-
-</project>
+</project>
\ No newline at end of file
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/internal/MoxyFilteringFeature.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/internal/MoxyFilteringFeature.java
index 5ef9f00..7c9d86a 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/internal/MoxyFilteringFeature.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/internal/MoxyFilteringFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.moxy.internal;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.message.filtering.spi.ObjectGraphTransformer;
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/internal/MoxyObjectProvider.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/internal/MoxyObjectProvider.java
index 8f58d30..ff367e7 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/internal/MoxyObjectProvider.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/internal/MoxyObjectProvider.java
@@ -20,9 +20,9 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
-import javax.xml.bind.JAXBException;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
+import jakarta.xml.bind.JAXBException;
 
 import org.glassfish.jersey.message.filtering.spi.AbstractObjectProvider;
 import org.glassfish.jersey.message.filtering.spi.EntityGraphProvider;
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/MoxyJsonConfig.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/MoxyJsonConfig.java
index e45d335..8117563 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/MoxyJsonConfig.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/MoxyJsonConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.ext.ContextResolver;
-import javax.xml.bind.Marshaller;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.xml.bind.Marshaller;
 
 import org.eclipse.persistence.jaxb.MarshallerProperties;
 import org.eclipse.persistence.jaxb.UnmarshallerProperties;
@@ -49,7 +49,7 @@
      * Create a new configuration for {@link org.eclipse.persistence.jaxb.rs.MOXyJsonProvider}. If the
      * {@code initDefaultProperties} is set to {@code true} then the following values are set:
      * <ul>
-     *     <li>{@link javax.xml.bind.Marshaller#JAXB_FORMATTED_OUTPUT} - {@code false}</li>
+     *     <li>{@link jakarta.xml.bind.Marshaller#JAXB_FORMATTED_OUTPUT} - {@code false}</li>
      *     <li>{@link org.eclipse.persistence.jaxb.JAXBContextProperties#JSON_INCLUDE_ROOT} - {@code false}</li>
      *     <li>{@link org.eclipse.persistence.jaxb.MarshallerProperties#JSON_MARSHAL_EMPTY_COLLECTIONS} - {@code true}</li>
      *     <li>{@link org.eclipse.persistence.jaxb.JAXBContextProperties#JSON_NAMESPACE_SEPARATOR} -
@@ -61,7 +61,7 @@
      */
     public MoxyJsonConfig(final boolean initDefaultProperties) {
         if (initDefaultProperties) {
-            // javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT
+            // jakarta.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT
             setFormattedOutput(false);
 
             // org.eclipse.persistence.jaxb.JAXBContextProperties.JSON_INCLUDE_ROOT
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/MoxyJsonFeature.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/MoxyJsonFeature.java
index f2eb43c..fbc36d9 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/MoxyJsonFeature.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/MoxyJsonFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.moxy.json;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.InternalProperties;
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/ConfigurableMoxyJsonProvider.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/ConfigurableMoxyJsonProvider.java
index e8d3a68..541d545 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/ConfigurableMoxyJsonProvider.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/ConfigurableMoxyJsonProvider.java
@@ -26,18 +26,18 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Providers;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.PropertyException;
-import javax.xml.bind.Unmarshaller;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Providers;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.PropertyException;
+import jakarta.xml.bind.Unmarshaller;
 
 import org.eclipse.persistence.internal.core.helper.CoreClassConstants;
 import org.eclipse.persistence.jaxb.MarshallerProperties;
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/FilteringMoxyJsonProvider.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/FilteringMoxyJsonProvider.java
index 500fcb1..e45f1cb 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/FilteringMoxyJsonProvider.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/FilteringMoxyJsonProvider.java
@@ -19,18 +19,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.ws.rs.ext.Providers;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.ext.Providers;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
 
 import org.glassfish.jersey.message.filtering.spi.ObjectProvider;
 
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/MoxyJsonAutoDiscoverable.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/MoxyJsonAutoDiscoverable.java
index 8ecba4f..77b1530 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/MoxyJsonAutoDiscoverable.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/json/internal/MoxyJsonAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.moxy.json.internal;
 
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/xml/MoxyContextResolver.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/xml/MoxyContextResolver.java
index 70ed248..a46df34 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/xml/MoxyContextResolver.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/xml/MoxyContextResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,10 +23,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ContextResolver;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
 
 import org.eclipse.persistence.jaxb.JAXBContextFactory;
 import org.eclipse.persistence.jaxb.JAXBContextProperties;
diff --git a/media/moxy/src/main/java/org/glassfish/jersey/moxy/xml/MoxyXmlFeature.java b/media/moxy/src/main/java/org/glassfish/jersey/moxy/xml/MoxyXmlFeature.java
index 607cc93..22dd3b9 100644
--- a/media/moxy/src/main/java/org/glassfish/jersey/moxy/xml/MoxyXmlFeature.java
+++ b/media/moxy/src/main/java/org/glassfish/jersey/moxy/xml/MoxyXmlFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.Collections;
 import java.util.Map;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * Feature used to register MOXy XML providers.
diff --git a/media/multipart/pom.xml b/media/multipart/pom.xml
index f241cc3..ffda4d0 100644
--- a/media/multipart/pom.xml
+++ b/media/multipart/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-multipart</artifactId>
@@ -92,12 +92,6 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.connectors</groupId>
-            <artifactId>jersey-jetty-connector</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
 
         <dependency>
             <groupId>org.junit.jupiter</groupId>
@@ -106,4 +100,40 @@
         </dependency>
     </dependencies>
 
+    <profiles>
+        <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/media/multipart/internal/MultiPartHeaderModificationTest.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.glassfish.jersey.connectors</groupId>
+                    <artifactId>jersey-jetty-connector</artifactId>
+                    <version>${project.version}</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/BodyPart.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/BodyPart.java
index ff98879..0e20e25 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/BodyPart.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/BodyPart.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,11 +20,11 @@
 import java.lang.annotation.Annotation;
 import java.text.ParseException;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.internal.util.collection.ImmutableMultivaluedMap;
 import org.glassfish.jersey.media.multipart.internal.LocalizationMessages;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/Boundary.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/Boundary.java
index eb36fe5..f8690ca 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/Boundary.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/Boundary.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Utility for creating boundary parameters.
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataBodyPart.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataBodyPart.java
index eb3f909..2380c44 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataBodyPart.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataBodyPart.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.text.ParseException;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.internal.LocalizationMessages;
 import org.glassfish.jersey.message.internal.MediaTypes;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataMultiPart.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataMultiPart.java
index 6c04eb7..9a5edc4 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataMultiPart.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataMultiPart.java
@@ -21,7 +21,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.internal.LocalizationMessages;
 import org.glassfish.jersey.message.internal.MediaTypes;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataParam.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataParam.java
index 4280660..b013d4e 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataParam.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataParam.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,8 +21,8 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
 
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
 import org.glassfish.jersey.server.model.ParamQualifier;
@@ -117,8 +117,8 @@
  * @see FormDataMultiPart
  * @see FormDataBodyPart
  * @see FormDataContentDisposition
- * @see javax.ws.rs.DefaultValue
- * @see javax.ws.rs.FormParam
+ * @see jakarta.ws.rs.DefaultValue
+ * @see jakarta.ws.rs.FormParam
  *
  * @author Craig McClanahan
  * @author Paul Sandoz
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataParamException.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataParamException.java
index 0cf9f58..e3e7856 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataParamException.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/FormDataParamException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.media.multipart;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ParamException;
 
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPart.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPart.java
index 42092bb..e9a2220 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPart.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPart.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.io.IOException;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * A mutable model representing a MIME MultiPart entity.  This class extends
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartFeature.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartFeature.java
index 8731479..3224ec5 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartFeature.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.media.multipart;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.media.multipart.internal.FormDataParamInjectionFeature;
 import org.glassfish.jersey.media.multipart.internal.MultiPartReaderClientSide;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartMediaTypes.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartMediaTypes.java
index e7c08fc..9486698 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartMediaTypes.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartMediaTypes.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.Collections;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Convenience {@link MediaType} (and associated String)
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartProperties.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartProperties.java
index 552fe79..68abedb 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartProperties.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/MultiPartProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.glassfish.jersey.internal.util.PropertiesClass;
 
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/ParameterizedHeadersMap.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/ParameterizedHeadersMap.java
index ba17c8b..fc54c72 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/ParameterizedHeadersMap.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/ParameterizedHeadersMap.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.internal.util.collection.StringKeyIgnoreCaseMultivaluedMap;
 import org.glassfish.jersey.message.internal.ParameterizedHeader;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/DefaultMediaTypePredictor.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/DefaultMediaTypePredictor.java
index 56eb715..f91c723 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/DefaultMediaTypePredictor.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/DefaultMediaTypePredictor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.io.File;
 import java.util.Locale;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Default implementation of {@link MediaTypePredictor} that uses
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/FileDataBodyPart.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/FileDataBodyPart.java
index 6e2ecee..2d929d7 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/FileDataBodyPart.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/FileDataBodyPart.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.io.File;
 import java.util.Date;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.FormDataBodyPart;
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
@@ -59,7 +59,7 @@
      * @param fileEntity the file that represents the entity.
      *
      * @see MediaTypePredictor#getMediaTypeFromFile(java.io.File)
-     * @see FileDataBodyPart#FileDataBodyPart(java.lang.String, java.io.File, javax.ws.rs.core.MediaType)
+     * @see FileDataBodyPart#FileDataBodyPart(java.lang.String, java.io.File, jakarta.ws.rs.core.MediaType)
      */
     public FileDataBodyPart(final String name, final File fileEntity) {
         this(name, fileEntity, null);
@@ -102,7 +102,7 @@
      * @param value the field value as a Java object.
      * @throws java.lang.UnsupportedOperationException Operation not supported.
      *
-     * @see FileDataBodyPart#setFileEntity(java.io.File, javax.ws.rs.core.MediaType)
+     * @see FileDataBodyPart#setFileEntity(java.io.File, jakarta.ws.rs.core.MediaType)
      */
     @Override
     public void setValue(final MediaType mediaType, final Object value) throws UnsupportedOperationException {
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/MediaTypePredictor.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/MediaTypePredictor.java
index 74244f5..d53bb86 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/MediaTypePredictor.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/MediaTypePredictor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.io.File;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.file.DefaultMediaTypePredictor.CommonMediaTypes;
 
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/StreamDataBodyPart.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/StreamDataBodyPart.java
index ea1efe3..3ddedf2 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/StreamDataBodyPart.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/file/StreamDataBodyPart.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.io.InputStream;
 import java.text.MessageFormat;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.FormDataBodyPart;
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/FormDataParamInjectionFeature.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/FormDataParamInjectionFeature.java
index f1bfdec..843473b 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/FormDataParamInjectionFeature.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/FormDataParamInjectionFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.media.multipart.internal;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.Bindings;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/FormDataParamValueParamProvider.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/FormDataParamValueParamProvider.java
index d2f33d8..d95b320 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/FormDataParamValueParamProvider.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/FormDataParamValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,12 +30,12 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.internal.util.ReflectionHelper;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderClientSide.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderClientSide.java
index bdd3777..c867078 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderClientSide.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderClientSide.java
@@ -27,22 +27,22 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.media.multipart.BodyPart;
 import org.glassfish.jersey.media.multipart.BodyPartEntity;
@@ -144,7 +144,7 @@
      * @param headers     mutable map of HTTP headers for the entire response.
      * @param stream      output stream to which the entity should be written.
      * @throws java.io.IOException                 if an I/O error occurs.
-     * @throws javax.ws.rs.WebApplicationException If an HTTP error response needs to be produced (only effective if the response
+     * @throws jakarta.ws.rs.WebApplicationException If an HTTP error response needs to be produced (only effective if the response
      *                                             is not
      *                                             committed yet) or if the Content-Disposition header of a {@code
      *                                             multipart/form-data} body part
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderServerSide.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderServerSide.java
index d2b04f0..24c0214 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderServerSide.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderServerSide.java
@@ -21,17 +21,17 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.media.multipart.MultiPart;
 import org.glassfish.jersey.message.MessageBodyWorkers;
diff --git a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartWriter.java b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartWriter.java
index bfc94ea..7873872 100644
--- a/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartWriter.java
+++ b/media/multipart/src/main/java/org/glassfish/jersey/media/multipart/internal/MultiPartWriter.java
@@ -27,18 +27,18 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.inject.Inject;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.media.multipart.BodyPart;
 import org.glassfish.jersey.media.multipart.BodyPartEntity;
@@ -99,7 +99,7 @@
      * @param headers     mutable map of HTTP headers for the entire response.
      * @param stream      output stream to which the entity should be written.
      * @throws java.io.IOException if an I/O error occurs.
-     * @throws javax.ws.rs.WebApplicationException
+     * @throws jakarta.ws.rs.WebApplicationException
      *                             if an HTTP error response
      *                             needs to be produced (only effective if the response is not committed yet).
      */
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/BodyPartTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/BodyPartTest.java
index f5e721a..f6a4a9c 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/BodyPartTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/BodyPartTest.java
@@ -18,9 +18,9 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/FormDataBodyPartTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/FormDataBodyPartTest.java
index 79a222c..354e1f7 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/FormDataBodyPartTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/FormDataBodyPartTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.media.multipart;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultiPartMediaTypesTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultiPartMediaTypesTest.java
index 41b759c..6cb4376 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultiPartMediaTypesTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultiPartMediaTypesTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.media.multipart;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultiPartTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultiPartTest.java
index fbfa600..ee6cefa 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultiPartTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultiPartTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.media.multipart;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultipartMixedWithApacheClientTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultipartMixedWithApacheClientTest.java
index 30748b8..180bd85 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultipartMixedWithApacheClientTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/MultipartMixedWithApacheClientTest.java
@@ -21,13 +21,13 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/file/FileDataBodyPartTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/file/FileDataBodyPartTest.java
index 3721193..c35f468 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/file/FileDataBodyPartTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/file/FileDataBodyPartTest.java
@@ -18,7 +18,7 @@
 
 import java.io.File;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.BodyPartTest;
 
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/file/StreamDataBodyPartTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/file/StreamDataBodyPartTest.java
index 2b0d72b..c2e8e90 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/file/StreamDataBodyPartTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/file/StreamDataBodyPartTest.java
@@ -19,7 +19,7 @@
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.BodyPartTest;
 import org.glassfish.jersey.media.multipart.ContentDisposition;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartBufferTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartBufferTest.java
index 7222690..1fa6744 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartBufferTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartBufferTest.java
@@ -20,18 +20,18 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.media.multipart.FormDataMultiPart;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartReaderWriterTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
index 9dcddf1..92599dd 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
@@ -33,21 +33,21 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DefaultValue;
-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.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DefaultValue;
+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.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.media.multipart.BodyPart;
 import org.glassfish.jersey.media.multipart.BodyPartEntity;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartBeanProvider.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartBeanProvider.java
index 4ec392e..f7a0333 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartBeanProvider.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartBeanProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,14 +24,14 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * A JAX-RS <code>Provider</code> that knows how to serialize and deserialize
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartHeaderModificationTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartHeaderModificationTest.java
index c4ac11f..4a7ff89 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartHeaderModificationTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartHeaderModificationTest.java
@@ -25,11 +25,11 @@
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartJerseyTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartJerseyTest.java
index 5ce41af..c7487c9 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartJerseyTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartJerseyTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.Set;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderWriterTest.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderWriterTest.java
index a718780..36c6ebd 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderWriterTest.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartReaderWriterTest.java
@@ -25,10 +25,10 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.BodyPart;
 import org.glassfish.jersey.media.multipart.BodyPartEntity;
diff --git a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartResource.java b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartResource.java
index 9b4f526..086b8fd 100644
--- a/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartResource.java
+++ b/media/multipart/src/test/java/org/glassfish/jersey/media/multipart/internal/MultiPartResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,14 +21,14 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 
-import javax.ws.rs.Consumes;
-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.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+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.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.media.multipart.BodyPart;
 import org.glassfish.jersey.media.multipart.BodyPartEntity;
diff --git a/media/pom.xml b/media/pom.xml
index cfcbe65..adef754 100644
--- a/media/pom.xml
+++ b/media/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.media</groupId>
@@ -40,7 +40,6 @@
         <module>json-binding</module>
         <module>json-gson</module>
         <module>json-jackson</module>
-        <module>json-jackson1</module>
         <module>json-jettison</module>
         <module>json-processing</module>
         <module>moxy</module>
diff --git a/media/sse/pom.xml b/media/sse/pom.xml
index 6154b1b..f1627a8 100644
--- a/media/sse/pom.xml
+++ b/media/sse/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.media</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-media-sse</artifactId>
@@ -36,8 +36,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.core</groupId>
@@ -76,7 +76,7 @@
                 <inherited>true</inherited>
                 <configuration>
                     <instructions>
-                        <Import-Package>${javax.annotation.osgi.version},*</Import-Package>
+                        <Import-Package>${jakarta.annotation.osgi.version},*</Import-Package>
                     </instructions>
                 </configuration>
             </plugin>
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventInput.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventInput.java
index fa49099..6a4f7c7 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventInput.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventInput.java
@@ -19,8 +19,8 @@
 import java.io.InputStream;
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.client.ChunkParser;
 import org.glassfish.jersey.client.ChunkedInput;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventInputReader.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventInputReader.java
index 4502fcb..c83400c 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventInputReader.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventInputReader.java
@@ -21,14 +21,14 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.PropertiesDelegate;
 import org.glassfish.jersey.message.MessageBodyWorkers;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventSource.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventSource.java
index a3ce711..3fb3c9e 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventSource.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/EventSource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -32,7 +32,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.client.ClientExecutor;
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
@@ -45,7 +45,7 @@
  * Instances of this class are thread safe. To build a new instance, you can use one of the
  * available public {@code EventSource} constructors that produce pre-configured event
  * source instances. Alternatively, you can create a new {@link EventSource.Builder} instance
- * using {@link #target(javax.ws.rs.client.WebTarget) EventSource.target(endpoint)} factory method.
+ * using {@link #target(jakarta.ws.rs.client.WebTarget) EventSource.target(endpoint)} factory method.
  * Compared to {@code EventSource} constructors, an event source builder provides greater flexibility
  * when custom-configuring a new event source builder.
  * </p>
@@ -77,12 +77,12 @@
  * <p>
  * In addition to handling the standard connection losses, Jersey {@code EventSource} automatically deals with any
  * {@code HTTP 503 Service Unavailable} responses from SSE endpoint, that contain a
- * <tt>{@value javax.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> HTTP header with a valid value. The
- * <tt>HTTP 503 + {@value javax.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> technique is often used by HTTP endpoints
+ * <tt>{@value jakarta.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> HTTP header with a valid value. The
+ * <tt>HTTP 503 + {@value jakarta.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> technique is often used by HTTP endpoints
  * as a means of connection and traffic throttling. In case a
- * <tt>HTTP 503 + {@value javax.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> response is received in return to a connection
+ * <tt>HTTP 503 + {@value jakarta.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> response is received in return to a connection
  * request, Jersey {@code EventSource} will automatically schedule a new reconnect attempt and use the received
- * <tt>{@value javax.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> HTTP header value as a one-time override of the reconnect delay.
+ * <tt>{@value jakarta.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> HTTP header value as a one-time override of the reconnect delay.
  * </p>
  * <h3>Using HTTP persistent connections</h3>
  * <p>
@@ -347,8 +347,8 @@
      * </p>
      * <p>
      * Note that overriding this method may be necessary to make sure no {@code InboundEvent incoming events}
-     * are lost in case the event source is constructed using {@link #EventSource(javax.ws.rs.client.WebTarget)}
-     * constructor or in case a {@code true} flag is passed to the {@link #EventSource(javax.ws.rs.client.WebTarget, boolean)}
+     * are lost in case the event source is constructed using {@link #EventSource(jakarta.ws.rs.client.WebTarget)}
+     * constructor or in case a {@code true} flag is passed to the {@link #EventSource(jakarta.ws.rs.client.WebTarget, boolean)}
      * constructor, since the connection is opened as as part of the constructor call and the event processing starts
      * immediately. Therefore any {@link EventListener}s registered later after the event source has been constructed
      * may miss the notifications about the one or more events that arrive immediately after the connection to the
@@ -484,7 +484,7 @@
      *
      * Event source builder provides methods that let you conveniently configure and subsequently build
      * a new {@code EventSource} instance. You can obtain a new event source builder instance using
-     * a static {@link EventSource#target(javax.ws.rs.client.WebTarget) EventSource.target(endpoint)} factory method.
+     * a static {@link EventSource#target(jakarta.ws.rs.client.WebTarget) EventSource.target(endpoint)} factory method.
      * <p>
      * For example:
      * <pre>
@@ -546,7 +546,7 @@
          * Set the initial reconnect delay to be used by the event source.
          * <p>
          * Note that this value may be later overridden by the SSE endpoint using either a {@code retry} SSE event field
-         * or <tt>HTTP 503 + {@value javax.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> mechanism as described
+         * or <tt>HTTP 503 + {@value jakarta.ws.rs.core.HttpHeaders#RETRY_AFTER}</tt> mechanism as described
          * in the {@link EventSource} javadoc.
          * </p>
          *
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/InboundEvent.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/InboundEvent.java
index 12576de..6516420 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/InboundEvent.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/InboundEvent.java
@@ -22,12 +22,12 @@
 import java.lang.annotation.Annotation;
 import java.util.Arrays;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.sse.InboundSseEvent;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.sse.InboundSseEvent;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException;
@@ -73,12 +73,12 @@
          * Create new inbound event builder.
          *
          * @param workers     configured client-side {@link MessageBodyWorkers entity providers} used for
-         *                    {@link javax.ws.rs.ext.MessageBodyReader} lookup.
+         *                    {@link jakarta.ws.rs.ext.MessageBodyReader} lookup.
          * @param annotations annotations attached to the Java type to be read. Used for
-         *                    {@link javax.ws.rs.ext.MessageBodyReader} lookup.
+         *                    {@link jakarta.ws.rs.ext.MessageBodyReader} lookup.
          * @param mediaType   media type of the SSE event data.
-         *                    Used for {@link javax.ws.rs.ext.MessageBodyReader} lookup.
-         * @param headers     response headers. Used for {@link javax.ws.rs.ext.MessageBodyWriter} lookup.
+         *                    Used for {@link jakarta.ws.rs.ext.MessageBodyReader} lookup.
+         * @param headers     response headers. Used for {@link jakarta.ws.rs.ext.MessageBodyWriter} lookup.
          */
         public Builder(MessageBodyWorkers workers,
                        Annotation[] annotations,
@@ -294,7 +294,7 @@
      * Get the original event data string {@link String}.
      *
      * @return event data de-serialized into a string.
-     * @throws javax.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
+     * @throws jakarta.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
      * @since 2.3
      */
     public String readData() {
@@ -306,7 +306,7 @@
      *
      * @param type Java type to be used for event data de-serialization.
      * @return event data de-serialized as an instance of a given type.
-     * @throws javax.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
+     * @throws jakarta.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
      * @since 2.3
      */
     public <T> T readData(Class<T> type) {
@@ -318,7 +318,7 @@
      *
      * @param type generic type to be used for event data de-serialization.
      * @return event data de-serialized as an instance of a given type.
-     * @throws javax.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
+     * @throws jakarta.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
      * @since 2.3
      */
     @SuppressWarnings("unused")
@@ -332,7 +332,7 @@
      * @param messageType Java type to be used for event data de-serialization.
      * @param mediaType   {@link MediaType media type} to be used for event data de-serialization.
      * @return event data de-serialized as an instance of a given type.
-     * @throws javax.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
+     * @throws jakarta.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
      * @since 2.3
      */
     @SuppressWarnings("unused")
@@ -346,7 +346,7 @@
      * @param type      generic type to be used for event data de-serialization.
      * @param mediaType {@link MediaType media type} to be used for event data de-serialization.
      * @return event data de-serialized as an instance of a given type.
-     * @throws javax.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
+     * @throws jakarta.ws.rs.ProcessingException when provided type can't be read. The thrown exception wraps the original cause.
      * @since 2.3
      */
     public <T> T readData(GenericType<T> type, MediaType mediaType) {
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/InboundEventReader.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/InboundEventReader.java
index 6d48a60..93eb446 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/InboundEventReader.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/InboundEventReader.java
@@ -25,15 +25,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.message.MessageUtils;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/JerseySseEventSourceBuilder.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/JerseySseEventSourceBuilder.java
index 397c574..9597d3b 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/JerseySseEventSourceBuilder.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/JerseySseEventSourceBuilder.java
@@ -17,8 +17,6 @@
 
 import org.glassfish.jersey.media.sse.internal.JerseySseEventSource;
 
-import javax.ws.rs.sse.SseEventSource;
-
 /**
  * Public {@link SseEventSource.Builder} implementation.
  */
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/OutboundEvent.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/OutboundEvent.java
index 0d7c826..1958895 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/OutboundEvent.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/OutboundEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.lang.reflect.Type;
 
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.OutboundSseEvent;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
@@ -147,7 +147,7 @@
         /**
          * Set event data and java type of event data.
          *
-         * Type information  will be used for {@link javax.ws.rs.ext.MessageBodyWriter} lookup.
+         * Type information  will be used for {@link jakarta.ws.rs.ext.MessageBodyWriter} lookup.
          * <p>
          * Note that multiple invocations of this method result in previous even data being replaced with new one.
          * </p>
@@ -173,7 +173,7 @@
         /**
          * Set event data and a generic java type of event data.
          *
-         * Type information will be used for {@link javax.ws.rs.ext.MessageBodyWriter} lookup.
+         * Type information will be used for {@link jakarta.ws.rs.ext.MessageBodyWriter} lookup.
          * <p>
          * Note that multiple invocations of this method result in previous even data being replaced with new one.
          * </p>
@@ -205,7 +205,7 @@
          * Set event data and java type of event data.
          *
          * This is a convenience method that derives the event data type information from the runtime type of
-         * the event data. The supplied event data may be represented as {@link javax.ws.rs.core.GenericEntity}.
+         * the event data. The supplied event data may be represented as {@link jakarta.ws.rs.core.GenericEntity}.
          * <p>
          * Note that multiple invocations of this method result in previous even data being replaced with new one.
          * </p>
@@ -326,7 +326,7 @@
     /**
      * Get data type.
      * <p>
-     * This information is used to select a proper {@link javax.ws.rs.ext.MessageBodyWriter} to be used for
+     * This information is used to select a proper {@link jakarta.ws.rs.ext.MessageBodyWriter} to be used for
      * serializing the {@link #getData() event data}.
      * </p>
      *
@@ -339,7 +339,7 @@
     /**
      * Get generic data type.
      * <p>
-     * This information is used to select a proper {@link javax.ws.rs.ext.MessageBodyWriter} to be used for
+     * This information is used to select a proper {@link jakarta.ws.rs.ext.MessageBodyWriter} to be used for
      * serializing the {@link #getData() event data}.
      * </p>
      *
@@ -353,7 +353,7 @@
     /**
      * Get {@link MediaType media type} of the event data.
      * <p>
-     * This information is used to a select proper {@link javax.ws.rs.ext.MessageBodyWriter} to be used for
+     * This information is used to a select proper {@link jakarta.ws.rs.ext.MessageBodyWriter} to be used for
      * serializing the {@link #getData() event data}.
      * </p>
      *
@@ -383,7 +383,7 @@
      * <p>
      * The event data, if specified, are serialized and sent as one or more SSE event {@code "data"} fields
      * (depending on the line breaks in the actual serialized data content). The data are serialized
-     * using an available {@link javax.ws.rs.ext.MessageBodyWriter} that is selected based on the event
+     * using an available {@link jakarta.ws.rs.ext.MessageBodyWriter} that is selected based on the event
      * {@link #getType() type}, {@link #getGenericType()} generic type} and {@link #getMediaType()} media type}.
      * </p>
      *
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/OutboundEventWriter.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/OutboundEventWriter.java
index 362bc78..d2e7b85 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/OutboundEventWriter.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/OutboundEventWriter.java
@@ -22,15 +22,15 @@
 import java.lang.reflect.Type;
 import java.nio.charset.Charset;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.sse.OutboundSseEvent;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.message.MessageUtils;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/SseFeature.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/SseFeature.java
index b91839a..575d1e9 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/SseFeature.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/SseFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.media.sse;
 
-import javax.ws.rs.core.Configurable;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Configurable;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.internal.util.Property;
 import org.glassfish.jersey.media.sse.internal.SseBinder;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/EventProcessor.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/EventProcessor.java
index 1e5b775..00e9fe7 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/EventProcessor.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/EventProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,10 +27,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ServiceUnavailableException;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.sse.SseEvent;
+import jakarta.ws.rs.ServiceUnavailableException;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.sse.SseEvent;
 
 import org.glassfish.jersey.client.ClientExecutor;
 import org.glassfish.jersey.internal.util.ExtendedLogger;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseyEventSink.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseyEventSink.java
index 000cdfe..b1b1dc0 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseyEventSink.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseyEventSink.java
@@ -25,10 +25,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Provider;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.jsr166.Flow;
 import org.glassfish.jersey.internal.jsr166.JerseyFlowSubscriber;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySse.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySse.java
index 1e6747c..2f2d09a 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySse.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySse.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.concurrent.ExecutorService;
 
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
 
 import org.glassfish.jersey.media.sse.OutboundEvent;
 
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySseBroadcaster.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySseBroadcaster.java
index 63befa8..07edebb 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySseBroadcaster.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySseBroadcaster.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,17 +23,17 @@
 import java.util.function.BiConsumer;
 import java.util.function.Consumer;
 
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
 
 import org.glassfish.jersey.internal.jsr166.Flow;
 import org.glassfish.jersey.internal.util.JerseyPublisher;
 import org.glassfish.jersey.media.sse.LocalizationMessages;
 
 /**
- * Used for broadcasting SSE to multiple {@link javax.ws.rs.sse.SseEventSink} instances.
+ * Used for broadcasting SSE to multiple {@link jakarta.ws.rs.sse.SseEventSink} instances.
  * <p>
  * JAX-RS 2.1 {@link SseBroadcaster} implementation.
  *
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySseEventSource.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySseEventSource.java
index bb8b517..d455465 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySseEventSource.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/JerseySseEventSource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,9 +23,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.sse.InboundSseEvent;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.sse.InboundSseEvent;
+import jakarta.ws.rs.sse.SseEventSource;
 
 import org.glassfish.jersey.client.ClientExecutor;
 import org.glassfish.jersey.client.JerseyWebTarget;
@@ -196,7 +196,7 @@
     /**
      * {@link SseEventSource.Builder} implementation.
      */
-    public static class Builder extends javax.ws.rs.sse.SseEventSource.Builder {
+    public static class Builder extends jakarta.ws.rs.sse.SseEventSource.Builder {
 
         private WebTarget endpoint;
         private long reconnectDelay = DEFAULT_RECONNECT_DELAY;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseAutoDiscoverable.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseAutoDiscoverable.java
index c1c50d8..38a5734 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseAutoDiscoverable.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseAutoDiscoverable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.media.sse.internal;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseBinder.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseBinder.java
index 7f8e85b..debeb21 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseBinder.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.media.sse.internal;
 
-import javax.ws.rs.sse.Sse;
-import javax.inject.Singleton;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 
diff --git a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseEventSinkValueParamProvider.java b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseEventSinkValueParamProvider.java
index 9bd85bd..07be277 100644
--- a/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseEventSinkValueParamProvider.java
+++ b/media/sse/src/main/java/org/glassfish/jersey/media/sse/internal/SseEventSinkValueParamProvider.java
@@ -18,11 +18,11 @@
 
 import java.util.function.Function;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.sse.SseEventSink;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.AsyncContext;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/media/sse/src/main/resources/META-INF/services/javax.ws.rs.sse.SseEventSource$Builder b/media/sse/src/main/resources/META-INF/services/jakarta.ws.rs.sse.SseEventSource$Builder
similarity index 100%
rename from media/sse/src/main/resources/META-INF/services/javax.ws.rs.sse.SseEventSource$Builder
rename to media/sse/src/main/resources/META-INF/services/jakarta.ws.rs.sse.SseEventSource$Builder
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/ClientCloseTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/ClientCloseTest.java
index ebd0792..85fd7d4 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/ClientCloseTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/ClientCloseTest.java
@@ -21,13 +21,13 @@
 import java.util.concurrent.TimeUnit;
 import java.util.stream.IntStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/EmptyEventsTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/EmptyEventsTest.java
index 2c99079..3cadf8e 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/EmptyEventsTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/EmptyEventsTest.java
@@ -23,11 +23,11 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/EventSourceTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/EventSourceTest.java
index d544746..5be6d00 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/EventSourceTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/EventSourceTest.java
@@ -22,13 +22,13 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/InboundEventReaderTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/InboundEventReaderTest.java
index bc9f057..307e770 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/InboundEventReaderTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/InboundEventReaderTest.java
@@ -23,8 +23,8 @@
 import java.nio.charset.Charset;
 import java.util.Collections;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.Bindings;
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/OutboundEventTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/OutboundEventTest.java
index 001d123..e984f2b 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/OutboundEventTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/OutboundEventTest.java
@@ -18,9 +18,9 @@
 
 import java.util.ArrayList;
 
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.internal.util.ReflectionHelper;
 
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/SseEventSinkCloseTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/SseEventSinkCloseTest.java
index 5706eb5..92803df 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/SseEventSinkCloseTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/SseEventSinkCloseTest.java
@@ -22,19 +22,19 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseEventSource;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/SseEventSinkTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/SseEventSinkTest.java
index 7721105..fee3e9b 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/SseEventSinkTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/SseEventSinkTest.java
@@ -19,17 +19,17 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseEventSource;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/internal/JerseySseBroadcasterTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/internal/JerseySseBroadcasterTest.java
index 5fdeac2..4321adc 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/internal/JerseySseBroadcasterTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/internal/JerseySseBroadcasterTest.java
@@ -20,14 +20,14 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.SseEventSink;
 
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
 /**
- * {@link javax.ws.rs.sse.SseBroadcaster} test.
+ * {@link jakarta.ws.rs.sse.SseBroadcaster} test.
  *
  * @author Adam Lindenthal
  */
diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/internal/JerseySseEventSourceTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/internal/JerseySseEventSourceTest.java
index 5509d7e..09f5406 100644
--- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/internal/JerseySseEventSourceTest.java
+++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/internal/JerseySseEventSourceTest.java
@@ -19,7 +19,7 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.sse.SseEventSource;
 
 public class JerseySseEventSourceTest {
 
diff --git a/pom.xml b/pom.xml
index 9f228f1..dca426b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,17 +23,17 @@
     <parent>
         <groupId>org.eclipse.ee4j</groupId>
         <artifactId>project</artifactId>
-        <version>1.0.8</version>
+        <version>1.0.9</version>
     </parent>
 
     <groupId>org.glassfish.jersey</groupId>
     <artifactId>project</artifactId>
     <packaging>pom</packaging>
-    <version>2.43-SNAPSHOT</version>
+    <version>3.0.99-SNAPSHOT</version>
     <name>jersey</name>
     <description>
-        Eclipse Jersey is the open source (under dual EPL+GPL license) JAX-RS 2.1 (JSR 370)
-        production quality Reference Implementation for building RESTful Web services.
+        Eclipse Jersey is the open source (under dual EPL+GPL license) Jakarta RESTful WebServices 3.0
+        production quality Reference Implementation for building RESTful Web Services.
     </description>
 
     <url>https://projects.eclipse.org/projects/ee4j.jersey</url>
@@ -213,7 +213,7 @@
         </license>
     </licenses>
 
-    <scm>    
+    <scm>
         <connection>scm:git:git@github.com:jersey/jersey.git</connection>
         <developerConnection>scm:git:git@github.com:eclipse-ee4j/jersey.git</developerConnection>
         <url>https://github.com/eclipse-ee4j/jersey</url>
@@ -479,7 +479,7 @@
                                 All Rights Reserved. Use is subject to license terms.]]>
                         </bottom>
                         <links>
-                            <link>https://jakartaee.github.io/rest/apidocs/2.1.6/</link>
+                            <link>https://jakartaee.github.io/rest/apidocs/3.0.0/</link>
                             <link>https://javaee.github.io/hk2/apidocs/</link>
                             <link>https://eclipse-ee4j.github.io/jersey.github.io/apidocs/latest/jersey/</link>
                         </links>
@@ -497,7 +497,6 @@
                         <verbose>true</verbose>
                         <doclint>none</doclint>
                         <maxmemory>256m</maxmemory>
-                        <source>8</source>
                     </configuration>
                     <executions>
                         <execution>
@@ -736,18 +735,34 @@
                 <!-- TODO: remove the old jetty plugin dependencies -->
                 <plugin>
                     <groupId>org.mortbay.jetty</groupId>
-                    <artifactId>maven-jetty-plugin</artifactId>
-                    <version>${jetty.plugin.version}</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.mortbay.jetty</groupId>
                     <artifactId>jetty-maven-plugin</artifactId>
                     <version>8.1.8.v20121106</version>
                 </plugin>
                 <plugin>
                     <groupId>org.eclipse.jetty</groupId>
                     <artifactId>jetty-maven-plugin</artifactId>
-                    <version>${jetty.version}</version>
+                    <version>${jetty.plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.glassfish.build</groupId>
+                    <artifactId>gfnexus-maven-plugin</artifactId>
+                    <version>0.16</version>
+                    <configuration>
+                        <stagingRepos>
+                            <stagingRepo>
+                                <!--
+                                    The reference artifact used to identify the right staging repository
+                                -->
+                                <ref>org.glassfish.jersey:project:${project.version}:pom</ref>
+                                <profile>com.sun.jersey</profile>
+                            </stagingRepo>
+                        </stagingRepos>
+                        <!--
+                            Temporary till there is a jersey promotion profile
+                        -->
+                        <promotionProfile>glassfish-integration</promotionProfile>
+                        <message>JERSEY-${project.version}</message>
+                    </configuration>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
@@ -915,8 +930,7 @@
             <properties>
                 <checkstyle.version>9.3</checkstyle.version>
                 <istack.mvn.plugin.version>3.0.9</istack.mvn.plugin.version>
-                <jboss.logging.version>3.4.2.Final</jboss.logging.version>
-                <testng.version>7.5</testng.version>
+                <hk2.version>3.0.3</hk2.version>
             </properties>
             <build>
                 <pluginManagement>
@@ -947,15 +961,6 @@
             <activation>
                 <jdk>[11,)</jdk>
             </activation>
-            <dependencyManagement>
-                <dependencies>
-                    <dependency>
-                        <groupId>com.sun.activation</groupId>
-                        <artifactId>jakarta.activation</artifactId>
-                        <version>${jakarta.activation.version}</version>
-                    </dependency>
-                </dependencies>
-            </dependencyManagement>
             <build>
                 <pluginManagement>
                     <plugins>
@@ -1006,7 +1011,7 @@
                 </property>
             </activation>
             <properties>
-                <release.tests.args>-Dskip.tests=true</release.tests.args>
+<!--                <release.tests.args>-Dskip.tests=true</release.tests.args>-->
                 <skip.tests>true</skip.tests>
                 <skip.e2e>true</skip.e2e>
             </properties>
@@ -1167,14 +1172,6 @@
                     <version>${moxy.version}</version>
                 </dependency>
             </dependencies>
-            <repositories>
-                <repository>
-                    <id>eclipselink.repository</id>
-                    <name>Eclipse Maven Repository</name>
-                    <url>https://www.eclipse.org/downloads/download.php?r=1&amp;nf=1&amp;file=/rt/eclipselink/maven.repo</url>
-                    <layout>default</layout>
-                </repository>
-            </repositories>
         </profile>
         <profile>
             <id>securityOff</id>
@@ -1197,6 +1194,7 @@
                             <reportSet>
                                 <reports>
                                     <report>dependencies</report>
+                                    <report>index</report>
                                 </reports>
                             </reportSet>
                         </reportSets>
@@ -1383,6 +1381,20 @@
             </properties>
         </profile>
         <profile>
+                <!-- Use -Peclipse_repo to use SNAPSHOTs stored in Eclipse's Nexus instance ("Nightly Builds") -->
+                <id>eclipse_repo</id>
+            <repositories>
+                    <repository>
+                        <snapshots>
+                            <enabled>true</enabled>
+                        </snapshots>
+                        <id>repo.jaxrs-api.eclipse.org</id>
+                        <name>JAX-RS API Repository - Snapshots</name>
+                        <url>https://repo.eclipse.org/content/repositories/jax-rs-api-snapshots</url>
+                    </repository>
+                </repositories>
+        </profile>
+        <profile>
             <id>license_check</id>
             <pluginRepositories>
                 <pluginRepository>
@@ -1573,19 +1585,13 @@
             <dependency>
                 <groupId>jakarta.annotation</groupId>
                 <artifactId>jakarta.annotation-api</artifactId>
-                <version>${javax.annotation.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>javax.enterprise</groupId>
-                <artifactId>cdi-api</artifactId>
-                <version>${cdi.api.version}</version>
+                <version>${jakarta.annotation.version}</version>
             </dependency>
 
             <dependency>
                 <groupId>jakarta.enterprise</groupId>
                 <artifactId>jakarta.enterprise.cdi-api</artifactId>
-                <version>${cdi2.api.version}</version>
+                <version>${cdi.api.version}</version>
             </dependency>
 
             <dependency>
@@ -1594,6 +1600,18 @@
                 <version>${jta.api.version}</version>
             </dependency>
 
+            <dependency>
+                <groupId>jakarta.activation</groupId>
+                <artifactId>jakarta.activation-api</artifactId>
+                <version>${jakarta.activation-api.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>com.sun.activation</groupId>
+                <artifactId>jakarta.activation</artifactId>
+                <version>${jakarta.activation.version}</version>
+            </dependency>
+
             <!--<dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>guava</artifactId>
@@ -1617,8 +1635,8 @@
                 <version>${hk2.version}</version>
                 <exclusions>
                     <exclusion>
-                        <groupId>javax.inject</groupId>
-                        <artifactId>javax.inject</artifactId>
+                        <groupId>jakarta.inject</groupId>
+                        <artifactId>jakarta.inject-api</artifactId>
                     </exclusion>
                 </exclusions>
             </dependency>
@@ -1633,15 +1651,9 @@
                 <version>${hk2.config.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.glassfish.hk2.external</groupId>
-                <artifactId>jakarta.inject</artifactId>
-                <version>${hk2.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>javax.inject</groupId>
-                        <artifactId>javax.inject</artifactId>
-                    </exclusion>
-                </exclusions>
+                <groupId>jakarta.inject</groupId>
+                <artifactId>jakarta.inject-api</artifactId>
+                <version>${jakarta.inject.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.glassfish.hk2.external</groupId>
@@ -1661,6 +1673,11 @@
             </dependency>
             <dependency>
                 <groupId>org.glassfish.grizzly</groupId>
+                <artifactId>grizzly-http2</artifactId>
+                <version>${grizzly2.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.glassfish.grizzly</groupId>
                 <artifactId>grizzly-http-servlet</artifactId>
                 <version>${grizzly2.version}</version>
             </dependency>
@@ -1679,6 +1696,11 @@
                 <artifactId>grizzly-http-client</artifactId>
                 <version>${grizzly.client.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.glassfish.grizzly</groupId>
+                <artifactId>grizzly-npn-api</artifactId>
+                <version>${grizzly.npn.version}</version>
+            </dependency>
 
             <dependency>
                 <groupId>io.netty</groupId>
@@ -1728,11 +1750,6 @@
                 <version>${jetty.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-continuation</artifactId>
-                <version>${jetty.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>org.eclipse.jetty.http2</groupId>
                 <artifactId>http2-server</artifactId>
                 <version>${jetty.version}</version>
@@ -1776,7 +1793,7 @@
             <dependency>
                 <groupId>jakarta.xml.bind</groupId>
                 <artifactId>jakarta.xml.bind-api</artifactId>
-                <version>${jaxb.api.version}</version>
+                <version>${jakarta.jaxb.api.version}</version>
             </dependency>
 
             <dependency>
@@ -1799,7 +1816,7 @@
             <dependency>
                 <groupId>jakarta.persistence</groupId>
                 <artifactId>jakarta.persistence-api</artifactId>
-                <version>${javax.persistence.version}</version>
+                <version>${jakarta.persistence.version}</version>
                 <scope>provided</scope>
             </dependency>
 
@@ -1847,27 +1864,9 @@
             </dependency>
 
             <dependency>
-                <groupId>org.codehaus.jackson</groupId>
-                <artifactId>jackson-core-asl</artifactId>
-                <version>${jackson1.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.codehaus.jackson</groupId>
-                <artifactId>jackson-mapper-asl</artifactId>
-                <version>${jackson1.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.codehaus.jackson</groupId>
-                <artifactId>jackson-jaxrs</artifactId>
-                <version>${jackson1.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.codehaus.jackson</groupId>
-                <artifactId>jackson-xc</artifactId>
-                <version>${jackson1.version}</version>
+                <groupId>com.fasterxml.jackson.module</groupId>
+                <artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
+                <version>${jackson.version}</version>
             </dependency>
 
             <dependency>
@@ -1917,22 +1916,27 @@
             <dependency>
                 <groupId>jakarta.el</groupId>
                 <artifactId>jakarta.el-api</artifactId>
-                <version>${javax.el.version}</version>
+                <version>${jakarta.el.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.glassfish</groupId>
                 <artifactId>jakarta.el</artifactId>
-                <version>${javax.el.impl.version}</version>
+                <version>${jakarta.el.impl.version}</version>
             </dependency>
 
             <dependency>
-                <groupId>org.glassfish</groupId>
-                <artifactId>jakarta.json</artifactId>
+                <groupId>jakarta.json</groupId>
+                <artifactId>jakarta.json-api</artifactId>
+                <version>${jakarta.jsonp.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.parsson</groupId>
+                <artifactId>parsson</artifactId>
                 <version>${jsonp.ri.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.glassfish</groupId>
-                <artifactId>jsonp-jaxrs</artifactId>
+                <groupId>org.eclipse.parsson</groupId>
+                <artifactId>parsson-media</artifactId>
                 <version>${jsonp.jaxrs.version}</version>
             </dependency>
 
@@ -1984,18 +1988,18 @@
             <dependency>
                 <groupId>org.jboss.weld.se</groupId>
                 <artifactId>weld-se-core</artifactId>
-                <version>${weld3.version}</version>
+                <version>${weld.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.jboss.weld.servlet</groupId>
                 <artifactId>weld-servlet</artifactId>
-                <version>${weld3.version}</version>
+                <version>${weld.version}</version>
             </dependency>
 
             <dependency>
                 <groupId>jakarta.validation</groupId>
                 <artifactId>jakarta.validation-api</artifactId>
-                <version>${javax.validation.api.version}</version>
+                <version>${jakarta.validation.api.version}</version>
             </dependency>
 
             <!-- Test scope -->
@@ -2094,6 +2098,18 @@
                 <version>${xmlunit.version}</version>
                 <scope>test</scope>
             </dependency>
+            <dependency>
+                <groupId>org.bouncycastle</groupId>
+                <artifactId>bcprov-jdk15on</artifactId>
+                <version>${bouncycastle.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.bouncycastle</groupId>
+                <artifactId>bcmail-jdk15on</artifactId>
+                <version>${bouncycastle.version}</version>
+                <scope>test</scope>
+            </dependency>
 
             <dependency>
                 <groupId>org.apache.felix</groupId>
@@ -2127,7 +2143,7 @@
                 <artifactId>yasson</artifactId>
                 <version>${yasson.version}</version>
             </dependency>
-            
+
             <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
@@ -2158,15 +2174,15 @@
         each module; the default exclude filter file is at etc/config/findbugs-exclude.xml -->
         <findbugs.exclude />
         <findbugs.glassfish.logging.validLoggerPrefixes>
-            javax.enterprise
+            jakarta.enterprise
         </findbugs.glassfish.logging.validLoggerPrefixes>
         <java.version>1.8</java.version>
-        <jersey.repackaged.prefix>jersey.repackaged</jersey.repackaged.prefix>
-        <netbeans.hint.license>gf-cddl-gpl</netbeans.hint.license>
+<!--        <jersey.repackaged.prefix>jersey.repackaged</jersey.repackaged.prefix>-->
+<!--        <netbeans.hint.license>gf-cddl-gpl</netbeans.hint.license>-->
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <release.tests.args>-Dmaven.test.skip=false</release.tests.args>
-        <release.preparationGoals>clean install</release.preparationGoals>
+<!--        <release.tests.args>-Dmaven.test.skip=false</release.tests.args>-->
+<!--        <release.preparationGoals>clean install</release.preparationGoals>-->
         <skip.e2e>false</skip.e2e>
         <skip.tests>false</skip.tests>
         <xdk.absolute.path />
@@ -2179,48 +2195,58 @@
         <!-- Versions of Maven plugins -->
         <antrun.mvn.plugin.version>3.1.0</antrun.mvn.plugin.version>
         <assembly.mvn.plugin.version>3.6.0</assembly.mvn.plugin.version>
-        <enforcer.mvn.plugin.version>3.3.0</enforcer.mvn.plugin.version>
+        <enforcer.mvn.plugin.version>3.4.1</enforcer.mvn.plugin.version>
         <exec.mvn.plugin.version>3.1.0</exec.mvn.plugin.version>
         <buildhelper.mvn.plugin.version>3.4.0</buildhelper.mvn.plugin.version>
         <buildnumber.mvn.plugin.version>3.2.0</buildnumber.mvn.plugin.version>
-        <checkstyle.mvn.plugin.version>3.3.0</checkstyle.mvn.plugin.version>
-        <checkstyle.version>10.9.3</checkstyle.version>
-        <compiler.mvn.plugin.version>3.9.0</compiler.mvn.plugin.version>
-        <dependency.mvn.plugin.version>3.6.0</dependency.mvn.plugin.version>
+        <checkstyle.mvn.plugin.version>3.3.1</checkstyle.mvn.plugin.version>
+        <checkstyle.version>10.12.4</checkstyle.version>
+        <compiler.mvn.plugin.version>3.11.0</compiler.mvn.plugin.version>
+        <!--
+        Special version of the compiler plugin just for the jersey-common. All versions above
+        generate too much for OSGi manifest.mf imports (awt etc). The version 3.11.0 however
+        introduces the fix for the excludeTests issue. Which makes it preferable for the whole project
+        but the jersey-common module which has to have the separate version for OSGi reasons.
+         -->
+        <compiler.common.mvn.plugin.version>3.9.0</compiler.common.mvn.plugin.version>
+        <dependency.mvn.plugin.version>3.6.1</dependency.mvn.plugin.version>
         <deploy.mvn.plugin.version>3.1.1</deploy.mvn.plugin.version>
         <ear.mvn.plugin.version>3.3.0</ear.mvn.plugin.version>
-        <failsafe.mvn.plugin.version>3.1.2</failsafe.mvn.plugin.version>
+        <failsafe.mvn.plugin.version>3.2.1</failsafe.mvn.plugin.version>
         <felix.mvn.plugin.version>5.1.9</felix.mvn.plugin.version>
         <findbugs.mvn.plugin.version>3.0.5</findbugs.mvn.plugin.version>
         <gfembedded.mvn.plugin.version>5.1</gfembedded.mvn.plugin.version>
         <install.mvn.plugin.version>3.1.1</install.mvn.plugin.version>
         <istack.mvn.plugin.version>4.2.0</istack.mvn.plugin.version>
         <jar.mvn.plugin.version>3.3.0</jar.mvn.plugin.version>
-        <javadoc.mvn.plugin.version>3.5.0</javadoc.mvn.plugin.version>
-        <jxr.mvn.plugin.version>3.3.0</jxr.mvn.plugin.version>
+        <javadoc.mvn.plugin.version>3.6.0</javadoc.mvn.plugin.version>
+        <jxr.mvn.plugin.version>3.3.1</jxr.mvn.plugin.version>
         <paxexam.mvn.plugin.version>1.2.4</paxexam.mvn.plugin.version>
         <proguard.mvn.plugin.version>2.6.0</proguard.mvn.plugin.version>
         <resources.mvn.plugin.version>3.3.1</resources.mvn.plugin.version>
-        <shade.mvn.plugin.version>3.4.1</shade.mvn.plugin.version>
+        <shade.mvn.plugin.version>3.5.1</shade.mvn.plugin.version>
         <site.mvn.plugin.version>3.9.1</site.mvn.plugin.version>
         <source.mvn.plugin.version>3.3.0</source.mvn.plugin.version>
-        <surefire.mvn.plugin.version>3.1.2</surefire.mvn.plugin.version>
+        <surefire.mvn.plugin.version>3.2.1</surefire.mvn.plugin.version>
         <war.mvn.plugin.version>3.4.0</war.mvn.plugin.version>
         <wiremock.mvn.plugin.version>2.11.0</wiremock.mvn.plugin.version>
-        <xml.mvn.plugin.version>1.0.2</xml.mvn.plugin.version>
+        <xml.mvn.plugin.version>1.1.0</xml.mvn.plugin.version>
+        <harness.testing.mvn.plugin.version>3.3.0</harness.testing.mvn.plugin.version>
         <!-- END of Versions of Maven plugins -->
 
         <!-- Dependency versions -->
         <jersey.version>${project.version}</jersey.version>
         <arquillian.version>1.8.0.Final</arquillian.version>
-        <arquillian.weld.version>2.1.0.Final</arquillian.weld.version>
+        <arquillian.weld.version>3.0.1.Final</arquillian.weld.version> <!-- 3.0.2.Final fails microprofile TCK tests -->
         <!-- asm is now source integrated - keeping this property to see the version -->
         <!-- see core-server/src/main/java/jersey/repackaged/asm/.. -->
         <asm.version>9.7</asm.version>
         <!--required for spring (ext) modules integration -->
         <aspectj.weaver.version>1.9.21.1</aspectj.weaver.version>
 <!--        <bnd.plugin.version>2.3.6</bnd.plugin.version>-->
+        <bouncycastle.version>1.70</bouncycastle.version>
         <commons.io.version>2.15.1</commons.io.version>
+        <commons.codec.version>1.16.1</commons.codec.version>
 <!--        <commons-lang3.version>3.3.2</commons-lang3.version>-->
         <commons.logging.version>1.3.0</commons.logging.version>
         <fasterxml.classmate.version>1.7.0</fasterxml.classmate.version>
@@ -2230,17 +2256,39 @@
         <findbugs.glassfish.version>1.7</findbugs.glassfish.version>
         <freemarker.version>2.3.32</freemarker.version>
         <gae.version>2.0.25</gae.version>
-        <groovy.version>4.0.19</groovy.version>
+        <groovy.version>4.0.20</groovy.version>
         <gson.version>2.10.1</gson.version>
+
+        <!--versions, extracted here due to maven-enforcer-plugin -->
+<!--        <commons.codec.version>1.15</commons.codec.version>-->
+        <com.uber.jaeger.version>0.27.0</com.uber.jaeger.version>
+        <org.codehaus.gmavenplus.version>3.0.2</org.codehaus.gmavenplus.version>
+        <!-- end of versions extracted here due to maven-enforcer-plugin -->
+
+        <!-- micrometer -->
+        <micrometer.version>1.11.5</micrometer.version>
+        <micrometer-tracing.version>1.0.11</micrometer-tracing.version>
+
+        <!-- microprofile -->
+        <microprofile.config.version>3.0.3</microprofile.config.version>
+        <microprofile.rest.client.version>3.0.1</microprofile.rest.client.version>
+        <helidon.config.version>3.2.6</helidon.config.version>
+        <helidon.config.11.version>1.4.14</helidon.config.11.version> <!-- JDK 11- support -->
+        <smallrye.config.version>3.0.0</smallrye.config.version>
+
         <guava.version>31.1-jre</guava.version>
         <hamcrest.version>2.2</hamcrest.version>
         <helidon.version>1.4.14</helidon.version>
+        <helidon.jersey.connector.version>3.0.2</helidon.jersey.connector.version>
         <xmlunit.version>2.9.1</xmlunit.version>
+        <hk2.osgi.version>org.glassfish.hk2.*;version="[2.5,4)"</hk2.osgi.version>
+        <hk2.jvnet.osgi.version>org.jvnet.hk2.*;version="[2.5,4)"</hk2.jvnet.osgi.version>
         <httpclient.version>4.5.14</httpclient.version>
-        <httpclient5.version>5.3.1</httpclient5.version>
+        <httpclient5.version>5.2.1</httpclient5.version>
         <jackson.version>2.16.2</jackson.version>
-        <jackson1.version>1.9.13</jackson1.version>
         <javassist.version>3.30.2-GA</javassist.version>
+        <jboss.logging.version>3.5.3.Final</jboss.logging.version>
+        <jboss.logging.8.version>3.4.3.Final</jboss.logging.8.version>
         <jersey1.version>1.19.3</jersey1.version>
         <jersey1.last.final.version>${jersey1.version}</jersey1.last.final.version>
         <jettison.version>1.3.7</jettison.version> <!-- TODO: 1.3.8 doesn't work; AbstractJsonTest complexBeanWithAttributes -->
@@ -2248,7 +2296,7 @@
         <jmockit.version>1.49</jmockit.version>
         <junit4.version>4.13.2</junit4.version>
         <junit5.version>5.10.2</junit5.version>
-        <junit-platform-suite.version>1.10.2</junit-platform-suite.version>
+        <junit-platform-suite.version>1.10.0</junit-platform-suite.version>
         <kryo.version>4.0.3</kryo.version>
         <mockito.version>3.12.4</mockito.version> <!-- CQ 17673 -->
         <mustache.version>0.9.11</mustache.version>
@@ -2257,72 +2305,74 @@
         <osgi.version>6.0.0</osgi.version>
         <osgi.framework.version>1.10.0</osgi.framework.version>
         <osgi.compendium.version>5.0.0</osgi.compendium.version>
-        <pax.exam.version>4.13.4</pax.exam.version> <!-- with 4.13.5 tests not working -->
+        <osgi.service.cm.version>1.6.0</osgi.service.cm.version>
+        <pax.exam.version>4.13.4</pax.exam.version>
         <pax.web.version>0.7.4</pax.web.version><!-- TODO: UPGRADE! -->
         <reactive.streams.version>1.0.4</reactive.streams.version>
         <rxjava.version>1.3.8</rxjava.version>
         <rxjava2.version>2.2.21</rxjava2.version>
         <simple.version>6.0.1</simple.version>
         <slf4j.version>2.0.12</slf4j.version>
-        <smallrye.config.version>1.3.11</smallrye.config.version>
-        <spring4.version>4.3.30.RELEASE</spring4.version>
-        <spring5.version>5.3.32</spring5.version>
+        <spring6.version>6.0.13</spring6.version>
         <testng.version>7.9.0</testng.version>
         <testng6.version>6.9.13.6</testng6.version>
-        <validation.impl.version>6.2.5.Final</validation.impl.version>
-        <!--<weld.version>2.2.14.Final</weld.version>--> <!-- 2.4.1 doesn't work - bv tests -->
+        <!-- Jakartified, eligible for CQ -->
+        <weld.version>4.0.3.Final</weld.version>
         <weld3.version>3.1.9.Final</weld3.version>
+        <validation.impl.version>7.0.5.Final</validation.impl.version>
+        <!-- END of Jakartified, eligible for CQ -->
         <wiremock.version>2.27.2</wiremock.version>
         <xerces.version>2.12.2</xerces.version>
 
         <!-- Graal VM       -->
         <graalvm.version>20.3.13</graalvm.version>
 
-        <!-- do not need CQs -->
-        <cdi.api.version>1.2</cdi.api.version>
-        <cdi2.api.version>2.0.2</cdi2.api.version>
-        <cdi.osgi.version>javax.enterprise.*;version="[1,3)"</cdi.osgi.version>
-        <ejb.version>3.2.6</ejb.version>
-        <gf.impl.version>5.1.0</gf.impl.version>
+        <!-- do not need CQs (below this line till the end of version properties)-->
+        <gf.impl.version>6.2.5</gf.impl.version>
+        <hk2.config.version>6.2.5</hk2.config.version>
+        <!-- Jakartified -->
+        <cdi.api.version>3.0.0</cdi.api.version> <!-- 3.0.1 contains incompatible changes
+                                                    which fails microprofile TCK -->
+        <cdi.osgi.version>jakarta.enterprise.*;version="[3.0,5)"</cdi.osgi.version>
+        <ejb.version>4.0.1</ejb.version>
+        <grizzly2.version>3.0.1</grizzly2.version>
         <grizzly.client.version>1.16</grizzly.client.version>
-        <grizzly2.version>2.4.4</grizzly2.version>
-        <hk2.version>2.6.1</hk2.version>
-        <hk2.osgi.version>org.glassfish.hk2.*;version="[2.5,4)"</hk2.osgi.version>
-        <hk2.jvnet.osgi.version>org.jvnet.hk2.*;version="[2.5,4)"</hk2.jvnet.osgi.version>
-        <hk2.config.version>5.1.0</hk2.config.version>
-        <istack.commons.runtime.version>3.0.12</istack.commons.runtime.version>
-        <jakarta.activation.version>1.2.2</jakarta.activation.version>
-        <javax.el.version>3.0.3</javax.el.version>
-        <javax.el.impl.version>3.0.4</javax.el.impl.version>
-        <javax.annotation.osgi.version>javax.annotation.*;version="[1.2,3)"</javax.annotation.osgi.version>
-        <javax.annotation.version>1.3.5</javax.annotation.version>
-        <javax.interceptor.version>1.2.5</javax.interceptor.version>
-        <javax.persistence.version>2.2.3</javax.persistence.version>
-        <javax.validation.api.version>2.0.2</javax.validation.api.version>
-        <jaxb.api.version>2.3.3</jaxb.api.version>
-        <jaxb.ri.version>2.3.9</jaxb.ri.version>
-        <jaxrs.api.spec.version>2.1</jaxrs.api.spec.version>
-        <jaxrs.api.impl.version>2.1.6</jaxrs.api.impl.version>
-        <jetty.plugin.version>6.1.26</jetty.plugin.version>
-        <jetty.osgi.version>org.eclipse.jetty.*;version="[9.4,11)"</jetty.osgi.version>
-        <jetty.version>9.4.54.v20240208</jetty.version>
+        <grizzly.npn.version>2.0.0</grizzly.npn.version>
+        <hk2.version>3.0.6</hk2.version> <!-- 3.0.4 fails osgi tests, 3.0.5 is for JDK 11+ -->
+        <jsp.version>3.0.0</jsp.version>
+        <jstl.version>2.0.0</jstl.version>
+        <jta.api.version>2.0.1</jta.api.version>
+        <servlet5.version>5.0.0</servlet5.version>
+        <istack.commons.runtime.version>4.0.1</istack.commons.runtime.version>
+        <jakarta.activation-api.version>2.0.1</jakarta.activation-api.version>
+        <jakarta.activation.version>2.0.1</jakarta.activation.version>
+        <jakarta.el.version>4.0.0</jakarta.el.version>
+        <jakarta.el.impl.version>4.0.2</jakarta.el.impl.version>
+        <jakarta.annotation.osgi.version>jakarta.annotation.*;version="[2.0,3)"</jakarta.annotation.osgi.version>
+        <jakarta.annotation.version>2.1.1</jakarta.annotation.version>
+        <jakarta.inject.version>2.0.1</jakarta.inject.version>
+        <jakarta.interceptor.version>2.0.1</jakarta.interceptor.version>
+        <jakarta.jsonp.version>2.0.2</jakarta.jsonp.version>
+        <jakarta.persistence.version>3.0.0</jakarta.persistence.version>
+        <jakarta.validation.api.version>3.0.2</jakarta.validation.api.version> <!--Can't be updated to 3.0.1 /OSGi incompatibility with JDK 1.8 -->
+        <jakarta.jaxb.api.version>3.0.1</jakarta.jaxb.api.version>
+        <jaxb.ri.version>3.0.2</jaxb.ri.version>
+        <jaxrs.api.spec.version>3.0</jaxrs.api.spec.version>
+        <jaxrs.api.impl.version>3.0.0</jaxrs.api.impl.version>
+        <jetty.osgi.version>org.eclipse.jetty.*;version="[11,15)"</jetty.osgi.version>
+        <jetty.version>11.0.20</jetty.version>
+        <jetty.tracing.version>11.0.15</jetty.tracing.version> <!-- special version for tracing support tests-->
+        <jetty9.version>9.4.54.v20240208</jetty9.version>
+        <jetty.plugin.version>11.0.20</jetty.plugin.version>
         <jetty.servlet.api.25.version>6.1.14</jetty.servlet.api.25.version>
-        <jsonb.api.version>1.0.2</jsonb.api.version>
-        <jsonp.ri.version>1.1.6</jsonp.ri.version>
-        <jsonp.jaxrs.version>1.1.6</jsonp.jaxrs.version>
-        <jsp.version>2.3.6</jsp.version>
-        <jstl.version>1.2.7</jstl.version>
-        <jta.api.version>1.3.3</jta.api.version>
-        <micrometer.version>1.10.13</micrometer.version>
-        <micrometer-tracing.version>1.0.12</micrometer-tracing.version>
-        <microprofile.config.version>2.0.1</microprofile.config.version>
-        <microprofile.rest.client.version>2.0</microprofile.rest.client.version>
+        <jsonb.api.version>2.0.0</jsonb.api.version>
+        <jsonp.ri.version>1.0.5</jsonp.ri.version>
+        <jsonp.jaxrs.version>1.0.5</jsonp.jaxrs.version>
+        <moxy.version>3.0.4</moxy.version>
+        <yasson.version>2.0.4</yasson.version>
+        <!-- END of Jakartified -->
+
+        <javax.annotation.version>1.3.2</javax.annotation.version> <!--Deprecated, used only for @generated annotation in perf tests -->
         <mimepull.version>1.9.15</mimepull.version>
-        <moxy.version>2.7.14</moxy.version>
-        <osgi.service.cm.version>1.6.1</osgi.service.cm.version>
-        <servlet2.version>2.5</servlet2.version>
-        <servlet3.version>3.1.0</servlet3.version>
-        <servlet4.version>4.0.4</servlet4.version>
-        <yasson.version>1.0.11</yasson.version>
     </properties>
-</project>
+</project>
\ No newline at end of file
diff --git a/security/oauth1-client/pom.xml b/security/oauth1-client/pom.xml
index 0718f68..750ec8d 100644
--- a/security/oauth1-client/pom.xml
+++ b/security/oauth1-client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.security</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>oauth1-client</artifactId>
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1AuthorizationFlow.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1AuthorizationFlow.java
index d696a10..01a3929 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1AuthorizationFlow.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1AuthorizationFlow.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client.oauth1;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Feature;
 
 /**
  * The interface of the OAuth 1 Authorization Flow utility.
@@ -118,7 +118,7 @@
     public Client getAuthorizedClient();
 
     /**
-     * Return the {@link javax.ws.rs.core.Feature oauth filter feature} that can be used to configure
+     * Return the {@link jakarta.ws.rs.core.Feature oauth filter feature} that can be used to configure
      * {@link Client client} instances to perform authenticated requests to the Service Provider.
      * <p>
      * The authorization process must be successfully finished by instance by calling methods {@link #start()} and
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1AuthorizationFlowImpl.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1AuthorizationFlowImpl.java
index 942435d..abfd4b0 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1AuthorizationFlowImpl.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1AuthorizationFlowImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,16 +18,18 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.NotAuthorizedException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.NotAuthorizedException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.oauth1.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.util.collection.Value;
@@ -170,7 +172,7 @@
 
     public String start() {
         final Response response = addProperties(client.target(requestTokenUri).request())
-                .post(null);
+                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(null);
         if (response.getStatus() != 200) {
             throw new RuntimeException(LocalizationMessages.ERROR_REQUEST_REQUEST_TOKEN(response.getStatus()));
         }
@@ -188,7 +190,8 @@
 
     public AccessToken finish(final String verifier) {
         parameters.setVerifier(verifier);
-        final Response response = addProperties(client.target(accessTokenUri).request()).post(null);
+        final Response response = addProperties(client.target(accessTokenUri).request())
+                .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(null);
         // accessToken request failed
         if (response.getStatus() >= 400) {
             throw new RuntimeException(LocalizationMessages.ERROR_REQUEST_ACCESS_TOKEN(response.getStatus()));
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1Builder.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1Builder.java
index ab5ec5a..d71d7b4 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1Builder.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1Builder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client.oauth1;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Feature;
 
 /**
  * Builder of OAuth 1 client support. This builder can build {@link OAuth1AuthorizationFlow} using a method
@@ -112,7 +112,7 @@
 
 
     /**
-     * Builder of the {@link javax.ws.rs.core.Feature}.
+     * Builder of the {@link jakarta.ws.rs.core.Feature}.
      */
     public static interface FilterFeatureBuilder {
         /**
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1BuilderImpl.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1BuilderImpl.java
index ece148f..d834625 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1BuilderImpl.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1BuilderImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.client.oauth1;
 
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
 import org.glassfish.jersey.oauth1.signature.OAuth1Secrets;
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientFeature.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientFeature.java
index 1f8c4b1..b5dd81d 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientFeature.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.client.oauth1;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
 import org.glassfish.jersey.oauth1.signature.OAuth1Secrets;
@@ -27,13 +27,13 @@
  * OAuth1 client filter feature registers the support for performing authenticated requests to the
  * Service Provider. The feature does not perform Authorization Flow (see {@link OAuth1AuthorizationFlow}
  * for details how to use Authorization Flow and retrieve Access Token). The feature uses {@link ConsumerCredentials}
- * and {@link AccessToken} to initialize the internal {@link javax.ws.rs.container.ContainerRequestFilter filter}
+ * and {@link AccessToken} to initialize the internal {@link jakarta.ws.rs.container.ContainerRequestFilter filter}
  * which will add {@code Authorization} headers containing OAuth authorization information including
  * the oauth signature.
  * <p>
  * The internal filter can be controlled by properties put into
- * the {@link javax.ws.rs.client.ClientRequestContext client request}
- * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} method. The property keys
+ * the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+ * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} method. The property keys
  * are defined in this class as a static variables (see their javadocs for usage). Using these properties a specific
  * {@link AccessToken} can be defined for each request for example.
  * </p>
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientFilter.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientFilter.java
index 59a514f..143c2ab 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientFilter.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientFilter.java
@@ -18,15 +18,15 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.ws.rs.core.Context;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.client.oauth1.internal.LocalizationMessages;
 import org.glassfish.jersey.message.MessageBodyWorkers;
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientSupport.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientSupport.java
index 08b394c..71e8b9a 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientSupport.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/OAuth1ClientSupport.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,10 +26,10 @@
  *     by an implementation of {@link OAuth1AuthorizationFlow} interface. The result of the process is
  *     an {@link AccessToken}.</li>
  *
- *     <li><b>Authenticated Requests:</b> requests done by a {@link javax.ws.rs.client.Client client} are
+ *     <li><b>Authenticated Requests:</b> requests done by a {@link jakarta.ws.rs.client.Client client} are
  *     enhanced by an {@code Authorization} http header that contains OAuth1 authorization information
  *     based on the {@code AccessToken} received from Authorization flow. This support is provided by
- *     {@link javax.ws.rs.core.Feature oauth 1 filter feature} that is registered into client configuration.
+ *     {@link jakarta.ws.rs.core.Feature oauth 1 filter feature} that is registered into client configuration.
  *     </li>
  * </list>
  * This class contains static method that allows to build both OAuth1 features (authorization flow and client feature).
@@ -42,11 +42,11 @@
 
     /**
      * Key of the property that can be attached to the
-     * {@link javax.ws.rs.client.ClientRequestContext client request} using
-     * {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
+     * {@link jakarta.ws.rs.client.ClientRequestContext client request} using
+     * {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
      * defines {@link org.glassfish.jersey.client.oauth1.ConsumerCredentials consumer credentials} that should be used when generating OAuth {@code Authorization}
      * http header. The property will override the setting of the internal
-     * {@link javax.ws.rs.client.ClientRequestFilter filter} for the current request only.
+     * {@link jakarta.ws.rs.client.ClientRequestFilter filter} for the current request only.
      * <p>
      * The value of the property must be {@link org.glassfish.jersey.client.oauth1.ConsumerCredentials} instance.
      * </p>
@@ -55,11 +55,11 @@
 
     /**
      * Key of the property that can be attached to the
-     * {@link javax.ws.rs.client.ClientRequestContext client request} using
-     * {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
+     * {@link jakarta.ws.rs.client.ClientRequestContext client request} using
+     * {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
      * defines {@link org.glassfish.jersey.client.oauth1.AccessToken access token} that should be used when generating OAuth {@code Authorization}
      * http header. The property will override the setting of the internal
-     * {@link javax.ws.rs.client.ClientRequestFilter filter} for the current request only.
+     * {@link jakarta.ws.rs.client.ClientRequestFilter filter} for the current request only.
      * <p>
      * The value of the property must be {@link org.glassfish.jersey.client.oauth1.AccessToken} instance.
      * </p>
@@ -68,12 +68,12 @@
 
     /**
      * Key of the property that can be attached to the
-     * {@link javax.ws.rs.client.ClientRequestContext client request} using
-     * {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
+     * {@link jakarta.ws.rs.client.ClientRequestContext client request} using
+     * {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
      * defines {@link org.glassfish.jersey.oauth1.signature.OAuth1Parameters}
      * that should be used when generating OAuth {@code Authorization}
      * http header. The property will override the setting of the internal
-     * {@link javax.ws.rs.client.ClientRequestFilter filter} for the current request only.
+     * {@link jakarta.ws.rs.client.ClientRequestFilter filter} for the current request only.
      * <p>
      * The value of the property must be {@link org.glassfish.jersey.oauth1.signature.OAuth1Parameters} instance.
      * </p>
@@ -91,12 +91,12 @@
 
     /**
      * Key of the property that can be attached to the
-     * {@link javax.ws.rs.client.ClientRequestContext client request} using
-     * {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
+     * {@link jakarta.ws.rs.client.ClientRequestContext client request} using
+     * {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
      * defines {@link org.glassfish.jersey.oauth1.signature.OAuth1Secrets}
      * that should be used when generating OAuth {@code Authorization}
      * http header. The property will override the setting of the internal
-     * {@link javax.ws.rs.client.ClientRequestFilter filter} for the current request only.
+     * {@link jakarta.ws.rs.client.ClientRequestFilter filter} for the current request only.
      * <p>
      * The value of the property must be {@link org.glassfish.jersey.oauth1.signature.OAuth1Secrets} instance.
      * </p>
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/RequestUtil.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/RequestUtil.java
index 5e8208e..79a2535 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/RequestUtil.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/RequestUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,15 +23,15 @@
 import java.lang.reflect.Type;
 import java.net.URI;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.uri.UriComponent;
@@ -56,7 +56,7 @@
      * Returns the query parameters of a request as a multi-valued map.
      *
      * @param request the client request to retrieve query parameters from.
-     * @return a {@link javax.ws.rs.core.MultivaluedMap} containing the entity query parameters.
+     * @return a {@link jakarta.ws.rs.core.MultivaluedMap} containing the entity query parameters.
      */
     public static MultivaluedMap<String, String> getQueryParameters(ClientRequestContext request) {
         URI uri = request.getUri();
@@ -73,7 +73,7 @@
      * x-www-form-urlencoded, then null is returned.
      *
      * @param request the client request containing the entity to extract parameters from.
-     * @return a {@link javax.ws.rs.core.MultivaluedMap} containing the entity form parameters.
+     * @return a {@link jakarta.ws.rs.core.MultivaluedMap} containing the entity form parameters.
      */
     @SuppressWarnings("unchecked")
     public static MultivaluedMap<String, String> getEntityParameters(ClientRequestContext request,
diff --git a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/RequestWrapper.java b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/RequestWrapper.java
index 44eaca1..9d3827b 100644
--- a/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/RequestWrapper.java
+++ b/security/oauth1-client/src/main/java/org/glassfish/jersey/client/oauth1/RequestWrapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,9 +25,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.oauth1.signature.OAuth1Request;
diff --git a/security/oauth1-server/pom.xml b/security/oauth1-server/pom.xml
index 9bb3734..d59a01e 100644
--- a/security/oauth1-server/pom.xml
+++ b/security/oauth1-server/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.security</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>oauth1-server</artifactId>
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/DefaultOAuth1Provider.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/DefaultOAuth1Provider.java
index 8e8dc73..0be8aa7 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/DefaultOAuth1Provider.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/DefaultOAuth1Provider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,9 +25,9 @@
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.internal.util.collection.ImmutableMultivaluedMap;
 
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Consumer.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Consumer.java
index d5e5d92..a78d1e4 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Consumer.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Consumer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -49,7 +49,7 @@
     /** Returns a boolean indicating whether this consumer is authorized for the
      * specified logical "role". When the oauth filter verifies the request
      * and no access token is provided (2-legged oauth), it sets the consumer object to the security context
-     * which then delegates {@link javax.ws.rs.core.SecurityContext#isUserInRole(String)} to this
+     * which then delegates {@link jakarta.ws.rs.core.SecurityContext#isUserInRole(String)} to this
      * method.
      *
      * @param role a {@code String} specifying the name of the role
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Exception.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Exception.java
index ef59d9c..1ec0172 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Exception.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Exception.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.server.oauth1;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.ResponseBuilder;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.ResponseBuilder;
 
 /**
  * {@link WebApplicationException Web application exception} that is mapped either
- * to {@link javax.ws.rs.core.Response.Status#BAD_REQUEST} (e.g. if problem with OAuth
+ * to {@link jakarta.ws.rs.core.Response.Status#BAD_REQUEST} (e.g. if problem with OAuth
  * parameters occurs) or
- * {@link javax.ws.rs.core.Response.Status#UNAUTHORIZED} (e.g. if signature is incorrect).
+ * {@link jakarta.ws.rs.core.Response.Status#UNAUTHORIZED} (e.g. if signature is incorrect).
  *
  * @author Martin Matula
  * @author Miroslav Fuksa
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1SecurityContext.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1SecurityContext.java
index 43c233c..9188275 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1SecurityContext.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1SecurityContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.security.Principal;
 
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
 
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerFeature.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerFeature.java
index d28620f..a8b1b83 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerFeature.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.util.Map;
 
-import javax.annotation.Priority;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1SignatureFeature;
 import org.glassfish.jersey.server.model.ModelProcessor;
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerFilter.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerFilter.java
index 6c515e3..85e31bf 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerFilter.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,15 +24,15 @@
 import java.util.concurrent.TimeUnit;
 import java.util.regex.Pattern;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerProperties.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerProperties.java
index 9bdb2fe..1dced7d 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerProperties.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1ServerProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -119,8 +119,8 @@
     /**
      * If set to {@code true} makes the correct OAuth authentication optional.
      * Instead of returning the appropriate status code
-     * ({@link javax.ws.rs.core.Response.Status#BAD_REQUEST}
-     * or {@link javax.ws.rs.core.Response.Status#UNAUTHORIZED}) the {@link OAuth1ServerFilter OAuth filter}
+     * ({@link jakarta.ws.rs.core.Response.Status#BAD_REQUEST}
+     * or {@link jakarta.ws.rs.core.Response.Status#UNAUTHORIZED}) the {@link OAuth1ServerFilter OAuth filter}
      * will ignore this request (as if it was not authenticated) and let the web application deal with it.
      *
      * <p>
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Token.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Token.java
index a70b2f7..48b7209 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Token.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/OAuth1Token.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.security.Principal;
 
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 /** Interface representing an OAuth token (i.e. access token or request token).
  *
@@ -58,7 +58,7 @@
      * user the request containing this token is authorized to act on behalf of.
      * When the oauth filter verifies the request
      * with this token is properly authenticated, it injects this token into a security context
-     * which then delegates {@link javax.ws.rs.core.SecurityContext#getUserPrincipal()} to this
+     * which then delegates {@link jakarta.ws.rs.core.SecurityContext#getUserPrincipal()} to this
      * method.
      *
      * @return Principal corresponding to this token, or null if the token is not authorized
@@ -68,7 +68,7 @@
     /** Returns a boolean indicating whether this token is authorized for the
      * specified logical "role". When the oauth filter verifies the request
      * with this token is properly authenticated, it injects this token into a security context
-     * which then delegates {@link javax.ws.rs.core.SecurityContext#isUserInRole(String)} to this
+     * which then delegates {@link jakarta.ws.rs.core.SecurityContext#isUserInRole(String)} to this
      * method.
      *
      * @param role a {@code String} specifying the name of the role
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/TokenResource.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/TokenResource.java
index b4c37d4..0ca1ec9 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/TokenResource.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/TokenResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
  * Annotation to be placed on resource classes or resource methods
  * that should be ignored by {@link OAuth1ServerFilter OAuth server filter}.
  * Filter will not perform authentication and authorization check for resources with this annotation and will
- * leave the {@link javax.ws.rs.core.SecurityContext} unchanged. This annotation is intended to be placed
+ * leave the {@link jakarta.ws.rs.core.SecurityContext} unchanged. This annotation is intended to be placed
  * on resource providing Request and Access Token during Authorization process.
  * <p/>
  * The annotation can be placed on a resource method directly or resource class.
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/AccessTokenResource.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/AccessTokenResource.java
index 631f670..e764139 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/AccessTokenResource.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/AccessTokenResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,18 +19,18 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
 import org.glassfish.jersey.oauth1.signature.OAuth1Secrets;
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/OAuthServerRequest.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/OAuthServerRequest.java
index 5d8095a..93356bd 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/OAuthServerRequest.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/OAuthServerRequest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,10 +26,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.message.internal.MediaTypes;
 import org.glassfish.jersey.internal.util.collection.Value;
diff --git a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/RequestTokenResource.java b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/RequestTokenResource.java
index 9cf991c..5b9ef54 100644
--- a/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/RequestTokenResource.java
+++ b/security/oauth1-server/src/main/java/org/glassfish/jersey/server/oauth1/internal/RequestTokenResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,16 +19,16 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
 import org.glassfish.jersey.oauth1.signature.OAuth1Signature;
diff --git a/security/oauth1-server/src/test/java/org/glassfish/jersey/server/oauth1/OAuth1ExceptionTest.java b/security/oauth1-server/src/test/java/org/glassfish/jersey/server/oauth1/OAuth1ExceptionTest.java
index 591e572..ac3e0da 100644
--- a/security/oauth1-server/src/test/java/org/glassfish/jersey/server/oauth1/OAuth1ExceptionTest.java
+++ b/security/oauth1-server/src/test/java/org/glassfish/jersey/server/oauth1/OAuth1ExceptionTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.oauth1;
 
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/security/oauth1-signature/pom.xml b/security/oauth1-signature/pom.xml
index 7826a48..562f7a2 100644
--- a/security/oauth1-signature/pom.xml
+++ b/security/oauth1-signature/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.glassfish.jersey.security</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/security/oauth1-signature/src/main/java/org/glassfish/jersey/oauth1/signature/OAuth1Signature.java b/security/oauth1-signature/src/main/java/org/glassfish/jersey/oauth1/signature/OAuth1Signature.java
index 2df7f36..a5f4c76 100644
--- a/security/oauth1-signature/src/main/java/org/glassfish/jersey/oauth1/signature/OAuth1Signature.java
+++ b/security/oauth1-signature/src/main/java/org/glassfish/jersey/oauth1/signature/OAuth1Signature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,7 +27,7 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.uri.UriComponent;
diff --git a/security/oauth1-signature/src/main/java/org/glassfish/jersey/oauth1/signature/OAuth1SignatureFeature.java b/security/oauth1-signature/src/main/java/org/glassfish/jersey/oauth1/signature/OAuth1SignatureFeature.java
index 675cca4..3e35a23 100644
--- a/security/oauth1-signature/src/main/java/org/glassfish/jersey/oauth1/signature/OAuth1SignatureFeature.java
+++ b/security/oauth1-signature/src/main/java/org/glassfish/jersey/oauth1/signature/OAuth1SignatureFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.oauth1.signature;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 
diff --git a/security/oauth1-signature/src/test/java/org/glassfish/jersey/oauth1/signature/OAuth1SignatureTest.java b/security/oauth1-signature/src/test/java/org/glassfish/jersey/oauth1/signature/OAuth1SignatureTest.java
index 2714c99..b390aa5 100644
--- a/security/oauth1-signature/src/test/java/org/glassfish/jersey/oauth1/signature/OAuth1SignatureTest.java
+++ b/security/oauth1-signature/src/test/java/org/glassfish/jersey/oauth1/signature/OAuth1SignatureTest.java
@@ -21,8 +21,8 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/security/oauth2-client/pom.xml b/security/oauth2-client/pom.xml
index e473361..b0b9e0e 100644
--- a/security/oauth2-client/pom.xml
+++ b/security/oauth2-client/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.glassfish.jersey.security</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -47,9 +47,15 @@
 
 
     <dependencies>
+<!--        <dependency>-->
+<!--            <groupId>org.glassfish.jersey.media</groupId>-->
+<!--            <artifactId>jersey-media-json-jackson</artifactId>-->
+<!--            <version>${project.version}</version>-->
+<!--        </dependency>-->
+
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson</artifactId>
+            <artifactId>jersey-media-json-binding</artifactId>
             <version>${project.version}</version>
         </dependency>
 
diff --git a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/AbstractAuthorizationCodeGrantBuilder.java b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/AbstractAuthorizationCodeGrantBuilder.java
index 59c4a20..b2959e3 100644
--- a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/AbstractAuthorizationCodeGrantBuilder.java
+++ b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/AbstractAuthorizationCodeGrantBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.client.oauth2;
 
-import javax.ws.rs.client.Client;
+import jakarta.ws.rs.client.Client;
 
 /**
  * Abstract implementation of {@link OAuth2CodeGrantFlow.Builder}.
diff --git a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/AuthCodeGrantImpl.java b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/AuthCodeGrantImpl.java
index ae2e297..3f2fe27 100644
--- a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/AuthCodeGrantImpl.java
+++ b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/AuthCodeGrantImpl.java
@@ -26,29 +26,29 @@
 import java.util.Map;
 import java.util.UUID;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.ReaderInterceptor;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.client.oauth2.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.PropertiesDelegate;
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.MessageBodyWorkers;
 
 /**
@@ -234,9 +234,9 @@
         if (!config.isRegistered(AuthCodeGrantImpl.DefaultTokenMessageBodyReader.class)) {
             client.register(AuthCodeGrantImpl.DefaultTokenMessageBodyReader.class);
         }
-        if (!config.isRegistered(JacksonFeature.class)) {
-            client.register(JacksonFeature.class);
-        }
+//        if (!config.isRegistered(JacksonFeature.class)) {
+//            client.register(JacksonFeature.class);
+//        }
 
         return client;
     }
diff --git a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientFeature.java b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientFeature.java
index ea3f0d5..48773af 100644
--- a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientFeature.java
+++ b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,20 +16,20 @@
 
 package org.glassfish.jersey.client.oauth2;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 /**
  * OAuth2 client filter feature registers the support for performing authenticated requests to the
  * Service Provider. The feature does not perform Authorization Flow (see {@link OAuth2CodeGrantFlow}
  * for details how to use Authorization Flow and retrieve Access Token). The feature uses access to initialize
- * the internal {@link javax.ws.rs.container.ContainerRequestFilter filter}
+ * the internal {@link jakarta.ws.rs.container.ContainerRequestFilter filter}
  * which will add {@code Authorization} http header containing OAuth 2 authorization information including (based
  * on {@code bearer} tokens).
  * <p>
  * The internal filter can be controlled by properties put into
- * the {@link javax.ws.rs.client.ClientRequestContext client request}
- * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} method. The property key
+ * the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+ * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} method. The property key
  * is defined in this class as a static variables
  * ({@link OAuth2ClientSupport#OAUTH2_PROPERTY_ACCESS_TOKEN} (see its javadoc for usage).
  * Using the property a specific
diff --git a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientFilter.java b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientFilter.java
index fd901de..877aa67 100644
--- a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientFilter.java
+++ b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.HttpHeaders;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 /**
  * Client filter that adds access token to the {@code Authorization} http header. The filter uses {@code bearer}
diff --git a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientSupport.java b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientSupport.java
index a42c1a2..13e57b4 100644
--- a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientSupport.java
+++ b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2ClientSupport.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.client.oauth2;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Feature;
 
 /**
- * Main class to build the Authorization Flow instances and {@link javax.ws.rs.core.Feature client filter feature} that
+ * Main class to build the Authorization Flow instances and {@link jakarta.ws.rs.core.Feature client filter feature} that
  * can supports performing of authenticated OAuth requests.
  * <p><b>Authorization flow</b></p>
  * For more information about authorization flow, see {@link OAuth2CodeGrantFlow}.
@@ -29,15 +29,15 @@
  * Use method {@link #feature(String)} to build the feature. OAuth2 client filter feature registers
  * the support for performing authenticated requests to the
  * Service Provider. The feature uses an access token to initialize
- * the internal {@link javax.ws.rs.container.ContainerRequestFilter filter}
+ * the internal {@link jakarta.ws.rs.container.ContainerRequestFilter filter}
  * which will add {@code Authorization} http header containing OAuth 2 authorization information (based
  * on {@code bearer} tokens).
  * </p>
  *
  * <p>
  * The internal filter can be controlled by properties put into
- * the {@link javax.ws.rs.client.ClientRequestContext client request}
- * using {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} method. The property key
+ * the {@link jakarta.ws.rs.client.ClientRequestContext client request}
+ * using {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} method. The property key
  * is defined in this class as a static variables
  * ({@link OAuth2ClientSupport#OAUTH2_PROPERTY_ACCESS_TOKEN} (see its javadoc for usage).
  * Using the property a specific
@@ -56,13 +56,13 @@
 public final class OAuth2ClientSupport {
     /**
      * Key of the property that can be attached to the
-     * {@link javax.ws.rs.client.ClientRequestContext client request} using
-     * {@link javax.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
+     * {@link jakarta.ws.rs.client.ClientRequestContext client request} using
+     * {@link jakarta.ws.rs.client.ClientRequestContext#setProperty(String, Object)} and that
      * defines access token that should be used when generating OAuth {@code Authorization}
      * http header. The property will override the setting of the internal
-     * {@link javax.ws.rs.client.ClientRequestFilter filter} for the current request only. This property
-     * can be used only when {@link javax.ws.rs.core.Feature OAauth 2 filter feature} is
-     * registered into the {@link javax.ws.rs.client.Client}
+     * {@link jakarta.ws.rs.client.ClientRequestFilter filter} for the current request only. This property
+     * can be used only when {@link jakarta.ws.rs.core.Feature OAauth 2 filter feature} is
+     * registered into the {@link jakarta.ws.rs.client.Client}
      * instance.
      * <p>
      * The value of the property must be a {@link String}.
diff --git a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2CodeGrantFlow.java b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2CodeGrantFlow.java
index c3f476d..d0c80ba 100644
--- a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2CodeGrantFlow.java
+++ b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2CodeGrantFlow.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.Map;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Feature;
 
 /**
  * The interface that defines OAuth 2 Authorization Code Grant Flow.
diff --git a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2FlowFacebookBuilder.java b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2FlowFacebookBuilder.java
index f05f23d..dbb304f 100644
--- a/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2FlowFacebookBuilder.java
+++ b/security/oauth2-client/src/main/java/org/glassfish/jersey/client/oauth2/OAuth2FlowFacebookBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,12 +23,12 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 import org.glassfish.jersey.message.internal.ReaderWriter;
 
diff --git a/security/pom.xml b/security/pom.xml
index d78d364..bfe13e6 100644
--- a/security/pom.xml
+++ b/security/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.security</groupId>
diff --git a/test-framework/core/pom.xml b/test-framework/core/pom.xml
index 9963b0b..c26482f 100644
--- a/test-framework/core/pom.xml
+++ b/test-framework/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-test-framework-core</artifactId>
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.core</groupId>
@@ -67,6 +67,7 @@
         <dependency>
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
+            <version>${testng6.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/test-framework/core/src/main/java/org/glassfish/jersey/test/ContainerPerClassTestNgStrategy.java b/test-framework/core/src/main/java/org/glassfish/jersey/test/ContainerPerClassTestNgStrategy.java
index 6a0ce91..3988b85 100644
--- a/test-framework/core/src/main/java/org/glassfish/jersey/test/ContainerPerClassTestNgStrategy.java
+++ b/test-framework/core/src/main/java/org/glassfish/jersey/test/ContainerPerClassTestNgStrategy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.test;
 
-import javax.ws.rs.client.Client;
+import jakarta.ws.rs.client.Client;
 
 import org.glassfish.jersey.test.spi.TestContainer;
 import org.glassfish.jersey.test.spi.TestNgStrategy;
diff --git a/test-framework/core/src/main/java/org/glassfish/jersey/test/ContainerPerMethodTestNgStrategy.java b/test-framework/core/src/main/java/org/glassfish/jersey/test/ContainerPerMethodTestNgStrategy.java
index 1388789..449dbee 100644
--- a/test-framework/core/src/main/java/org/glassfish/jersey/test/ContainerPerMethodTestNgStrategy.java
+++ b/test-framework/core/src/main/java/org/glassfish/jersey/test/ContainerPerMethodTestNgStrategy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.test;
 
-import javax.ws.rs.client.Client;
+import jakarta.ws.rs.client.Client;
 
 import org.glassfish.jersey.test.spi.TestContainer;
 import org.glassfish.jersey.test.spi.TestNgStrategy;
diff --git a/test-framework/core/src/main/java/org/glassfish/jersey/test/DeploymentContext.java b/test-framework/core/src/main/java/org/glassfish/jersey/test/DeploymentContext.java
index f330090..8a4754e 100644
--- a/test-framework/core/src/main/java/org/glassfish/jersey/test/DeploymentContext.java
+++ b/test-framework/core/src/main/java/org/glassfish/jersey/test/DeploymentContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLParameters;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
@@ -109,7 +109,7 @@
 
     /**
      * Deployment context builder for building a basic application deployment context for the JAX-RS / Jersey application
-     * defined by the associated {@link javax.ws.rs.core.Application} class or instance.
+     * defined by the associated {@link jakarta.ws.rs.core.Application} class or instance.
      * <p>
      * If properties of the builder are not modified, default values will be utilized:
      * <ul>
diff --git a/test-framework/core/src/main/java/org/glassfish/jersey/test/JerseyTest.java b/test-framework/core/src/main/java/org/glassfish/jersey/test/JerseyTest.java
index b1d8268..243466c 100644
--- a/test-framework/core/src/main/java/org/glassfish/jersey/test/JerseyTest.java
+++ b/test-framework/core/src/main/java/org/glassfish/jersey/test/JerseyTest.java
@@ -39,12 +39,12 @@
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLParameters;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.ServiceFinder;
@@ -73,10 +73,10 @@
  * has run, the {@link TestContainer#stop()} method is invoked on the test container. Stopped test container
  * generally shouldn't be again started for another test, rather a new test container should be created.
  * Every test method in the {@code JerseyTest} subclass can invoke the {@link #client()} to obtain a JAX-RS
- * {@link javax.ws.rs.client.Client}, from which {@link javax.ws.rs.client.WebTarget} instances can be created
+ * {@link jakarta.ws.rs.client.Client}, from which {@link jakarta.ws.rs.client.WebTarget} instances can be created
  * to send arbitrary requests.
  * Also, one of the {@code target} methods ({@link #target()} or {@link #target(String)}) may be invoked to obtain
- * a JAX-RS {@link javax.ws.rs.client.WebTarget} instances from which requests can be sent to and responses
+ * a JAX-RS {@link jakarta.ws.rs.client.WebTarget} instances from which requests can be sent to and responses
  * received from the Web application under test.
  * </p>
  * <p>
@@ -387,7 +387,7 @@
      * must not depend on any subclass fields as those will not be initialized yet when the method is invoked.
      * </p>
      * <p>
-     * Also note that in case the {@link #JerseyTest(javax.ws.rs.core.Application)} constructor is used, the method is never
+     * Also note that in case the {@link #JerseyTest(jakarta.ws.rs.core.Application)} constructor is used, the method is never
      * invoked.
      * </p>
      *
@@ -405,7 +405,7 @@
      * <p>
      * The method is invoked from {@code JerseyTest} constructors to provide deployment context for the tested application.
      * Default implementation of this method creates
-     * {@link DeploymentContext#newInstance(javax.ws.rs.core.Application) new deployment context}
+     * {@link DeploymentContext#newInstance(jakarta.ws.rs.core.Application) new deployment context}
      * using JAX-RS application instance obtained by calling the {@link #configure()} method.
      * </p>
      * <p>
@@ -413,7 +413,7 @@
      * must not depend on any subclass fields as those will not be initialized yet when the method is invoked.
      * </p>
      * <p>
-     * Also note that in case the {@link #JerseyTest(javax.ws.rs.core.Application)} constructor is used, the method is never
+     * Also note that in case the {@link #JerseyTest(jakarta.ws.rs.core.Application)} constructor is used, the method is never
      * invoked.
      * </p>
      *
@@ -652,7 +652,7 @@
 
     /**
      * Tear down the test by {@link TestContainer#stop() stopping} the test container obtained from the
-     * {@link #getTestContainerFactory() test container factory} and by {@link javax.ws.rs.client.Client#close() closing}
+     * {@link #getTestContainerFactory() test container factory} and by {@link jakarta.ws.rs.client.Client#close() closing}
      * and discarding the {@link #configureClient(org.glassfish.jersey.client.ClientConfig) pre-configured} test client
      * that was {@link #setUp() set up} for the test.
      *
@@ -737,7 +737,7 @@
      * <p>
      * The method can be overridden by {@code JerseyTest} subclasses to conveniently configure the test client instance
      * used by Jersey test framework (either returned from {@link #client()} method or used to create
-     * {@link javax.ws.rs.client.WebTarget} instances returned from one of the {@code target} methods
+     * {@link jakarta.ws.rs.client.WebTarget} instances returned from one of the {@code target} methods
      * ({@link #target()} or {@link #target(String)}).
      * <p>
      * Prior to every test method run, a new client instance is configured and created using the client configuration
@@ -749,7 +749,7 @@
      * to further customize created client instance.
      * </p>
      * <p>
-     * After each test method is run, the existing client instance is {@link javax.ws.rs.client.Client#close() closed}
+     * After each test method is run, the existing client instance is {@link jakarta.ws.rs.client.Client#close() closed}
      * and discarded.
      * </p>
      * <p>
diff --git a/test-framework/core/src/main/java/org/glassfish/jersey/test/JerseyTestNg.java b/test-framework/core/src/main/java/org/glassfish/jersey/test/JerseyTestNg.java
index 2ba54cd..c577675 100644
--- a/test-framework/core/src/main/java/org/glassfish/jersey/test/JerseyTestNg.java
+++ b/test-framework/core/src/main/java/org/glassfish/jersey/test/JerseyTestNg.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.test;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.spi.TestContainer;
 import org.glassfish.jersey.test.spi.TestContainerException;
diff --git a/test-framework/core/src/main/java/org/glassfish/jersey/test/ServletDeploymentContext.java b/test-framework/core/src/main/java/org/glassfish/jersey/test/ServletDeploymentContext.java
index 143ad1b..ca87db4 100644
--- a/test-framework/core/src/main/java/org/glassfish/jersey/test/ServletDeploymentContext.java
+++ b/test-framework/core/src/main/java/org/glassfish/jersey/test/ServletDeploymentContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,18 +26,18 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
-import javax.servlet.DispatcherType;
-import javax.servlet.Filter;
-import javax.servlet.ServletContextAttributeListener;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletRequestAttributeListener;
-import javax.servlet.ServletRequestListener;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpSessionActivationListener;
-import javax.servlet.http.HttpSessionAttributeListener;
-import javax.servlet.http.HttpSessionListener;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.Filter;
+import jakarta.servlet.ServletContextAttributeListener;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletRequestAttributeListener;
+import jakarta.servlet.ServletRequestListener;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpSessionActivationListener;
+import jakarta.servlet.http.HttpSessionAttributeListener;
+import jakarta.servlet.http.HttpSessionListener;
 
 import org.glassfish.jersey.server.ServerProperties;
 import org.glassfish.jersey.servlet.ServletContainer;
@@ -107,7 +107,7 @@
     /**
      * Create new servlet deployment context builder bound to a Servlet instance.
      * <p>
-     * Note that the servlet instance will be discarded if one of the {@link Builder#servlet(javax.servlet.http.HttpServlet)},
+     * Note that the servlet instance will be discarded if one of the {@link Builder#servlet(jakarta.servlet.http.HttpServlet)},
      * {@link Builder#servletClass(Class)}, {@link Builder#filterClass(Class)} or
      * {@link Builder#filterClass(Class, java.util.Set)} is invoked on the builder.
      * </p>
@@ -124,7 +124,7 @@
     /**
      * Create new servlet deployment context builder bound to a Servlet class.
      * <p>
-     * Note that the servlet instance will be discarded if one of the {@link Builder#servlet(javax.servlet.http.HttpServlet)},
+     * Note that the servlet instance will be discarded if one of the {@link Builder#servlet(jakarta.servlet.http.HttpServlet)},
      * {@link Builder#servletClass(Class)}, {@link Builder#filterClass(Class)} or
      * {@link Builder#filterClass(Class, java.util.Set)} is invoked on the builder.
      * </p>
diff --git a/test-framework/core/src/main/java/org/glassfish/jersey/test/spi/TestNgStrategy.java b/test-framework/core/src/main/java/org/glassfish/jersey/test/spi/TestNgStrategy.java
index 46c4113..d60f033 100644
--- a/test-framework/core/src/main/java/org/glassfish/jersey/test/spi/TestNgStrategy.java
+++ b/test-framework/core/src/main/java/org/glassfish/jersey/test/spi/TestNgStrategy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.test.spi;
 
-import javax.ws.rs.client.Client;
+import jakarta.ws.rs.client.Client;
 
 /**
  * Strategy defining how test containers and clients are stored and passed to TestNG tests.
  * <p/>
  * {@link org.glassfish.jersey.test.JerseyTestNg Jersey Test} calls {@link #testContainer(TestContainer)} /
- * {@link #client(javax.ws.rs.client.Client)} methods before {@link #testContainer()} / {@link #client()}. Strategy is not
+ * {@link #client(jakarta.ws.rs.client.Client)} methods before {@link #testContainer()} / {@link #client()}. Strategy is not
  * supposed to create instances of test container / client. It's purpose is to appropriately store given instances for different
  * TestNG approaches defined by {@code @BeforeXXX} and {@code @AfterXXX} annotations.
  *
@@ -46,7 +46,7 @@
     public TestContainer testContainer(final TestContainer testContainer);
 
     /**
-     * Return a JAX-RS client. This method is called after {@link #client(javax.ws.rs.client.Client)}.
+     * Return a JAX-RS client. This method is called after {@link #client(jakarta.ws.rs.client.Client)}.
      *
      * @return a client instance or {@code null} if the client is not set.
      */
diff --git a/test-framework/core/src/test/java/org/glassfish/jersey/test/JerseyTestTest.java b/test-framework/core/src/test/java/org/glassfish/jersey/test/JerseyTestTest.java
index ecbdf25..d3adbb4 100644
--- a/test-framework/core/src/test/java/org/glassfish/jersey/test/JerseyTestTest.java
+++ b/test-framework/core/src/test/java/org/glassfish/jersey/test/JerseyTestTest.java
@@ -19,9 +19,9 @@
 import java.net.URI;
 import java.security.AccessController;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/test-framework/maven/container-runner-maven-plugin/pom.xml b/test-framework/maven/container-runner-maven-plugin/pom.xml
index 50c67ea..f2f9cc0 100644
--- a/test-framework/maven/container-runner-maven-plugin/pom.xml
+++ b/test-framework/maven/container-runner-maven-plugin/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework.maven</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>container-runner-maven-plugin</artifactId>
@@ -36,7 +36,7 @@
     </description>
 
     <properties>
-        <groovy.version>3.0.17</groovy.version>
+<!--        <groovy.version>3.0.21</groovy.version>-->
         <groovy-eclipse-compiler.version>3.7.0</groovy-eclipse-compiler.version>
         <groovy-eclipse-batch.version>3.0.8-01</groovy-eclipse-batch.version>
         <maven.version>3.9.2</maven.version>
@@ -61,11 +61,15 @@
                 </exclusion>
                 <exclusion>
                     <groupId>org.codehaus.plexus</groupId>
-                    <artifactId>plexus-classworlds</artifactId>
+                    <artifactId>plexus-container-default</artifactId>
                 </exclusion>
                 <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
+                    <groupId>org.sonatype.plexus</groupId>
+                    <artifactId>plexus-sec-dispatcher</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.google.code.findbugs</groupId>
+                    <artifactId>jsr305</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
@@ -80,6 +84,12 @@
             <artifactId>maven-plugin-api</artifactId>
             <version>${maven.version}</version>
             <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-utils</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.maven</groupId>
@@ -106,37 +116,26 @@
         <dependency>
             <groupId>org.apache.maven.plugin-testing</groupId>
             <artifactId>maven-plugin-testing-harness</artifactId>
-            <version>3.3.0</version>
+            <version>${harness.testing.mvn.plugin.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-project</artifactId>
-            <version>2.2.1</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
             <groupId>org.codehaus.gmavenplus</groupId>
             <artifactId>gmavenplus-plugin</artifactId>
-            <version>3.0.0</version>
+            <version>${org.codehaus.gmavenplus.version}</version>
             <exclusions>
                 <exclusion>
+                    <groupId>org.apache.ant</groupId>
+                    <artifactId>ant-launcher</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.ant</groupId>
+                    <artifactId>ant</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>org.apache.maven.shared</groupId>
-                    <artifactId>maven-shared-utils</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.codehaus.plexus</groupId>
-                    <artifactId>plexus-utils</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.codehaus.plexus</groupId>
-                    <artifactId>plexus-interpolation</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-io</groupId>
-                    <artifactId>commons-io</artifactId>
+                    <artifactId>file-management</artifactId>
                 </exclusion>
                 <exclusion>
                     <groupId>org.apache.maven</groupId>
@@ -144,10 +143,6 @@
                 </exclusion>
                 <exclusion>
                     <groupId>org.apache.maven</groupId>
-                    <artifactId>maven-artifact</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.maven</groupId>
                     <artifactId>maven-core</artifactId>
                 </exclusion>
                 <exclusion>
@@ -155,13 +150,33 @@
                     <artifactId>maven-plugin-api</artifactId>
                 </exclusion>
                 <exclusion>
+                    <groupId>org.apache.maven</groupId>
+                    <artifactId>maven-artifact</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>org.slf4j</groupId>
                     <artifactId>slf4j-api</artifactId>
                 </exclusion>
                 <exclusion>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-utils</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>com.google.guava</groupId>
                     <artifactId>guava</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-archiver</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>commons-io</groupId>
+                    <artifactId>commons-io</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.junit.jupiter</groupId>
+                    <artifactId>junit-jupiter-api</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 
@@ -179,24 +194,16 @@
         </dependency>
 
         <dependency>
-            <groupId>org.codehaus.groovy</groupId>
+            <groupId>org.apache.groovy</groupId>
             <artifactId>groovy-all</artifactId>
             <type>pom</type>
             <version>${groovy.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.ant</groupId>
-                    <artifactId>ant-launcher</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.ant</groupId>
-                    <artifactId>ant</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-api</artifactId>
-                </exclusion>
-            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>${guava.version}</version>
         </dependency>
 
         <dependency>
diff --git a/test-framework/maven/container-runner-maven-plugin/src/main/groovy/org/glassfish/jersey/test/maven/runner/CommonRedeploy.groovy b/test-framework/maven/container-runner-maven-plugin/src/main/groovy/org/glassfish/jersey/test/maven/runner/CommonRedeploy.groovy
index 9c02d01..4eaae29 100644
--- a/test-framework/maven/container-runner-maven-plugin/src/main/groovy/org/glassfish/jersey/test/maven/runner/CommonRedeploy.groovy
+++ b/test-framework/maven/container-runner-maven-plugin/src/main/groovy/org/glassfish/jersey/test/maven/runner/CommonRedeploy.groovy
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,9 +20,9 @@
 import org.apache.maven.plugins.annotations.Parameter
 import org.glassfish.jersey.client.ClientProperties
 
-import javax.ws.rs.client.Client
-import javax.ws.rs.client.ClientBuilder
-import javax.ws.rs.client.WebTarget
+import jakarta.ws.rs.client.Client
+import jakarta.ws.rs.client.ClientBuilder
+import jakarta.ws.rs.client.WebTarget
 
 /**
  * Common functionality of Redeploy Mojos.
diff --git a/test-framework/maven/custom-enforcer-rules/pom.xml b/test-framework/maven/custom-enforcer-rules/pom.xml
index e01ee84..5f702fc 100644
--- a/test-framework/maven/custom-enforcer-rules/pom.xml
+++ b/test-framework/maven/custom-enforcer-rules/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework.maven</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>custom-enforcer-rules</artifactId>
@@ -53,6 +53,10 @@
                     <artifactId>commons-io</artifactId>
                 </exclusion>
                 <exclusion>
+                    <groupId>commons-codec</groupId>
+                    <artifactId>commons-codec</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>org.apache.maven</groupId>
                     <artifactId>maven-core</artifactId>
                 </exclusion>
diff --git a/test-framework/maven/pom.xml b/test-framework/maven/pom.xml
index 8aef044..66da100 100644
--- a/test-framework/maven/pom.xml
+++ b/test-framework/maven/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.test-framework.maven</groupId>
diff --git a/test-framework/memleak-test-common/pom.xml b/test-framework/memleak-test-common/pom.xml
index c7d9161..be40dbf 100644
--- a/test-framework/memleak-test-common/pom.xml
+++ b/test-framework/memleak-test-common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>memleak-test-common</artifactId>
diff --git a/test-framework/pom.xml b/test-framework/pom.xml
index 88b9b40..5d7da44 100644
--- a/test-framework/pom.xml
+++ b/test-framework/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.test-framework</groupId>
@@ -44,6 +44,12 @@
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.junit.platform</groupId>
+                    <artifactId>junit-platform-engine</artifactId>
+                </exclusion>
+            </exclusions>
             <scope>compile</scope>
         </dependency>
         <dependency>
diff --git a/test-framework/providers/bundle/pom.xml b/test-framework/providers/bundle/pom.xml
index 519e149..ec8f3bc 100644
--- a/test-framework/providers/bundle/pom.xml
+++ b/test-framework/providers/bundle/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-test-framework-provider-bundle</artifactId>
@@ -60,18 +60,18 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-jetty</artifactId>
+            <artifactId>jersey-test-framework-provider-netty</artifactId>
             <version>${project.version}</version>
             <exclusions>
                 <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>javax.servlet-api</artifactId>
+                    <groupId>jakarta.servlet</groupId>
+                    <artifactId>jakarta.servlet-api</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-netty</artifactId>
+            <artifactId>jersey-test-framework-provider-jetty</artifactId>
             <version>${project.version}</version>
         </dependency>
     </dependencies>
diff --git a/test-framework/providers/external/pom.xml b/test-framework/providers/external/pom.xml
index 9058802..53c0504 100644
--- a/test-framework/providers/external/pom.xml
+++ b/test-framework/providers/external/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-test-framework-provider-external</artifactId>
diff --git a/test-framework/providers/external/src/main/java/org/glassfish/jersey/test/external/ExternalTestContainerFactory.java b/test-framework/providers/external/src/main/java/org/glassfish/jersey/test/external/ExternalTestContainerFactory.java
index 97f22ce..59f8024 100644
--- a/test-framework/providers/external/src/main/java/org/glassfish/jersey/test/external/ExternalTestContainerFactory.java
+++ b/test-framework/providers/external/src/main/java/org/glassfish/jersey/test/external/ExternalTestContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/test-framework/providers/grizzly2/pom.xml b/test-framework/providers/grizzly2/pom.xml
index 41b49c5..b3fd19e 100644
--- a/test-framework/providers/grizzly2/pom.xml
+++ b/test-framework/providers/grizzly2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
@@ -36,7 +36,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
         </dependency>
 
         <dependency>
diff --git a/test-framework/providers/grizzly2/src/main/java/org/glassfish/jersey/test/grizzly/GrizzlyTestContainerFactory.java b/test-framework/providers/grizzly2/src/main/java/org/glassfish/jersey/test/grizzly/GrizzlyTestContainerFactory.java
index 32bf86b..75d59d4 100644
--- a/test-framework/providers/grizzly2/src/main/java/org/glassfish/jersey/test/grizzly/GrizzlyTestContainerFactory.java
+++ b/test-framework/providers/grizzly2/src/main/java/org/glassfish/jersey/test/grizzly/GrizzlyTestContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 import java.util.logging.Logger;
 
 import javax.net.ssl.SSLParameters;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.grizzly.ssl.SSLEngineConfigurator;
 import org.glassfish.jersey.client.ClientConfig;
@@ -36,7 +36,7 @@
 import org.glassfish.grizzly.http.server.HttpServer;
 
 /**
- * Jersey test framework container factory implementation based on Grizzly 2.x HTTP server.
+ * Jersey test framework container factory implementation based on Grizzly 3.x HTTP server.
  *
  * @author Marek Potociar
  */
diff --git a/test-framework/providers/grizzly2/src/main/java/org/glassfish/jersey/test/grizzly/GrizzlyWebTestContainerFactory.java b/test-framework/providers/grizzly2/src/main/java/org/glassfish/jersey/test/grizzly/GrizzlyWebTestContainerFactory.java
index 8620fa8..74fa7b9 100644
--- a/test-framework/providers/grizzly2/src/main/java/org/glassfish/jersey/test/grizzly/GrizzlyWebTestContainerFactory.java
+++ b/test-framework/providers/grizzly2/src/main/java/org/glassfish/jersey/test/grizzly/GrizzlyWebTestContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,13 +27,13 @@
 import java.util.logging.Logger;
 
 import javax.net.ssl.SSLParameters;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.servlet.DispatcherType;
-import javax.servlet.FilterRegistration;
-import javax.servlet.ServletRegistration;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.FilterRegistration;
+import jakarta.servlet.ServletRegistration;
+import jakarta.servlet.http.HttpServlet;
 
 import org.glassfish.grizzly.ssl.SSLEngineConfigurator;
 import org.glassfish.jersey.client.ClientConfig;
@@ -216,7 +216,7 @@
 
         private EnumSet<DispatcherType> grizzlyDispatcherTypes(final Set<DispatcherType> dispatcherTypes) {
             final Set<DispatcherType> grizzlyDispatcherTypes = new HashSet<>();
-            for (final javax.servlet.DispatcherType servletDispatchType : dispatcherTypes) {
+            for (final jakarta.servlet.DispatcherType servletDispatchType : dispatcherTypes) {
                 grizzlyDispatcherTypes.add(DispatcherType.valueOf(servletDispatchType.name()));
             }
             return EnumSet.copyOf(grizzlyDispatcherTypes);
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/AvailablePortGrizzlyTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/AvailablePortGrizzlyTest.java
index af8163f..90ef96a 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/AvailablePortGrizzlyTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/AvailablePortGrizzlyTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.test.grizzly;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.DeploymentContext;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/BaseUriTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/BaseUriTest.java
index 4ba7aea..ebd2d01 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/BaseUriTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/BaseUriTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.test.grizzly;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.DeploymentContext;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/pckg/GrizzlyPackageTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/pckg/GrizzlyPackageTest.java
index 9c10b96..5b8ce9d 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/pckg/GrizzlyPackageTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/pckg/GrizzlyPackageTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.test.grizzly.pckg;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/AvailablePortGrizzlyWebTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/AvailablePortGrizzlyWebTest.java
index 5bbf0df..99fed28 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/AvailablePortGrizzlyWebTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/AvailablePortGrizzlyWebTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.test.grizzly.web;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.servlet.ServletContainer;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyRequestDispatchFilterTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyRequestDispatchFilterTest.java
index 51518c8..5ebb70d 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyRequestDispatchFilterTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyRequestDispatchFilterTest.java
@@ -19,18 +19,18 @@
 import java.io.IOException;
 import java.util.EnumSet;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-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.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.server.ServerProperties;
 import org.glassfish.jersey.servlet.ServletContainer;
@@ -50,7 +50,7 @@
  *
  * This is to make sure filters could be utilized even for filtering
  * requests that are being forwarded/included within the server side
- * using {@link javax.servlet.RequestDispatcher} mechanism.
+ * using {@link jakarta.servlet.RequestDispatcher} mechanism.
  *
  * @author Jakub Podlesak
  * @author Marek Potociar
@@ -190,9 +190,9 @@
     protected DeploymentContext configureDeployment() {
         return ServletDeploymentContext.forServlet(RequestDispatcherServlet.class)
                 .addFilter(ForwardFilter.class, "forwardFilter",
-                        EnumSet.of(javax.servlet.DispatcherType.FORWARD))
+                        EnumSet.of(jakarta.servlet.DispatcherType.FORWARD))
                 .addFilter(IncludeFilter.class, "includeFilter",
-                        EnumSet.of(javax.servlet.DispatcherType.INCLUDE))
+                        EnumSet.of(jakarta.servlet.DispatcherType.INCLUDE))
                 .addFilter(RegularFilter.class, "regularFilter")
                 .initParam(ServerProperties.PROVIDER_PACKAGES, this.getClass().getPackage().getName())
                 .build();
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebFixedRequestSizeTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebFixedRequestSizeTest.java
index 05f3d2c..cebf5bc 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebFixedRequestSizeTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebFixedRequestSizeTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.test.grizzly.web;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.servlet.ServletContainer;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebInjectionTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebInjectionTest.java
index 351e005..4c76035 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebInjectionTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebInjectionTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.test.grizzly.web;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Singleton;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.inject.Singleton;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebServletAndFilterTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebServletAndFilterTest.java
index eeccea3..a767cb2 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebServletAndFilterTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebServletAndFilterTest.java
@@ -18,18 +18,18 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-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.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.server.ServerProperties;
 import org.glassfish.jersey.servlet.ServletContainer;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebTest.java
index f082489..8f6a0ac 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/GrizzlyWebTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.test.grizzly.web;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.servlet.ServletContainer;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/context/GrizzlyWebContextPathTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/context/GrizzlyWebContextPathTest.java
index 0d107c6..e4a3f74 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/context/GrizzlyWebContextPathTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/context/GrizzlyWebContextPathTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.test.grizzly.web.context;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.test.DeploymentContext;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/ssl/GrizzlyOneWaySslWebTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/ssl/GrizzlyOneWaySslWebTest.java
index af0c2e3..8b12d6a 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/ssl/GrizzlyOneWaySslWebTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/ssl/GrizzlyOneWaySslWebTest.java
@@ -25,14 +25,14 @@
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLParameters;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 import java.net.URI;
 import java.util.Optional;
 
diff --git a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/ssl/GrizzlyTwoWaySslWebTest.java b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/ssl/GrizzlyTwoWaySslWebTest.java
index 2b0992e..3d97974 100644
--- a/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/ssl/GrizzlyTwoWaySslWebTest.java
+++ b/test-framework/providers/grizzly2/src/test/java/org/glassfish/jersey/test/grizzly/web/ssl/GrizzlyTwoWaySslWebTest.java
@@ -25,14 +25,14 @@
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLParameters;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 import java.net.URI;
 import java.util.Optional;
 
diff --git a/test-framework/providers/inmemory/pom.xml b/test-framework/providers/inmemory/pom.xml
index 50d3e59..7af40a2 100644
--- a/test-framework/providers/inmemory/pom.xml
+++ b/test-framework/providers/inmemory/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-test-framework-provider-inmemory</artifactId>
diff --git a/test-framework/providers/inmemory/src/main/java/org/glassfish/jersey/test/inmemory/InMemoryConnector.java b/test-framework/providers/inmemory/src/main/java/org/glassfish/jersey/test/inmemory/InMemoryConnector.java
index 0ed0987..e522530 100644
--- a/test-framework/providers/inmemory/src/main/java/org/glassfish/jersey/test/inmemory/InMemoryConnector.java
+++ b/test-framework/providers/inmemory/src/main/java/org/glassfish/jersey/test/inmemory/InMemoryConnector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,13 +30,13 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/test-framework/providers/inmemory/src/main/java/org/glassfish/jersey/test/inmemory/InMemoryTestContainerFactory.java b/test-framework/providers/inmemory/src/main/java/org/glassfish/jersey/test/inmemory/InMemoryTestContainerFactory.java
index a71142d..f33283d 100644
--- a/test-framework/providers/inmemory/src/main/java/org/glassfish/jersey/test/inmemory/InMemoryTestContainerFactory.java
+++ b/test-framework/providers/inmemory/src/main/java/org/glassfish/jersey/test/inmemory/InMemoryTestContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ApplicationHandler;
diff --git a/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/InMemoryContainerPackageTest.java b/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/InMemoryContainerPackageTest.java
index 247545b..455bcf2 100644
--- a/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/InMemoryContainerPackageTest.java
+++ b/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/InMemoryContainerPackageTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.test.inmemory;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/InMemoryContainerTest.java b/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/InMemoryContainerTest.java
index 1072e8d..1e1ec76 100644
--- a/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/InMemoryContainerTest.java
+++ b/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/InMemoryContainerTest.java
@@ -16,18 +16,18 @@
 
 package org.glassfish.jersey.test.inmemory;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/internal/FollowRedirectsTest.java b/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/internal/FollowRedirectsTest.java
index 5049dc4..98b5e21 100644
--- a/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/internal/FollowRedirectsTest.java
+++ b/test-framework/providers/inmemory/src/test/java/org/glassfish/jersey/test/inmemory/internal/FollowRedirectsTest.java
@@ -18,15 +18,15 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.ClientResponse;
diff --git a/test-framework/providers/jdk-http/pom.xml b/test-framework/providers/jdk-http/pom.xml
index 44fda2f..56fce13 100644
--- a/test-framework/providers/jdk-http/pom.xml
+++ b/test-framework/providers/jdk-http/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-test-framework-provider-jdk-http</artifactId>
diff --git a/test-framework/providers/jdk-http/src/main/java/org/glassfish/jersey/test/jdkhttp/JdkHttpServerTestContainerFactory.java b/test-framework/providers/jdk-http/src/main/java/org/glassfish/jersey/test/jdkhttp/JdkHttpServerTestContainerFactory.java
index 6cca44d..3becab7 100644
--- a/test-framework/providers/jdk-http/src/main/java/org/glassfish/jersey/test/jdkhttp/JdkHttpServerTestContainerFactory.java
+++ b/test-framework/providers/jdk-http/src/main/java/org/glassfish/jersey/test/jdkhttp/JdkHttpServerTestContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory;
diff --git a/test-framework/providers/jdk-http/src/test/java/org/glassfish/jersey/test/jdkhttp/AvailablePortJdkHttpServerTest.java b/test-framework/providers/jdk-http/src/test/java/org/glassfish/jersey/test/jdkhttp/AvailablePortJdkHttpServerTest.java
index dea8e95..9139190 100644
--- a/test-framework/providers/jdk-http/src/test/java/org/glassfish/jersey/test/jdkhttp/AvailablePortJdkHttpServerTest.java
+++ b/test-framework/providers/jdk-http/src/test/java/org/glassfish/jersey/test/jdkhttp/AvailablePortJdkHttpServerTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.test.jdkhttp;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.DeploymentContext;
diff --git a/test-framework/providers/jdk-http/src/test/java/org/glassfish/jersey/test/jdkhttp/JdkHttpServerContainerTest.java b/test-framework/providers/jdk-http/src/test/java/org/glassfish/jersey/test/jdkhttp/JdkHttpServerContainerTest.java
index ed5e3be..2655fc3 100644
--- a/test-framework/providers/jdk-http/src/test/java/org/glassfish/jersey/test/jdkhttp/JdkHttpServerContainerTest.java
+++ b/test-framework/providers/jdk-http/src/test/java/org/glassfish/jersey/test/jdkhttp/JdkHttpServerContainerTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.test.jdkhttp;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.jdkhttp.JdkHttpHandlerContainer;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/test-framework/providers/jetty-http2/pom.xml b/test-framework/providers/jetty-http2/pom.xml
index e29318c..caffc01 100644
--- a/test-framework/providers/jetty-http2/pom.xml
+++ b/test-framework/providers/jetty-http2/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -44,4 +44,148 @@
         </dependency>
     </dependencies>
 
+    <properties>
+        <java8.build.outputDirectory>${project.basedir}/target</java8.build.outputDirectory>
+        <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
+        <java11.build.outputDirectory>${project.basedir}/target11</java11.build.outputDirectory>
+        <java11.sourceDirectory>${project.basedir}/src/main/java11</java11.sourceDirectory>
+    </properties>
+
+    <profiles>
+        <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <directory>${java8.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java8.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/test/jetty/http2/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <build>
+                <directory>${java11.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java11.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK11FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java11.build.outputDirectory} does not work here -->
+                    <exists>target11/classes/org/glassfish/jersey/test/jetty/JettyHttp2TestContainerFactory.class</exists>
+                </file>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java8.build.outputDirectory}/classes/META-INF/versions/11</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java11.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java8.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java11.sourceDirectory}" prefix="META-INF/versions/11"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/test-framework/providers/jetty-http2/src/main/java/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java b/test-framework/providers/jetty-http2/src/main/java11/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java
similarity index 98%
rename from test-framework/providers/jetty-http2/src/main/java/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java
rename to test-framework/providers/jetty-http2/src/main/java11/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java
index 85a673c..e63f057 100644
--- a/test-framework/providers/jetty-http2/src/main/java/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java
+++ b/test-framework/providers/jetty-http2/src/main/java11/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java
@@ -20,7 +20,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jetty.http2.JettyHttp2ContainerFactory;
diff --git a/test-framework/providers/jetty-http2/src/main/java8/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java b/test-framework/providers/jetty-http2/src/main/java8/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java
new file mode 100644
index 0000000..44fa02a
--- /dev/null
+++ b/test-framework/providers/jetty-http2/src/main/java8/org/glassfish/jersey/test/jetty/http2/JettyHttp2TestContainerFactory.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.test.jetty.http2;
+
+import jakarta.ws.rs.ProcessingException;
+import org.glassfish.jersey.jetty.http2.LocalizationMessages;
+import org.glassfish.jersey.test.DeploymentContext;
+import org.glassfish.jersey.test.spi.TestContainer;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
+
+import java.net.URI;
+/**
+ * Factory for testing {@link JettyHttp2ContainerFactory}.
+ *
+ */
+public final class JettyHttp2TestContainerFactory implements TestContainerFactory {
+
+    @Override
+    public TestContainer create(final URI baseUri, final DeploymentContext context) throws IllegalArgumentException {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+}
diff --git a/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/test-framework/providers/jetty-http2/src/main/resources/org/glassfish/jersey/test/jetty/http2/localization.properties
similarity index 75%
copy from ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
copy to test-framework/providers/jetty-http2/src/main/resources/org/glassfish/jersey/test/jetty/http2/localization.properties
index bca39a9..2886c72 100644
--- a/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
+++ b/test-framework/providers/jetty-http2/src/main/resources/org/glassfish/jersey/test/jetty/http2/localization.properties
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,4 +14,5 @@
 # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 #
 
-org.glassfish.jersey.microprofile.restclient.RestClientExtension
\ No newline at end of file
+# {0} - status code; {1} - status reason message
+not.supported=Jetty container is not supported on JDK version less than 11.
diff --git a/test-framework/providers/jetty-http2/src/test/java/org/glassfish/jersey/test/jetty/http2/AvailablePortJettyTest.java b/test-framework/providers/jetty-http2/src/test/java/org/glassfish/jersey/test/jetty/http2/AvailablePortJettyTest.java
index 7e048e7..1964156 100644
--- a/test-framework/providers/jetty-http2/src/test/java/org/glassfish/jersey/test/jetty/http2/AvailablePortJettyTest.java
+++ b/test-framework/providers/jetty-http2/src/test/java/org/glassfish/jersey/test/jetty/http2/AvailablePortJettyTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.test.jetty.http2;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.DeploymentContext;
diff --git a/test-framework/providers/jetty-http2/src/test/java/org/glassfish/jersey/test/jetty/http2/JettyContainerTest.java b/test-framework/providers/jetty-http2/src/test/java/org/glassfish/jersey/test/jetty/http2/JettyContainerTest.java
index 16072f6..f96c10c 100644
--- a/test-framework/providers/jetty-http2/src/test/java/org/glassfish/jersey/test/jetty/http2/JettyContainerTest.java
+++ b/test-framework/providers/jetty-http2/src/test/java/org/glassfish/jersey/test/jetty/http2/JettyContainerTest.java
@@ -19,9 +19,9 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.inject.hk2.DelayedHk2InjectionManager;
 import org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager;
diff --git a/test-framework/providers/jetty/pom.xml b/test-framework/providers/jetty/pom.xml
index 9e8304f..7e5e861 100644
--- a/test-framework/providers/jetty/pom.xml
+++ b/test-framework/providers/jetty/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -44,4 +44,148 @@
         </dependency>
     </dependencies>
 
+    <properties>
+        <java8.build.outputDirectory>${project.basedir}/target</java8.build.outputDirectory>
+        <java8.sourceDirectory>${project.basedir}/src/main/java8</java8.sourceDirectory>
+        <java11.build.outputDirectory>${project.basedir}/target11</java11.build.outputDirectory>
+        <java11.sourceDirectory>${project.basedir}/src/main/java11</java11.sourceDirectory>
+    </properties>
+
+    <profiles>
+        <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <directory>${java8.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java8.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/test/jetty/*.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <build>
+                <directory>${java11.build.outputDirectory}</directory>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>add-source</goal>
+                                </goals>
+                                <configuration>
+                                    <sources>
+                                        <source>${java11.sourceDirectory}</source>
+                                    </sources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>copyJDK11FilesToMultiReleaseJar</id>
+            <activation>
+                <file>
+                    <!-- ${java11.build.outputDirectory} does not work here -->
+                    <exists>target11/classes/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.class</exists>
+                </file>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>maven-bundle-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <extensions>true</extensions>
+                        <configuration>
+                            <instructions>
+                                <Multi-Release>true</Multi-Release>
+                            </instructions>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-classes</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${java8.build.outputDirectory}/classes/META-INF/versions/11</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${java11.build.outputDirectory}/classes</directory>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>copy-jdk11-sources</id>
+                                <phase>package</phase>
+                                <configuration>
+                                    <target>
+                                        <property name="sources-jar" value="${java8.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/>
+                                        <echo>sources-jar: ${sources-jar}</echo>
+                                        <zip destfile="${sources-jar}" update="true">
+                                            <zipfileset dir="${java11.sourceDirectory}" prefix="META-INF/versions/11"/>
+                                        </zip>
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/test-framework/providers/jetty/src/main/java/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java b/test-framework/providers/jetty/src/main/java11/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java
similarity index 97%
rename from test-framework/providers/jetty/src/main/java/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java
rename to test-framework/providers/jetty/src/main/java11/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java
index 6ea1f25..e5dba36 100644
--- a/test-framework/providers/jetty/src/main/java/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java
+++ b/test-framework/providers/jetty/src/main/java11/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jetty.JettyHttpContainerFactory;
diff --git a/test-framework/providers/jetty/src/main/java8/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java b/test-framework/providers/jetty/src/main/java8/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java
new file mode 100644
index 0000000..cd2e332
--- /dev/null
+++ b/test-framework/providers/jetty/src/main/java8/org/glassfish/jersey/test/jetty/JettyTestContainerFactory.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.test.jetty;
+
+import jakarta.ws.rs.ProcessingException;
+import org.glassfish.jersey.jetty.internal.LocalizationMessages;
+import org.glassfish.jersey.test.DeploymentContext;
+import org.glassfish.jersey.test.spi.TestContainer;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
+
+import java.net.URI;
+
+/**
+ * Jetty test factory stub for JDK 1.8 only
+ *
+ * since Jetty 11+ does not support JDKs below 11
+ */
+public class JettyTestContainerFactory implements TestContainerFactory {
+
+    @Override
+    public TestContainer create(final URI baseUri, final DeploymentContext context) throws IllegalArgumentException {
+        throw new ProcessingException(LocalizationMessages.NOT_SUPPORTED());
+    }
+}
diff --git a/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/test-framework/providers/jetty/src/main/resources/org/glassfish/jersey/jetty/internal/localization.properties
similarity index 75%
copy from ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
copy to test-framework/providers/jetty/src/main/resources/org/glassfish/jersey/jetty/internal/localization.properties
index bca39a9..c362bf0 100644
--- a/ext/microprofile/mp-rest-client/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
+++ b/test-framework/providers/jetty/src/main/resources/org/glassfish/jersey/jetty/internal/localization.properties
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,4 +14,5 @@
 # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 #
 
-org.glassfish.jersey.microprofile.restclient.RestClientExtension
\ No newline at end of file
+# {0} - status code; {1} - status reason message
+not.supported=Jetty container is not supported on JDK version less than 11.
diff --git a/test-framework/providers/jetty/src/test/java/org/glassfish/jersey/test/jetty/AvailablePortJettyTest.java b/test-framework/providers/jetty/src/test/java/org/glassfish/jersey/test/jetty/AvailablePortJettyTest.java
index ff13cd0..4f278e3 100644
--- a/test-framework/providers/jetty/src/test/java/org/glassfish/jersey/test/jetty/AvailablePortJettyTest.java
+++ b/test-framework/providers/jetty/src/test/java/org/glassfish/jersey/test/jetty/AvailablePortJettyTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.test.jetty;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.DeploymentContext;
diff --git a/test-framework/providers/jetty/src/test/java/org/glassfish/jersey/test/jetty/JettyContainerTest.java b/test-framework/providers/jetty/src/test/java/org/glassfish/jersey/test/jetty/JettyContainerTest.java
index 2e427ca..7481e8d 100644
--- a/test-framework/providers/jetty/src/test/java/org/glassfish/jersey/test/jetty/JettyContainerTest.java
+++ b/test-framework/providers/jetty/src/test/java/org/glassfish/jersey/test/jetty/JettyContainerTest.java
@@ -18,9 +18,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.inject.hk2.DelayedHk2InjectionManager;
 import org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager;
diff --git a/test-framework/providers/netty/pom.xml b/test-framework/providers/netty/pom.xml
index 8ff0de8..0e439ec 100644
--- a/test-framework/providers/netty/pom.xml
+++ b/test-framework/providers/netty/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-test-framework-provider-netty</artifactId>
diff --git a/test-framework/providers/netty/src/main/java/org/glassfish/jersey/test/netty/NettyTestContainerFactory.java b/test-framework/providers/netty/src/main/java/org/glassfish/jersey/test/netty/NettyTestContainerFactory.java
index a22886c..2d7c177 100644
--- a/test-framework/providers/netty/src/main/java/org/glassfish/jersey/test/netty/NettyTestContainerFactory.java
+++ b/test-framework/providers/netty/src/main/java/org/glassfish/jersey/test/netty/NettyTestContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import io.netty.channel.Channel;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/test-framework/providers/pom.xml b/test-framework/providers/pom.xml
index 5f9f56f..564a4ac 100644
--- a/test-framework/providers/pom.xml
+++ b/test-framework/providers/pom.xml
@@ -17,12 +17,13 @@
 
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.glassfish.jersey.test-framework</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -37,9 +38,9 @@
         <module>external</module>
         <module>grizzly2</module>
         <module>inmemory</module>
+        <module>jdk-http</module>
         <module>jetty</module>
         <module>jetty-http2</module>
-        <module>jdk-http</module>
         <module>netty</module>
         <module>simple</module>
     </modules>
diff --git a/test-framework/providers/simple/pom.xml b/test-framework/providers/simple/pom.xml
index a2cea09..bbb9e13 100644
--- a/test-framework/providers/simple/pom.xml
+++ b/test-framework/providers/simple/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/test-framework/providers/simple/src/main/java/org/glassfish/jersey/test/simple/SimpleTestContainerFactory.java b/test-framework/providers/simple/src/main/java/org/glassfish/jersey/test/simple/SimpleTestContainerFactory.java
index ecb35bd..3b123db 100644
--- a/test-framework/providers/simple/src/main/java/org/glassfish/jersey/test/simple/SimpleTestContainerFactory.java
+++ b/test-framework/providers/simple/src/main/java/org/glassfish/jersey/test/simple/SimpleTestContainerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,13 @@
 
 package org.glassfish.jersey.test.simple;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.net.URI;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.simple.SimpleContainerFactory;
diff --git a/test-framework/providers/simple/src/test/java/org/glassfish/jersey/test/simple/AvailablePortSimpleTest.java b/test-framework/providers/simple/src/test/java/org/glassfish/jersey/test/simple/AvailablePortSimpleTest.java
index 1e58dd4..5e3ab0b 100644
--- a/test-framework/providers/simple/src/test/java/org/glassfish/jersey/test/simple/AvailablePortSimpleTest.java
+++ b/test-framework/providers/simple/src/test/java/org/glassfish/jersey/test/simple/AvailablePortSimpleTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.test.simple;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.DeploymentContext;
diff --git a/test-framework/providers/simple/src/test/java/org/glassfish/jersey/test/simple/SimpleContainerTest.java b/test-framework/providers/simple/src/test/java/org/glassfish/jersey/test/simple/SimpleContainerTest.java
index 4a32a60..4b869cf 100644
--- a/test-framework/providers/simple/src/test/java/org/glassfish/jersey/test/simple/SimpleContainerTest.java
+++ b/test-framework/providers/simple/src/test/java/org/glassfish/jersey/test/simple/SimpleContainerTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.test.simple;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.simple.SimpleContainer;
diff --git a/test-framework/util/pom.xml b/test-framework/util/pom.xml
index 452be1d..b0adcad 100644
--- a/test-framework/util/pom.xml
+++ b/test-framework/util/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.test-framework</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-test-framework-util</artifactId>
@@ -54,6 +54,11 @@
             <artifactId>hamcrest</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.junit.platform</groupId>
+            <artifactId>junit-platform-engine</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/test-framework/util/src/main/java/org/glassfish/jersey/test/util/client/LoopBackConnector.java b/test-framework/util/src/main/java/org/glassfish/jersey/test/util/client/LoopBackConnector.java
index 794db73..e380f7a 100644
--- a/test-framework/util/src/main/java/org/glassfish/jersey/test/util/client/LoopBackConnector.java
+++ b/test-framework/util/src/main/java/org/glassfish/jersey/test/util/client/LoopBackConnector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,8 +23,8 @@
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientRequest;
 import org.glassfish.jersey.client.ClientResponse;
diff --git a/test-framework/util/src/main/java/org/glassfish/jersey/test/util/client/LoopBackConnectorProvider.java b/test-framework/util/src/main/java/org/glassfish/jersey/test/util/client/LoopBackConnectorProvider.java
index 131b180..d65f742 100644
--- a/test-framework/util/src/main/java/org/glassfish/jersey/test/util/client/LoopBackConnectorProvider.java
+++ b/test-framework/util/src/main/java/org/glassfish/jersey/test/util/client/LoopBackConnectorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.test.util.client;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.spi.Connector;
diff --git a/test-framework/util/src/main/java/org/glassfish/jersey/test/util/server/ContainerRequestBuilder.java b/test-framework/util/src/main/java/org/glassfish/jersey/test/util/server/ContainerRequestBuilder.java
index 0ad87e9..d3f2af6 100644
--- a/test-framework/util/src/main/java/org/glassfish/jersey/test/util/server/ContainerRequestBuilder.java
+++ b/test-framework/util/src/main/java/org/glassfish/jersey/test/util/server/ContainerRequestBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,11 +20,12 @@
 import java.net.URI;
 import java.util.Arrays;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.internal.PropertiesDelegate;
@@ -338,8 +339,8 @@
      *
      * @param name  the name of the header
      * @param value the value of the header, the header will be serialized
-     *              using a {@link javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if
-     *              one is available via {@link javax.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
+     *              using a {@link jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if
+     *              one is available via {@link jakarta.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)}
      *              for the class of {@code value} or using its {@code toString} method
      *              if a header delegate is not available. If {@code value} is {@code null}
      *              then all current headers of the same name will be removed.
diff --git a/test-framework/util/src/main/java/org/glassfish/jersey/test/util/server/TestContainerRequest.java b/test-framework/util/src/main/java/org/glassfish/jersey/test/util/server/TestContainerRequest.java
index d01ad35..320999a 100644
--- a/test-framework/util/src/main/java/org/glassfish/jersey/test/util/server/TestContainerRequest.java
+++ b/test-framework/util/src/main/java/org/glassfish/jersey/test/util/server/TestContainerRequest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,13 +27,13 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.PropertiesDelegate;
 import org.glassfish.jersey.message.MessageBodyWorkers;
diff --git a/test-framework/util/src/test/java/org/glassfish/jersey/test/util/client/LoopBackConnectorTest.java b/test-framework/util/src/test/java/org/glassfish/jersey/test/util/client/LoopBackConnectorTest.java
index 040112c..431f1d7 100644
--- a/test-framework/util/src/test/java/org/glassfish/jersey/test/util/client/LoopBackConnectorTest.java
+++ b/test-framework/util/src/test/java/org/glassfish/jersey/test/util/client/LoopBackConnectorTest.java
@@ -20,13 +20,13 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
diff --git a/tests/e2e-client/pom.xml b/tests/e2e-client/pom.xml
index 693d93e..cfc06ae 100644
--- a/tests/e2e-client/pom.xml
+++ b/tests/e2e-client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-client</artifactId>
@@ -98,22 +98,6 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson1</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jettison</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-moxy</artifactId>
             <scope>test</scope>
         </dependency>
@@ -164,12 +148,12 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.connectors</groupId>
-            <artifactId>jersey-jetty-connector</artifactId>
+            <artifactId>jersey-jdk-connector</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.connectors</groupId>
-            <artifactId>jersey-jdk-connector</artifactId>
+            <artifactId>jersey-jetty-connector</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -213,7 +197,11 @@
             <artifactId>jersey-test-framework-util</artifactId>
             <scope>test</scope>
         </dependency>
-
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.hamcrest</groupId>
             <artifactId>hamcrest</artifactId>
@@ -225,7 +213,6 @@
             <version>${junit-platform-suite.version}</version>
             <scope>test</scope>
         </dependency>
-
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
@@ -235,17 +222,39 @@
 
     <profiles>
         <profile>
+            <id>JettyTestExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>default-testCompile</id>
+                                <phase>test-compile</phase>
+                                <configuration>
+                                    <testExcludes>
+                                        <testExclude>org/glassfish/jersey/tests/e2e/client/connector/proxy/Proxy*Test.java</testExclude>
+                                        <testExclude>org/glassfish/jersey/tests/e2e/client/nettyconnector/Expect100ContinueTest.java</testExclude>
+                                    </testExcludes>
+                                </configuration>
+                                <goals>
+                                    <goal>testCompile</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
             <id>jdk11+</id>
             <activation>
                 <jdk>[11,)</jdk>
             </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
             <properties>
                 <!-- https://bugs.openjdk.java.net/browse/JDK-8211426 -->
                 <surefire.security.argline>-Djdk.tls.server.protocols=TLSv1.2</surefire.security.argline>
@@ -276,7 +285,6 @@
                 </pluginManagement>
             </build>
         </profile>
-
     </profiles>
 
 </project>
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/AbortResponseClientTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/AbortResponseClientTest.java
index 1be8789..868a7d3 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/AbortResponseClientTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/AbortResponseClientTest.java
@@ -22,22 +22,22 @@
 import java.util.Date;
 import java.util.Map;
 
-import javax.json.Json;
-import javax.json.JsonString;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.json.Json;
+import jakarta.json.JsonString;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/BasicClientTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/BasicClientTest.java
index 8d141a4..b51312c 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/BasicClientTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/BasicClientTest.java
@@ -24,28 +24,28 @@
 import java.util.concurrent.Future;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.AsyncInvoker;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.AsyncInvoker;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.ClientAsyncExecutor;
 import org.glassfish.jersey.client.ClientConfig;
@@ -59,7 +59,7 @@
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
-import static javax.ws.rs.client.Entity.text;
+import static jakarta.ws.rs.client.Entity.text;
 
 /**
  * Tests sync and async client invocations.
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/BufferingTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/BufferingTest.java
index 1256b1c..5762179 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/BufferingTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/BufferingTest.java
@@ -16,17 +16,17 @@
 
 package org.glassfish.jersey.tests.e2e.client;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.apache5.connector.Apache5ConnectorProvider;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/CancelFutureClientTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/CancelFutureClientTest.java
index 652e834..c27459a 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/CancelFutureClientTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/CancelFutureClientTest.java
@@ -22,11 +22,11 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
@@ -40,9 +40,9 @@
  *
  * <p>
  * Tests, that if the async request future is cancelled by the client,
- * the {@link javax.ws.rs.client.InvocationCallback#completed(Object)} callback is not invoked and that
+ * the {@link jakarta.ws.rs.client.InvocationCallback#completed(Object)} callback is not invoked and that
  * {@link java.util.concurrent.CancellationException} is correctly returned (according to spec.) to
- * {@link javax.ws.rs.client.InvocationCallback#failed(Throwable)} callback method.
+ * {@link jakarta.ws.rs.client.InvocationCallback#failed(Throwable)} callback method.
  * </p>
  *
  * @author Adam Lindenthal
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ChunkedInputStreamClosedPrematurelyTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ChunkedInputStreamClosedPrematurelyTest.java
index 2f8344b..58e6033 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ChunkedInputStreamClosedPrematurelyTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ChunkedInputStreamClosedPrematurelyTest.java
@@ -32,17 +32,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientBufferingDisabledTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientBufferingDisabledTest.java
index 97676a3..0e971dc 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientBufferingDisabledTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientBufferingDisabledTest.java
@@ -22,15 +22,15 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.HttpUrlConnectorProvider;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientDestroyTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientDestroyTest.java
index d9d5956..1d50cb3 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientDestroyTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientDestroyTest.java
@@ -20,21 +20,21 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PreDestroy;
 
 import org.glassfish.jersey.client.ClientLifecycleListener;
 import org.glassfish.jersey.client.JerseyClient;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientEntityAnnotationTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientEntityAnnotationTest.java
index 26c6191..ace326f 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientEntityAnnotationTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientEntityAnnotationTest.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientExecutorCloseTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientExecutorCloseTest.java
index 70d583f..9797387 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientExecutorCloseTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientExecutorCloseTest.java
@@ -20,11 +20,11 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.sse.SseEventSource;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientExecutorTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientExecutorTest.java
index a20b28a..adc7446 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientExecutorTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientExecutorTest.java
@@ -25,17 +25,17 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 import org.glassfish.jersey.client.ClientAsyncExecutor;
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientFilterTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientFilterTest.java
index f68f541..c9d76e4 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientFilterTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientFilterTest.java
@@ -18,21 +18,21 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.ResponseProcessingException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.ResponseProcessingException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientPathTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientPathTest.java
index 85f7411..2b6c33e 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientPathTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientPathTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.client;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientPreInitTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientPreInitTest.java
index b930cf2..5d49aa4 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientPreInitTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ClientPreInitTest.java
@@ -21,22 +21,22 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
 import org.glassfish.jersey.client.JerseyClient;
 import org.glassfish.jersey.client.JerseyWebTarget;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/FollowRedirectHeadTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/FollowRedirectHeadTest.java
index fb85c61..b7e4769 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/FollowRedirectHeadTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/FollowRedirectHeadTest.java
@@ -18,13 +18,13 @@
 
 import java.net.URI;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/FollowRedirectsTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/FollowRedirectsTest.java
index 07a6faf..ee33037 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/FollowRedirectsTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/FollowRedirectsTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.e2e.client;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/GenericResponseTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/GenericResponseTest.java
index 6dca5e7..2b9a2f3 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/GenericResponseTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/GenericResponseTest.java
@@ -18,17 +18,17 @@
 
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.AsyncInvoker;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.AsyncInvoker;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpAuthorizationTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpAuthorizationTest.java
index 753ecd9..24197b5 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpAuthorizationTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpAuthorizationTest.java
@@ -27,17 +27,17 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
 
 import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpDigestAuthFilterTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpDigestAuthFilterTest.java
index f959cf6..74bc3ca 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpDigestAuthFilterTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpDigestAuthFilterTest.java
@@ -21,16 +21,16 @@
 import java.security.NoSuchAlgorithmException;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.ResponseBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.ResponseBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpHeadersInjectionTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpHeadersInjectionTest.java
index 004d4d0..a1a6418 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpHeadersInjectionTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpHeadersInjectionTest.java
@@ -20,29 +20,29 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java
index ed51569..0428b59 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java
@@ -18,19 +18,19 @@
 
 import java.util.concurrent.Future;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HEAD;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HEAD;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/IgnoreExceptionResponseTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/IgnoreExceptionResponseTest.java
index f331878..39c31c1 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/IgnoreExceptionResponseTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/IgnoreExceptionResponseTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.client;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
 import java.net.URI;
 import java.util.concurrent.atomic.AtomicReference;
 
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InjectedClientBodyWorker.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InjectedClientBodyWorker.java
index a04efc6..7655eb8 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InjectedClientBodyWorker.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InjectedClientBodyWorker.java
@@ -22,23 +22,23 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InjectionManagerProviderTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InjectionManagerProviderTest.java
index 9aa31da..6ec8640 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InjectionManagerProviderTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InjectionManagerProviderTest.java
@@ -19,25 +19,25 @@
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.InjectionManagerProvider;
 import org.glassfish.jersey.client.InjectionManagerClientProvider;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InvocationBuilderRxTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InvocationBuilderRxTest.java
index a10359a..6e7aea6 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InvocationBuilderRxTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/InvocationBuilderRxTest.java
@@ -24,15 +24,15 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CompletionStage;
 import java.util.concurrent.CountDownLatch;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/JaxRsTimeoutTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/JaxRsTimeoutTest.java
index 987de6a..a231a95 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/JaxRsTimeoutTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/JaxRsTimeoutTest.java
@@ -19,13 +19,13 @@
 import java.net.SocketTimeoutException;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.JerseyWebTarget;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/NonInjectionManagerTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/NonInjectionManagerTest.java
index de940b7..d547792 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/NonInjectionManagerTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/NonInjectionManagerTest.java
@@ -19,9 +19,9 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Response;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.logging.Handler;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/NonSuccessfulResponseTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/NonSuccessfulResponseTest.java
index a01a179..8baf262 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/NonSuccessfulResponseTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/NonSuccessfulResponseTest.java
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.tests.e2e.client;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/RequestScopedReadEntityTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/RequestScopedReadEntityTest.java
index b097f9a..b1fd1da 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/RequestScopedReadEntityTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/RequestScopedReadEntityTest.java
@@ -22,18 +22,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.client.ClientRequest;
 import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ResponseCloseTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ResponseCloseTest.java
index 44412ab..13f8a3b 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ResponseCloseTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ResponseCloseTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.client;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ResponseReadAndBufferEntityTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ResponseReadAndBufferEntityTest.java
index e9aa6d0..8b54346 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ResponseReadAndBufferEntityTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ResponseReadAndBufferEntityTest.java
@@ -24,16 +24,16 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ShutdownHookMemoryLeakTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ShutdownHookMemoryLeakTest.java
index 85a63bd..e0538a3 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ShutdownHookMemoryLeakTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/ShutdownHookMemoryLeakTest.java
@@ -23,10 +23,10 @@
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
@@ -151,7 +151,7 @@
                     listenersClosed.get(), is(ITERATIONS));
         }
 
-        private Collection getShutdownHooks(javax.ws.rs.client.Client client)
+        private Collection getShutdownHooks(jakarta.ws.rs.client.Client client)
                 throws NoSuchFieldException, IllegalAccessException {
             JerseyClient jerseyClient = (JerseyClient) client;
             Field shutdownHooksField = JerseyClient.class.getDeclaredField("shutdownHooks");
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/TimeoutTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/TimeoutTest.java
index 559258d..dc8300f 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/TimeoutTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/TimeoutTest.java
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/FutureCancelTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/FutureCancelTest.java
index 31a64d7..72b2d41 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/FutureCancelTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/FutureCancelTest.java
@@ -33,16 +33,16 @@
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.CompletionStageRxInvoker;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.RxInvokerProvider;
-import javax.ws.rs.client.SyncInvoker;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.CompletionStageRxInvoker;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.RxInvokerProvider;
+import jakarta.ws.rs.client.SyncInvoker;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Arrays;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HttpPatchTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HttpPatchTest.java
index 3bca471..051be02 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HttpPatchTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HttpPatchTest.java
@@ -24,19 +24,22 @@
 import java.util.concurrent.Future;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import java.util.stream.Stream;
 
-import javax.ws.rs.PATCH;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.PATCH;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.apache5.connector.Apache5ConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.client.HttpUrlConnectorProvider;
 import org.glassfish.jersey.client.spi.ConnectorProvider;
 import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
+import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.jdk.connector.JdkConnectorProvider;
 import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
 import org.glassfish.jersey.logging.LoggingFeature;
@@ -59,15 +62,17 @@
     private static final Logger LOGGER = Logger.getLogger(RequestHeaderModificationsTest.class.getName());
 
     public static List<ConnectorProvider> testData() {
-        return Arrays.asList(
-                // {HttpUrlConnectorProvider.class}, // cannot process PATCH without additional configuration
-                new GrizzlyConnectorProvider(),
-                new JettyConnectorProvider(), // unstable.
-                new ApacheConnectorProvider(),
-                new Apache5ConnectorProvider(),
-                new NettyConnectorProvider(),
-                new JdkConnectorProvider()
-                );
+        int size = JdkVersion.getJdkVersion().getMajor() < 11 ? 5 : 6;
+        final ConnectorProvider[] providers = new ConnectorProvider[size];
+        providers[0] = new JdkConnectorProvider();
+        providers[1] = new GrizzlyConnectorProvider();
+        providers[2] = new ApacheConnectorProvider();
+        providers[3] = new Apache5ConnectorProvider();
+        providers[4] = new NettyConnectorProvider();
+        if (size == 6) {
+            providers[5] = new JettyConnectorProvider();
+        }
+        return Arrays.asList(providers);
     }
 
     @TestFactory
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/MultiPartTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/MultiPartTest.java
index 613925c..3cb45b9 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/MultiPartTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/MultiPartTest.java
@@ -19,6 +19,7 @@
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.HttpUrlConnectorProvider;
 import org.glassfish.jersey.client.spi.ConnectorProvider;
+import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.jdk.connector.JdkConnectorProvider;
 import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
 import org.glassfish.jersey.netty.connector.NettyConnectorProvider;
@@ -37,34 +38,36 @@
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestFactory;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
-import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import java.util.stream.Stream;
 
 public class MultiPartTest {
 
     private static final Logger LOGGER = Logger.getLogger(RequestHeaderModificationsTest.class.getName());
 
-    public static List<ConnectorProvider> testData() {
-        return Arrays.asList(
-                new HttpUrlConnectorProvider(),
-                new JettyConnectorProvider(),
-                new NettyConnectorProvider(),
-                new JdkConnectorProvider()
-        );
+    public static ConnectorProvider[] testData() {
+        int size = JdkVersion.getJdkVersion().getMajor() < 11 ? 3 : 4;
+        final ConnectorProvider[] providers = new ConnectorProvider[size];
+        providers[0] = new HttpUrlConnectorProvider();
+        providers[1] = new NettyConnectorProvider();
+        providers[2] = new JdkConnectorProvider();
+        if (size == 4) {
+            providers[3] = new JettyConnectorProvider();
+        }
+        return providers;
     }
 
     @TestFactory
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ProviderFiltering.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ProviderFiltering.java
new file mode 100644
index 0000000..db9f21f
--- /dev/null
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ProviderFiltering.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+
+package org.glassfish.jersey.tests.e2e.client.connector;
+
+import org.glassfish.jersey.internal.util.JdkVersion;
+import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
+
+import java.util.LinkedList;
+import java.util.List;
+
+public class ProviderFiltering {
+    public static <T> T[][] filterProviders(T[][] tofilter) {
+        final List<Object[]> filtered = new LinkedList<>();
+        final JdkVersion version = JdkVersion.getJdkVersion();
+        final boolean isJdk8 = version.getMajor() == 1;
+        for (Object[] provider : tofilter) {
+            if (!isJdk8
+                    || (provider[0] != JettyConnectorProvider.class && !JettyConnectorProvider.class.isInstance(provider[0]))) {
+                filtered.add(provider);
+            }
+        }
+        return filtered.toArray(
+                (T[][]) java.lang.reflect.Array.newInstance(tofilter.getClass().getComponentType(),
+                        filtered.size())
+        );
+    }
+}
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/RequestHeaderModificationsTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/RequestHeaderModificationsTest.java
index dc9f18d..4e1b89e 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/RequestHeaderModificationsTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/RequestHeaderModificationsTest.java
@@ -33,31 +33,32 @@
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.AsyncInvoker;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.AsyncInvoker;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.apache5.connector.Apache5ConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.HttpUrlConnectorProvider;
 import org.glassfish.jersey.client.spi.ConnectorProvider;
+import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
 import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
@@ -118,6 +119,10 @@
     public Collection<DynamicContainer> generateTests() {
         Collection<DynamicContainer> tests = new ArrayList<>();
         testData().forEach(arr -> {
+            if (JdkVersion.getJdkVersion().getMajor() < 11
+                    && arr[0].getClass().getName().contains("Jetty")) {
+                return;
+            }
             RequestHeaderModificationsTemplateTest test = new RequestHeaderModificationsTemplateTest(
                     (ConnectorProvider) arr[0], (boolean) arr[1], (boolean) arr[2], (boolean) arr[3], (boolean) arr[4]) {};
             tests.add(TestHelper.toTestContainer(test, String.format("%s (%s, %s, %s)",
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/proxy/ProxySelectorTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/proxy/ProxySelectorTest.java
index 5b2b6b4..030119a 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/proxy/ProxySelectorTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/proxy/ProxySelectorTest.java
@@ -30,13 +30,13 @@
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 import java.util.HashSet;
 import java.util.Set;
 
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/proxy/ProxyTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/proxy/ProxyTest.java
index 7b64a90..25368cb 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/proxy/ProxyTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/proxy/ProxyTest.java
@@ -38,13 +38,13 @@
 import org.junit.platform.suite.api.SelectClasses;
 import org.junit.platform.suite.api.Suite;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 import java.lang.reflect.InvocationTargetException;
 import java.nio.charset.Charset;
 import java.util.Base64;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AbstractConnectorServerTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AbstractConnectorServerTest.java
index bdbb980..a458eb9 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AbstractConnectorServerTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AbstractConnectorServerTest.java
@@ -29,6 +29,7 @@
 import org.glassfish.jersey.client.HttpUrlConnectorProvider;
 import org.glassfish.jersey.client.spi.ConnectorProvider;
 import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
+import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
 
 import org.junit.jupiter.api.AfterEach;
@@ -54,13 +55,16 @@
      * @return test parameters.
      */
     public static Stream<ConnectorProvider> testData() {
-        return Stream.of(
-                new HttpUrlConnectorProvider(),
-                new GrizzlyConnectorProvider(),
-                new JettyConnectorProvider(),
-                new ApacheConnectorProvider(),
-                new Apache5ConnectorProvider()
-        );
+        int size = JdkVersion.getJdkVersion().getMajor() < 11 ? 4 : 5;
+        final ConnectorProvider[] providers = new ConnectorProvider[size];
+        providers[0] = new HttpUrlConnectorProvider();
+        providers[1] = new GrizzlyConnectorProvider();
+        providers[2] = new ApacheConnectorProvider();
+        providers[3] = new Apache5ConnectorProvider();
+        if (size == 5) {
+            providers[4] = new JettyConnectorProvider();
+        }
+        return Stream.of(providers);
     }
 
     private final Object serverGuard = new Object();
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AuthenticationExceptionMapper.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AuthenticationExceptionMapper.java
index 8760002..dc75c2c 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AuthenticationExceptionMapper.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AuthenticationExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.client.connector.ssl;
 
-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.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Map an authentication exception to an HTTP 401 response,
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/RootResource.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/RootResource.java
index b3821fb..ac44770 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/RootResource.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/RootResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,16 +19,16 @@
 import java.util.Base64;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
 
 /**
  * Simple resource demonstrating low level approach of getting user credentials.
  *
- * A better way would be injecting {@link javax.ws.rs.core.SecurityContext}.
+ * A better way would be injecting {@link jakarta.ws.rs.core.SecurityContext}.
  *
  * @author Pavel Bucek
  */
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SecurityFilter.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SecurityFilter.java
index 69d4dc0..385219a 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SecurityFilter.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SecurityFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,16 +21,16 @@
 import java.util.Base64;
 import java.util.logging.Logger;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/Server.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/Server.java
index a7fe698..20795c3 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/Server.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/Server.java
@@ -21,7 +21,7 @@
 import java.net.URI;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.apache.commons.io.IOUtils;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorConfigurationTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorConfigurationTest.java
index d81b88a..2b07d63 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorConfigurationTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorConfigurationTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.client.connector.ssl;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import javax.net.ssl.SSLContext;
 
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorHostnameVerifierTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorHostnameVerifierTest.java
index 62a8b19..2034975 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorHostnameVerifierTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorHostnameVerifierTest.java
@@ -19,10 +19,10 @@
 import java.util.Arrays;
 import java.util.List;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLSession;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslHttpUrlConnectorTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslHttpUrlConnectorTest.java
index 9b22f48..d958151 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslHttpUrlConnectorTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslHttpUrlConnectorTest.java
@@ -30,9 +30,9 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 
 import javax.net.ssl.HttpsURLConnection;
 import javax.net.ssl.SSLContext;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/grizzlyconnector/NonBlockingTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/grizzlyconnector/NonBlockingTest.java
index 66414de..7434408 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/grizzlyconnector/NonBlockingTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/grizzlyconnector/NonBlockingTest.java
@@ -20,10 +20,10 @@
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/AsyncTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/AsyncTest.java
index 43a8172..c4ea5e3 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/AsyncTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/AsyncTest.java
@@ -24,17 +24,17 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.AsyncInvoker;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.AsyncInvoker;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/Expect100ContinueTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/Expect100ContinueTest.java
index e80fabd..f057572 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/Expect100ContinueTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/Expect100ContinueTest.java
@@ -25,13 +25,13 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/nettyconnector/Expect100ContinueTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/nettyconnector/Expect100ContinueTest.java
index bcb350d..db08f92 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/nettyconnector/Expect100ContinueTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/nettyconnector/Expect100ContinueTest.java
@@ -30,15 +30,15 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/tests/e2e-core-common/pom.xml b/tests/e2e-core-common/pom.xml
index 8a2357a..1364ab7 100644
--- a/tests/e2e-core-common/pom.xml
+++ b/tests/e2e-core-common/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-core-common</artifactId>
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/TestRuntimeDelegate.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/TestRuntimeDelegate.java
index a4d3736..491f42b 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/TestRuntimeDelegate.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/TestRuntimeDelegate.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.common;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.Variant;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Variant;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.internal.AbstractRuntimeDelegate;
 import org.glassfish.jersey.message.internal.MessagingBinders;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/config/ServiceFinderBinderTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/config/ServiceFinderBinderTest.java
index 2663dd9..27f009e 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/config/ServiceFinderBinderTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/config/ServiceFinderBinderTest.java
@@ -20,7 +20,7 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.internal.ServiceFinderBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ContextResolverFactoryTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ContextResolverFactoryTest.java
index d8d5dd6..bd07da2 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ContextResolverFactoryTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ContextResolverFactoryTest.java
@@ -18,11 +18,11 @@
 
 import java.util.Collections;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.ContextResolverFactory;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ExceptionMapperFactoryTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ExceptionMapperFactoryTest.java
index 530662d..29f460b 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ExceptionMapperFactoryTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ExceptionMapperFactoryTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.common.internal;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.ExceptionMapperFactory;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/JaxrsProvidersTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/JaxrsProvidersTest.java
index 3774678..85f1ea6 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/JaxrsProvidersTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/JaxrsProvidersTest.java
@@ -21,13 +21,13 @@
 import java.util.List;
 import java.util.concurrent.Callable;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Providers;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Providers;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ParamConvertersTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ParamConvertersTest.java
index b415cf8..67048f8 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ParamConvertersTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ParamConvertersTest.java
@@ -29,9 +29,9 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 import java.util.Date;
 
 public class ParamConvertersTest {
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ProviderBinderTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ProviderBinderTest.java
index 17d5e9e..331a893 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ProviderBinderTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/ProviderBinderTest.java
@@ -28,19 +28,19 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.Binder;
 import org.glassfish.jersey.internal.inject.CompositeBinder;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/TestBinder.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/TestBinder.java
index 798eeb1..2b7bd58 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/TestBinder.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/TestBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.Collections;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/TestConfigConfigurator.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/TestConfigConfigurator.java
index 6617ca9..0b15408 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/TestConfigConfigurator.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/TestConfigConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.common.internal;
 
-import javax.ws.rs.RuntimeType;
+import jakarta.ws.rs.RuntimeType;
 
 import org.glassfish.jersey.internal.BootstrapBag;
 import org.glassfish.jersey.internal.BootstrapConfigurator;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/inject/ReferencingFactoryTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/inject/ReferencingFactoryTest.java
index 4d84e09..961af30 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/inject/ReferencingFactoryTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/internal/inject/ReferencingFactoryTest.java
@@ -20,11 +20,11 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/AcceptableMediaTypeTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/AcceptableMediaTypeTest.java
index 013d410..5bcb606 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/AcceptableMediaTypeTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/AcceptableMediaTypeTest.java
@@ -18,7 +18,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.internal.AcceptableMediaType;
 
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/CommittingOutputStreamTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/CommittingOutputStreamTest.java
index fc49c61..54771a9 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/CommittingOutputStreamTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/CommittingOutputStreamTest.java
@@ -22,8 +22,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Configuration;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.internal.util.PropertiesHelper;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/CookiesParserTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/CookiesParserTest.java
index 540d44b..ad4b91a 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/CookiesParserTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/CookiesParserTest.java
@@ -19,7 +19,7 @@
 import java.text.SimpleDateFormat;
 import java.util.Locale;
 
-import javax.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.NewCookie;
 
 import org.glassfish.jersey.message.internal.CookiesParser;
 
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/HeaderUtilsTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/HeaderUtilsTest.java
index 74318b1..03446f9 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/HeaderUtilsTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/HeaderUtilsTest.java
@@ -24,11 +24,11 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.core.AbstractMultivaluedMap;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.AbstractMultivaluedMap;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.message.internal.HeaderUtils;
 import org.glassfish.jersey.tests.e2e.common.TestRuntimeDelegate;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/InboundMessageContextTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/InboundMessageContextTest.java
index 9a3fdd7..91c325e 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/InboundMessageContextTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/InboundMessageContextTest.java
@@ -25,11 +25,11 @@
 import java.util.Locale;
 import java.util.Set;
 
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.message.internal.CookieProvider;
 import org.glassfish.jersey.message.internal.InboundMessageContext;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/JerseyLinkTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/JerseyLinkTest.java
index 7110355..1c11687 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/JerseyLinkTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/JerseyLinkTest.java
@@ -18,11 +18,11 @@
 
 import java.net.URI;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.tests.e2e.common.TestRuntimeDelegate;
 
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/LinkProviderTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/LinkProviderTest.java
index 7691af7..d999e91 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/LinkProviderTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/LinkProviderTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.common.message.internal;
 
-import javax.ws.rs.core.Link;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.tests.e2e.common.TestRuntimeDelegate;
 
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/MatchingEntityTagTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/MatchingEntityTagTest.java
index 36dcc23..3bcd66a 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/MatchingEntityTagTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/MatchingEntityTagTest.java
@@ -19,7 +19,7 @@
 import java.text.ParseException;
 import java.util.Set;
 
-import javax.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.EntityTag;
 
 import org.glassfish.jersey.message.internal.HttpHeaderReader;
 import org.glassfish.jersey.message.internal.MatchingEntityTag;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/MediaTypesTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/MediaTypesTest.java
index c9531a1..502356b 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/MediaTypesTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/MediaTypesTest.java
@@ -22,7 +22,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.internal.HttpHeaderReader;
 import org.glassfish.jersey.message.internal.MediaTypes;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundJaxrsResponseBuilderTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundJaxrsResponseBuilderTest.java
index 2a026df..392701c 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundJaxrsResponseBuilderTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundJaxrsResponseBuilderTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.common.message.internal;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.message.internal.OutboundJaxrsResponse;
 import org.glassfish.jersey.message.internal.OutboundMessageContext;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundJaxrsResponseTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundJaxrsResponseTest.java
index d3c8621..c001cd9 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundJaxrsResponseTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundJaxrsResponseTest.java
@@ -21,9 +21,9 @@
 import java.io.IOException;
 import java.io.OutputStream;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.message.internal.OutboundJaxrsResponse;
 import org.glassfish.jersey.message.internal.OutboundMessageContext;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundMessageContextTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundMessageContextTest.java
index 1327edd..bd6e3c5 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundMessageContextTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/OutboundMessageContextTest.java
@@ -25,13 +25,13 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.message.internal.CookieProvider;
 import org.glassfish.jersey.message.internal.OutboundMessageContext;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/QualitySourceMediaTypeTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/QualitySourceMediaTypeTest.java
index 8e20a44..e15c0ff 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/QualitySourceMediaTypeTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/QualitySourceMediaTypeTest.java
@@ -18,7 +18,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.internal.QualitySourceMediaType;
 
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/ReaderWriterTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/ReaderWriterTest.java
index 23be267..59edddd 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/ReaderWriterTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/message/internal/ReaderWriterTest.java
@@ -20,7 +20,7 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/model/internal/CommonConfigTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/model/internal/CommonConfigTest.java
index fb1a982..d1b4d38 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/model/internal/CommonConfigTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/model/internal/CommonConfigTest.java
@@ -24,21 +24,21 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
-import javax.inject.Inject;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
@@ -69,7 +69,7 @@
 import static org.junit.jupiter.api.Assertions.fail;
 
 /**
- * Test cases for {@link javax.ws.rs.core.Configuration}.
+ * Test cases for {@link jakarta.ws.rs.core.Configuration}.
  *
  * @author Michal Gajdos
  */
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/process/internal/ExecutorProvidersTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/process/internal/ExecutorProvidersTest.java
index f5b0b0a..040aeb2 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/process/internal/ExecutorProvidersTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/process/internal/ExecutorProvidersTest.java
@@ -23,11 +23,11 @@
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Qualifier;
-import javax.inject.Singleton;
+import jakarta.annotation.PreDestroy;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.inject.Qualifier;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.InjectionManager;
diff --git a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/uri/internal/JerseyUriBuilderTest.java b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/uri/internal/JerseyUriBuilderTest.java
index fddf149..6212b3f 100644
--- a/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/uri/internal/JerseyUriBuilderTest.java
+++ b/tests/e2e-core-common/src/test/java/org/glassfish/jersey/tests/e2e/common/uri/internal/JerseyUriBuilderTest.java
@@ -27,13 +27,13 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.uri.JerseyQueryParamStyle;
 import org.glassfish.jersey.uri.UriComponent;
diff --git a/tests/e2e-entity/pom.xml b/tests/e2e-entity/pom.xml
index 64efe2b..abd705c 100644
--- a/tests/e2e-entity/pom.xml
+++ b/tests/e2e-entity/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-entity</artifactId>
@@ -94,12 +94,6 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson1</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jettison</artifactId>
             <scope>test</scope>
         </dependency>
@@ -154,11 +148,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.jersey.connectors</groupId>
-            <artifactId>jersey-jetty-connector</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.glassfish.jersey.security</groupId>
             <artifactId>oauth1-signature</artifactId>
             <version>${project.version}</version>
@@ -206,23 +195,29 @@
             <artifactId>hamcrest</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.xmlunit</groupId>
+            <artifactId>xmlunit-core</artifactId>
+            <version>${xmlunit.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>xdk</id>
             <properties>
                 <!-- do not use security manager for xdk -->
@@ -247,7 +242,6 @@
                 </pluginManagement>
             </build>
         </profile>
-
     </profiles>
 
 </project>
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/AbstractParameterTypeArgumentOrderTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/AbstractParameterTypeArgumentOrderTest.java
index a81756f..092789c 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/AbstractParameterTypeArgumentOrderTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/AbstractParameterTypeArgumentOrderTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,14 +22,14 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/AbstractTypeTester.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/AbstractTypeTester.java
index 5cf22c3..5c089d5 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/AbstractTypeTester.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/AbstractTypeTester.java
@@ -22,22 +22,22 @@
 import java.io.OutputStream;
 import java.util.HashSet;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.message.internal.ReaderWriter;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/BeanStreamingTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/BeanStreamingTest.java
index bf4ac93..1daf862 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/BeanStreamingTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/BeanStreamingTest.java
@@ -25,17 +25,17 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/CharsetTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/CharsetTest.java
index ed9e64f..491f01b 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/CharsetTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/CharsetTest.java
@@ -21,23 +21,23 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBContext;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jettison.JettisonFeature;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/ContextResolverMediaTypeTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/ContextResolverMediaTypeTest.java
index 59ce2ca..f7cfe15 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/ContextResolverMediaTypeTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/ContextResolverMediaTypeTest.java
@@ -18,17 +18,17 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyEntityTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyEntityTest.java
index 9b64a74..34c84a8 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyEntityTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyEntityTest.java
@@ -23,27 +23,27 @@
 import java.lang.reflect.Type;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.ResponseProcessingException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NoContentException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.ResponseProcessingException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NoContentException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.message.internal.ReaderWriter;
 import org.glassfish.jersey.test.TestProperties;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyRequestToEntityParamTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyRequestToEntityParamTest.java
index 50b7fa9..c07e598 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyRequestToEntityParamTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyRequestToEntityParamTest.java
@@ -18,10 +18,10 @@
 
 import java.util.Map;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyRequestWithJaxbTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyRequestWithJaxbTest.java
index 3102cb7..74e4613 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyRequestWithJaxbTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EmptyRequestWithJaxbTest.java
@@ -21,16 +21,16 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jettison.JettisonConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EntityTypesTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EntityTypesTest.java
index 2a28919..77a74a6 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EntityTypesTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EntityTypesTest.java
@@ -38,30 +38,30 @@
 import java.util.Stack;
 import java.util.TreeSet;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.activation.DataSource;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
+import jakarta.activation.DataSource;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
 import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.transform.dom.DOMSource;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EnumEntityTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EnumEntityTest.java
index 3b3ae5b..11a2817 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EnumEntityTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/EnumEntityTest.java
@@ -24,13 +24,13 @@
 import org.junit.jupiter.api.parallel.Execution;
 import org.junit.jupiter.api.parallel.ExecutionMode;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class EnumEntityTest extends JerseyTest {
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/GenericTypeAndEntityTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/GenericTypeAndEntityTest.java
index 5b2861e..e59f464 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/GenericTypeAndEntityTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/GenericTypeAndEntityTest.java
@@ -30,20 +30,20 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InjectedProviderTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InjectedProviderTest.java
index 71b77a1..ce37307 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InjectedProviderTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InjectedProviderTest.java
@@ -27,15 +27,15 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.ClientConfig;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InterceptedStreamCloseTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InterceptedStreamCloseTest.java
index cb00250..0abcb35 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InterceptedStreamCloseTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InterceptedStreamCloseTest.java
@@ -20,17 +20,17 @@
 import java.io.FilterOutputStream;
 import java.io.IOException;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InvalidEntityTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InvalidEntityTest.java
index 1119948..6ede29f 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InvalidEntityTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InvalidEntityTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.entity;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ResponseProcessingException;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ResponseProcessingException;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.fail;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InvalidFormTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InvalidFormTest.java
index 77b422e..c7f254d 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InvalidFormTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/InvalidFormTest.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e.entity;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JAXBContextResolverTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JAXBContextResolverTest.java
index c5744aa..e56763f 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JAXBContextResolverTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JAXBContextResolverTest.java
@@ -16,22 +16,22 @@
 
 package org.glassfish.jersey.tests.e2e.entity;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Marshaller;
+import jakarta.xml.bind.Unmarshaller;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JaxbBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JaxbBean.java
index 6acd2df..c374ed5 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JaxbBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JaxbBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Doug Kohlert
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JaxbBeanType.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JaxbBeanType.java
index deab480..f1e7fe0 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JaxbBeanType.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JaxbBeanType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.entity;
 
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  *
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JsonMoxyTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JsonMoxyTest.java
index 0ba1190..c972472 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JsonMoxyTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/JsonMoxyTest.java
@@ -28,21 +28,21 @@
 import java.util.Stack;
 import java.util.TreeSet;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
 
-import javax.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBElement;
 import javax.xml.namespace.QName;
 
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MediaTypeSelectionTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MediaTypeSelectionTest.java
index 5464658..4bfdb90 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MediaTypeSelectionTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MediaTypeSelectionTest.java
@@ -16,18 +16,18 @@
 
 package org.glassfish.jersey.tests.e2e.entity;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MessageBodyProviderAnnotationsTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MessageBodyProviderAnnotationsTest.java
index fff556a..2638d62 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MessageBodyProviderAnnotationsTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MessageBodyProviderAnnotationsTest.java
@@ -25,19 +25,19 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MultipartTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MultipartTest.java
index bfd4ef3..1e7e353 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MultipartTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/MultipartTest.java
@@ -21,33 +21,45 @@
 import java.io.OutputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
+import java.util.stream.Stream;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jackson.JacksonFeature;
+import org.glassfish.jersey.jsonb.JsonBindingFeature;
 import org.glassfish.jersey.media.multipart.FormDataBodyPart;
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
 import org.glassfish.jersey.media.multipart.FormDataMultiPart;
 import org.glassfish.jersey.media.multipart.FormDataParam;
 import org.glassfish.jersey.media.multipart.MultiPartFeature;
+import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
 
+import org.glassfish.jersey.test.spi.TestContainerFactory;
+import org.glassfish.jersey.test.spi.TestHelper;
+import org.junit.jupiter.api.DynamicContainer;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestFactory;
+
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -55,9 +67,10 @@
 /**
  * @author Martin Matula
  */
-public class MultipartTest extends JerseyTest {
+public class MultipartTest {
 
-    @SuppressWarnings("UnusedDeclaration")
+    private static Class<? extends Feature> featureClass;
+
     public static class MyObject {
 
         private String value;
@@ -153,86 +166,116 @@
         }
     }
 
-    @Override
-    protected Application configure() {
+    private static final List<Class<? extends Feature>> providers =
+            Arrays.asList(MoxyJsonFeature.class, JacksonFeature.class, JsonBindingFeature.class);
+
+    protected static Application configure(Class<? extends Feature> featureClass) {
+        MultipartTest.featureClass = featureClass;
         return new ResourceConfig(MultipartResource.class, MessageBodyProvider.class)
                 .register(MultiPartFeature.class)
-                .register(JacksonFeature.class);
+                .register(featureClass);
+//                .register(JacksonFeature.class);
+//                .register(JsonBindingFeature.class);
+    }
+    public static Stream<Class<? extends Feature>> parameters() {
+        return providers.stream();
     }
 
-    @Override
-    protected void configureClient(final ClientConfig config) {
-        config.register(MultiPartFeature.class);
-        config.register(JacksonFeature.class);
+    @TestFactory
+    public Collection<DynamicContainer> generateTests() {
+        final Collection<DynamicContainer> tests = new ArrayList<>();
+        MultipartTest.parameters().forEach(feature -> {
+            final MultipartTest.MultipartTemplateTest test =
+                    new MultipartTemplateTest(feature) {};
+            tests.add(TestHelper.toTestContainer(test, feature.getClass().getSimpleName()));
+        });
+        return tests;
     }
+    public abstract class MultipartTemplateTest extends JerseyTest {
 
-    @Test
-    public void testFileNameInternetExplorer() throws Exception {
-        final InputStream entity = getClass().getResourceAsStream("multipart-testcase.txt");
-        final Response response = target("filename")
-                .request()
-                .header("User-Agent", "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)")
-                .post(Entity.entity(entity, "multipart/form-data; boundary=---------------------------7dc941520888"));
+        public MultipartTemplateTest(Class<? extends Feature> featureProvider) {
+            super(MultipartTest.configure(featureProvider));
+        }
+        @Override
+        protected void configureClient(final ClientConfig config) {
+            config.register(MultiPartFeature.class);
+            config.register(featureClass);
+            //config.register(JacksonFeature.class);
+            //config.register(JsonBindingFeature.class);
+        }
 
-        assertThat(response.readEntity(String.class), equalTo("bhhklbpom.xml"));
+        @Test
+        public void testFileNameInternetExplorer() throws Exception {
+            final InputStream entity = getClass().getResourceAsStream("multipart-testcase.txt");
+            final Response response = target("filename")
+                    .request()
+                    .header("User-Agent", "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)")
+                    .post(Entity.entity(entity, "multipart/form-data; boundary=---------------------------7dc941520888"));
+
+            assertThat(response.readEntity(String.class), equalTo("bhhklbpom.xml"));
+        }
+
+        @Test
+        public void testFileName() throws Exception {
+            final InputStream entity = getClass().getResourceAsStream("multipart-testcase.txt");
+            final Response response = target("filename")
+                    .request()
+                    .post(Entity.entity(entity, "multipart/form-data; boundary=---------------------------7dc941520888"));
+
+            assertThat(response.readEntity(String.class), equalTo("bhhklbC:javaprojectsmultipart-testcasepom.xml"));
+        }
+
+        @Test
+        public void testMbrExceptionServer() throws Exception {
+            final InputStream entity = getClass().getResourceAsStream("multipart-testcase.txt");
+            final Response response = target("mbr")
+                    .request()
+                    .post(Entity.entity(entity, "multipart/form-data; boundary=---------------------------7dc941520888"));
+
+            assertThat(response.getStatus(), equalTo(500));
+        }
+
+        /**
+         * Test that injection of a list (specific type) works.
+         */
+        @Test
+        public void testSpecificListAsParameter() throws Exception {
+            if (featureClass == MoxyJsonFeature.class) {
+                // No available MessageBodyWriter for class "class java.util.Arrays$ArrayList" and media type "application/json"
+                return;
+            }
+            final MyObject object = new MyObject("object");
+            final List<MyObject> list = Arrays.asList(new MyObject("list1"), new MyObject("list2"));
+
+            final FormDataMultiPart mp = new FormDataMultiPart();
+            mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("object").fileName("object").build(),
+                    object, MediaType.APPLICATION_JSON_TYPE));
+            mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("list").fileName("list").build(),
+                    list, MediaType.APPLICATION_JSON_TYPE));
+
+            final Response response = target("listAsParameter")
+                    .request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE));
+
+            assertThat(response.readEntity(String.class), is("object_list1_list2"));
+        }
+
+        @Test
+        public void testEmptyEntity() throws Exception {
+            final Response response = target("filename")
+                    .request()
+                    .post(Entity.entity(null, MediaType.MULTIPART_FORM_DATA_TYPE));
+
+            assertThat(response.getStatus(), is(400));
+        }
+
+        @Test
+        public void testEmptyEntityWithoutContentType() throws Exception {
+            final Response response = target("filename")
+                    .request()
+                    .header(HttpHeaders.CONTENT_TYPE, MediaType.MULTIPART_FORM_DATA_TYPE)
+                    .post(null);
+
+            assertThat(response.getStatus(), is(400));
+        }
     }
-
-    @Test
-    public void testFileName() throws Exception {
-        final InputStream entity = getClass().getResourceAsStream("multipart-testcase.txt");
-        final Response response = target("filename")
-                .request()
-                .post(Entity.entity(entity, "multipart/form-data; boundary=---------------------------7dc941520888"));
-
-        assertThat(response.readEntity(String.class), equalTo("bhhklbC:javaprojectsmultipart-testcasepom.xml"));
-    }
-
-    @Test
-    public void testMbrExceptionServer() throws Exception {
-        final InputStream entity = getClass().getResourceAsStream("multipart-testcase.txt");
-        final Response response = target("mbr")
-                .request()
-                .post(Entity.entity(entity, "multipart/form-data; boundary=---------------------------7dc941520888"));
-
-        assertThat(response.getStatus(), equalTo(500));
-    }
-
-    /**
-     * Test that injection of a list (specific type) works.
-     */
-    @Test
-    public void testSpecificListAsParameter() throws Exception {
-        final MyObject object = new MyObject("object");
-        final List<MyObject> list = Arrays.asList(new MyObject("list1"), new MyObject("list2"));
-
-        final FormDataMultiPart mp = new FormDataMultiPart();
-        mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("object").fileName("object").build(),
-                object, MediaType.APPLICATION_JSON_TYPE));
-        mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("list").fileName("list").build(),
-                list, MediaType.APPLICATION_JSON_TYPE));
-
-        final Response response = target("listAsParameter")
-                .request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE));
-
-        assertThat(response.readEntity(String.class), is("object_list1_list2"));
-    }
-
-    @Test
-    public void testEmptyEntity() throws Exception {
-        final Response response = target("filename")
-                .request()
-                .post(Entity.entity(null, MediaType.MULTIPART_FORM_DATA_TYPE));
-
-        assertThat(response.getStatus(), is(400));
-    }
-
-    @Test
-    public void testEmptyEntityWithoutContentType() throws Exception {
-        final Response response = target("filename")
-                .request()
-                .post(null);
-
-        assertThat(response.getStatus(), is(400));
-    }
-
 }
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/NoMessageBodyWorkerTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/NoMessageBodyWorkerTest.java
index 0dd88e6..61880c2 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/NoMessageBodyWorkerTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/NoMessageBodyWorkerTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.e2e.entity;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/RenderedImageTypeTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/RenderedImageTypeTest.java
index 8498aae..fcc3b79 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/RenderedImageTypeTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/RenderedImageTypeTest.java
@@ -20,13 +20,13 @@
 import java.awt.image.RenderedImage;
 import java.io.InputStream;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/StreamingOutputTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/StreamingOutputTest.java
index c1085ed..1f7d017 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/StreamingOutputTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/StreamingOutputTest.java
@@ -19,12 +19,12 @@
 import java.io.IOException;
 import java.io.OutputStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.StreamingOutput;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/SubResourceDynamicProxyTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/SubResourceDynamicProxyTest.java
index f8d3fc0..7f223a0 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/SubResourceDynamicProxyTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/SubResourceDynamicProxyTest.java
@@ -27,15 +27,15 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XXETest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XXETest.java
index 097de56..bc3eba7 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XXETest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XXETest.java
@@ -22,15 +22,15 @@
 import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBElement;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXSource;
 import javax.xml.transform.stream.StreamSource;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XmlJaxBElementProviderTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XmlJaxBElementProviderTest.java
index 1b62afc..d1a24a4 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XmlJaxBElementProviderTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XmlJaxBElementProviderTest.java
@@ -16,20 +16,20 @@
 
 package org.glassfish.jersey.tests.e2e.entity;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBElement;
 import javax.xml.namespace.QName;
 
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XmlMoxyTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XmlMoxyTest.java
index 9e2587c..a71fac0 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XmlMoxyTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/XmlMoxyTest.java
@@ -28,25 +28,25 @@
 import java.util.Stack;
 import java.util.TreeSet;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.annotation.XmlRootElement;
 import javax.xml.namespace.QName;
 
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EmptyEntityTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EmptyEntityTest.java
index 0096c5a..0b7a435 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EmptyEntityTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EmptyEntityTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringClientTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringClientTest.java
index 0fa7b14..d8627f5 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringClientTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringClientTest.java
@@ -18,14 +18,14 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.inject.CustomAnnotationLiteral;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringOnClassTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringOnClassTest.java
index 16235d3..939c37e 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringOnClassTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringOnClassTest.java
@@ -18,13 +18,13 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringOnPropertiesTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringOnPropertiesTest.java
index bb41fdb..32a1f1c 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringOnPropertiesTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringOnPropertiesTest.java
@@ -18,13 +18,13 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringScopesTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringScopesTest.java
index 64a5366..b452886 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringScopesTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringScopesTest.java
@@ -16,15 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.TestProperties;
 import org.glassfish.jersey.tests.e2e.entity.filtering.domain.ComplexEntity;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringServerTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringServerTest.java
index 7e2a9ba..704771c 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringServerTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/EntityFilteringServerTest.java
@@ -18,11 +18,11 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/FilteringMessageBodyProvider.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/FilteringMessageBodyProvider.java
index 09e739b..b76f67a 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/FilteringMessageBodyProvider.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/FilteringMessageBodyProvider.java
@@ -27,16 +27,16 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.message.filtering.spi.FilteringHelper;
 import org.glassfish.jersey.message.filtering.spi.ObjectGraph;
@@ -52,10 +52,10 @@
 
     private static final Logger LOGGER = Logger.getLogger(FilteringMessageBodyProvider.class.getName());
 
-    private final javax.inject.Provider<ObjectProvider<ObjectGraph>> provider;
+    private final jakarta.inject.Provider<ObjectProvider<ObjectGraph>> provider;
 
     @Inject
-    public FilteringMessageBodyProvider(javax.inject.Provider<ObjectProvider<ObjectGraph>> provider) {
+    public FilteringMessageBodyProvider(jakarta.inject.Provider<ObjectProvider<ObjectGraph>> provider) {
         this.provider = provider;
     }
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexEntity.java
index a6a36a2..51d3a07 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.domain;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.tests.e2e.entity.filtering.PrimaryDetailedView;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexSubEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexSubEntity.java
index 7676e3c..e96c21e 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexSubEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexSubEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.domain;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonIgnore;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexSubSubEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexSubSubEntity.java
index be709e0..9db43fc 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexSubSubEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ComplexSubSubEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.domain;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.tests.e2e.entity.filtering.PrimaryDetailedView;
 import org.glassfish.jersey.tests.e2e.entity.filtering.SecondaryDetailedView;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/DefaultFilteringSubEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/DefaultFilteringSubEntity.java
index fcd3888..a305f03 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/DefaultFilteringSubEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/DefaultFilteringSubEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.domain;
 
-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 com.fasterxml.jackson.annotation.JsonAutoDetect;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/FilteredClassEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/FilteredClassEntity.java
index b1ec5f8..4ca61a6 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/FilteredClassEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/FilteredClassEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.domain;
 
-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 org.glassfish.jersey.tests.e2e.entity.filtering.TertiaryDetailedView;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsOnClassEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsOnClassEntity.java
index 8221fb9..895333c 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsOnClassEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsOnClassEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.Collections;
 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.XmlTransient;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.tests.e2e.entity.filtering.PrimaryDetailedView;
 import org.glassfish.jersey.tests.e2e.entity.filtering.SecondaryDetailedView;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsOnPropertiesEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsOnPropertiesEntity.java
index f59b87d..261d658 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsOnPropertiesEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsOnPropertiesEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.Collections;
 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.XmlTransient;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.tests.e2e.entity.filtering.PrimaryDetailedView;
 import org.glassfish.jersey.tests.e2e.entity.filtering.SecondaryDetailedView;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsSubEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsSubEntity.java
index b326abc..c56e750 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsSubEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/ManyFilteringsSubEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.domain;
 
-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 org.glassfish.jersey.tests.e2e.entity.filtering.PrimaryDetailedView;
 import org.glassfish.jersey.tests.e2e.entity.filtering.SecondaryDetailedView;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringOnClassEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringOnClassEntity.java
index 55be9fc..0fa3856 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringOnClassEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringOnClassEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.Collections;
 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.XmlTransient;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.tests.e2e.entity.filtering.PrimaryDetailedView;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringOnPropertiesEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringOnPropertiesEntity.java
index 43809e4..8238c28 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringOnPropertiesEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringOnPropertiesEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.Collections;
 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.XmlTransient;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.tests.e2e.entity.filtering.PrimaryDetailedView;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringSubEntity.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringSubEntity.java
index 149ca05..027f00c 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringSubEntity.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/domain/OneFilteringSubEntity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.domain;
 
-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 org.glassfish.jersey.tests.e2e.entity.filtering.PrimaryDetailedView;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEmptyEntityTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEmptyEntityTest.java
index 9f7da5a..0b08d78 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEmptyEntityTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEmptyEntityTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.json;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringClientTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringClientTest.java
index 1741eae..f8d1e7e 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringClientTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringClientTest.java
@@ -18,15 +18,15 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.inject.CustomAnnotationLiteral;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringOnClassTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringOnClassTest.java
index 49fafb9..ee29bce 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringOnClassTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringOnClassTest.java
@@ -18,13 +18,13 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringOnPropertiesTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringOnPropertiesTest.java
index a4abc9f..25ead7f 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringOnPropertiesTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringOnPropertiesTest.java
@@ -18,13 +18,13 @@
 
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringScopesTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringScopesTest.java
index f861d27..92a1516 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringScopesTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringScopesTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.json;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringServerTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringServerTest.java
index d8078f5..0354980 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringServerTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/JsonEntityFilteringServerTest.java
@@ -21,11 +21,11 @@
 import java.util.Arrays;
 import java.util.Collection;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/MoxyEntityFilteringTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/MoxyEntityFilteringTest.java
index f2ded4f..ffad6ad 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/MoxyEntityFilteringTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/entity/filtering/json/MoxyEntityFilteringTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.entity.filtering.json;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/HeaderDelegateProviderTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/HeaderDelegateProviderTest.java
index 2218d91..8fe509d 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/HeaderDelegateProviderTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/HeaderDelegateProviderTest.java
@@ -28,23 +28,23 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/RuntimeDelegateProviderDisabledTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/RuntimeDelegateProviderDisabledTest.java
index 29994b2..f7f43a5 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/RuntimeDelegateProviderDisabledTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/RuntimeDelegateProviderDisabledTest.java
@@ -22,8 +22,8 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import static org.glassfish.jersey.tests.e2e.header.HeaderDelegateProviderTest.DISABLED_VALUE;
 import static org.glassfish.jersey.tests.e2e.header.HeaderDelegateProviderTest.HEADER_NAME;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/RuntimeDelegateProviderEnabledTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/RuntimeDelegateProviderEnabledTest.java
index 109c229..0a89aca 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/RuntimeDelegateProviderEnabledTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/header/RuntimeDelegateProviderEnabledTest.java
@@ -22,8 +22,8 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import static org.glassfish.jersey.tests.e2e.header.HeaderDelegateProviderTest.HEADER_NAME;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/Jackson1JsonViewTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/Jackson1JsonViewTest.java
deleted file mode 100644
index 5219c2e..0000000
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/Jackson1JsonViewTest.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (c) 2014, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.e2e.json;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import javax.inject.Singleton;
-
-import org.glassfish.jersey.client.ClientConfig;
-import org.glassfish.jersey.jackson1.Jackson1Feature;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
-
-import org.codehaus.jackson.map.annotate.JsonView;
-import org.junit.jupiter.api.Test;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-/**
- * Reproducer for JERSEY-1878.
- *
- * @author Michal Gajdos
- */
-public class Jackson1JsonViewTest extends JerseyTest {
-
-    @Override
-    protected Application configure() {
-        return new ResourceConfig(MyResource.class, Jackson1Feature.class);
-    }
-
-    @Override
-    protected void configureClient(final ClientConfig config) {
-        config.register(Jackson1Feature.class);
-    }
-
-    public static class SimpleView {}
-    public static class DetailedView {}
-
-    public static class TestEntity {
-
-        public static final TestEntity ENTITY = new TestEntity("simple", "detailed");
-        public static final TestEntity DETAILED = new TestEntity(null, "detailed");
-
-        private String simple;
-        private String detailed;
-
-        public TestEntity() {
-        }
-
-        public TestEntity(final String simple, final String detailed) {
-            this.simple = simple;
-            this.detailed = detailed;
-        }
-
-        @JsonView(SimpleView.class)
-        public String getSimple() {
-            return simple;
-        }
-
-        @JsonView(DetailedView.class)
-        public String getDetailed() {
-            return detailed;
-        }
-
-        @Override
-        public boolean equals(final Object o) {
-            if (this == o) {
-                return true;
-            }
-            if (o == null || getClass() != o.getClass()) {
-                return false;
-            }
-
-            final TestEntity that = (TestEntity) o;
-
-            if (detailed != null ? !detailed.equals(that.detailed) : that.detailed != null) {
-                return false;
-            }
-            if (simple != null ? !simple.equals(that.simple) : that.simple != null) {
-                return false;
-            }
-
-            return true;
-        }
-
-        @Override
-        public int hashCode() {
-            int result = simple != null ? simple.hashCode() : 0;
-            result = 31 * result + (detailed != null ? detailed.hashCode() : 0);
-            return result;
-        }
-    }
-
-    @Path("/")
-    @Singleton
-    public static class MyResource {
-
-        @GET
-        @Produces(MediaType.APPLICATION_JSON)
-        @Path("async")
-        @JsonView(DetailedView.class)
-        public void getAsync(@Suspended final AsyncResponse response) {
-            response.resume(TestEntity.ENTITY);
-        }
-
-        @GET
-        @Produces(MediaType.APPLICATION_JSON)
-        @Path("sync")
-        @JsonView(DetailedView.class)
-        public TestEntity getSync() {
-            return TestEntity.ENTITY;
-        }
-    }
-
-    @Test
-    public void testSync() throws Exception {
-        final Response response = target().path("sync").request().get();
-
-        assertThat(response.getStatus(), is(200));
-        assertThat(response.readEntity(TestEntity.class), is(TestEntity.DETAILED));
-    }
-
-    @Test
-    public void testAsync() throws Exception {
-        final Response response = target().path("async").request().async().get().get();
-
-        assertThat(response.getStatus(), is(200));
-        assertThat(response.readEntity(TestEntity.class), is(TestEntity.DETAILED));
-
-        response.close();
-    }
-}
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JacksonJsonViewTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JacksonJsonViewTest.java
index 7e32536..1816294 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JacksonJsonViewTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JacksonJsonViewTest.java
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.tests.e2e.json;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jackson.JacksonFeature;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/Jersey1199Test.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/Jersey1199Test.java
index 0aaad3e..b0dfc4d 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/Jersey1199Test.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/Jersey1199Test.java
@@ -21,7 +21,7 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.json.bind.adapter.JsonbAdapter;
+import jakarta.json.bind.adapter.JsonbAdapter;
 
 import org.glassfish.jersey.test.spi.TestHelper;
 import org.glassfish.jersey.tests.e2e.json.JsonTest.JsonTestSetup;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonProcessingDisabledTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonProcessingDisabledTest.java
index 1d6b094..082b5af 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonProcessingDisabledTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonProcessingDisabledTest.java
@@ -18,17 +18,17 @@
 
 import java.io.StringReader;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.json.Json;
-import javax.json.JsonObject;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
 
 import org.glassfish.jersey.internal.InternalProperties;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonProcessingTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonProcessingTest.java
index 90c5604..dd480ff 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonProcessingTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonProcessingTest.java
@@ -18,22 +18,22 @@
 
 import java.io.StringReader;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonString;
+import jakarta.json.JsonStructure;
+import jakarta.json.JsonValue;
 
 import org.glassfish.jersey.jsonp.JsonProcessingFeature;
 import org.glassfish.jersey.server.JSONP;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonTest.java
index ed04c64..bf34953 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonTest.java
@@ -26,15 +26,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBContext;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.util.JdkVersion;
@@ -218,7 +218,7 @@
 
     private static boolean moxyJaxbProvider() {
         return "org.eclipse.persistence.jaxb.JAXBContextFactory".equals(
-                AccessController.doPrivileged(PropertiesHelper.getSystemProperty("javax.xml.bind.JAXBContext")));
+                AccessController.doPrivileged(PropertiesHelper.getSystemProperty("jakarta.xml.bind.JAXBContext")));
     }
 
     /**
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonTestProvider.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonTestProvider.java
index 3c72b60..f15b9f7 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonTestProvider.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonTestProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,16 +22,15 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.json.bind.JsonbConfig;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.json.bind.JsonbConfig;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
-import org.glassfish.jersey.jackson1.Jackson1Feature;
 import org.glassfish.jersey.jettison.JettisonConfig;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jsonb.JsonBindingFeature;
@@ -47,7 +46,6 @@
 
     public static final Collection<JsonTestProvider> JAXB_PROVIDERS = new LinkedHashSet<JsonTestProvider>() {{
         add(new JacksonJsonTestProvider());
-        add(new Jackson1JsonTestProvider());
         add(new JettisonMappedJsonTestProvider());
         add(new JettisonBadgerfishJsonTestProvider());
         add(new MoxyJsonTestProvider());
@@ -57,7 +55,6 @@
     //  TODO add MoxyJsonTestProvider once MOXy supports POJO
     public static final Collection<JsonTestProvider> POJO_PROVIDERS = new LinkedHashSet<JsonTestProvider>() {{
         add(new JacksonJsonTestProvider());
-        add(new Jackson1JsonTestProvider());
     }};
 
     private Feature feature;
@@ -137,11 +134,7 @@
 
     }
 
-    public static class Jackson1JsonTestProvider extends JsonTestProvider {
-        public Jackson1JsonTestProvider() {
-            setFeature(new Jackson1Feature());
-        }
-    }
+
 
     public static class JsonbTestProvider extends JsonTestProvider {
         public JsonbTestProvider() {
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithPaddingEncodingFilterTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithPaddingEncodingFilterTest.java
index 0c2759d..c429786 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithPaddingEncodingFilterTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithPaddingEncodingFilterTest.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e.json;
 
-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.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+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.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.message.DeflateEncoder;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithPaddingTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithPaddingTest.java
index 0201604..39f7bc5 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithPaddingTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithPaddingTest.java
@@ -19,14 +19,14 @@
 import java.util.ArrayList;
 import java.util.Collection;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jackson.JacksonFeature;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithoutExceptionMapperTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithoutExceptionMapperTest.java
index 1db9c6f..6821046 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithoutExceptionMapperTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JsonWithoutExceptionMapperTest.java
@@ -22,15 +22,15 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.annotation.Priority;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.Path;
-import javax.ws.rs.POST;
-import javax.ws.rs.Priorities;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Priorities;
 
 public class JsonWithoutExceptionMapperTest extends JerseyTest {
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Animal.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Animal.java
index ab8afdc..f31cdf2 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Animal.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Animal.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,19 +16,12 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
  * @author Michal Gajdos
  */
-// Jackson 1
-@org.codehaus.jackson.annotate.JsonTypeInfo(
-        use = org.codehaus.jackson.annotate.JsonTypeInfo.Id.NAME,
-        include = org.codehaus.jackson.annotate.JsonTypeInfo.As.PROPERTY)
-@org.codehaus.jackson.annotate.JsonSubTypes({
-        @org.codehaus.jackson.annotate.JsonSubTypes.Type(value = Cat.class),
-        @org.codehaus.jackson.annotate.JsonSubTypes.Type(value = Dog.class) })
 // Jackson 2
 @com.fasterxml.jackson.annotation.JsonTypeInfo(
         use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnimalList.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnimalList.java
index f603939..cb3ba80 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnimalList.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnimalList.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherAnimal.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherAnimal.java
index bdf1724..a99af6c 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherAnimal.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherAnimal.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherArrayTestBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherArrayTestBean.java
index 6daa660..969838d 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherArrayTestBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherArrayTestBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,11 +20,11 @@
 import java.util.Formatter;
 import java.util.List;
 
-import javax.json.bind.annotation.JsonbTransient;
-import javax.json.bind.annotation.JsonbVisibility;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.json.bind.annotation.JsonbVisibility;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherCat.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherCat.java
index 5c44ed3..757ff82 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherCat.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AnotherCat.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AttrAndCharDataBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AttrAndCharDataBean.java
index a4d12b7..4d43401 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AttrAndCharDataBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/AttrAndCharDataBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.Formatter;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlValue;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Cat.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Cat.java
index 80156da..87c192b 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Cat.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Cat.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ColorHolder.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ColorHolder.java
index b9e5cfd..8f32579 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ColorHolder.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ColorHolder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.Formatter;
 import java.util.Set;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes.java
index 4ee88f1..e19703b 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,10 +20,10 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.json.bind.annotation.JsonbVisibility;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.json.bind.annotation.JsonbVisibility;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes2.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes2.java
index ecdb2e5..fe176f3 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes2.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.json.bind.annotation.JsonbVisibility;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.json.bind.annotation.JsonbVisibility;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes3.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes3.java
index 015a905..0a99510 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes3.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes3.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.json.bind.annotation.JsonbVisibility;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.json.bind.annotation.JsonbVisibility;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes4.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes4.java
index 78b118e..201ecec 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes4.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ComplexBeanWithAttributes4.java
@@ -20,10 +20,10 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.json.bind.annotation.JsonbVisibility;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.json.bind.annotation.JsonbVisibility;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/CustomJsonbVisibilityStrategy.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/CustomJsonbVisibilityStrategy.java
index 9d6532d..7a43c20 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/CustomJsonbVisibilityStrategy.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/CustomJsonbVisibilityStrategy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 
-import javax.json.bind.config.PropertyVisibilityStrategy;
+import jakarta.json.bind.config.PropertyVisibilityStrategy;
 
 /**
  * Custom, permissive {@link PropertyVisibilityStrategy}.
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Dog.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Dog.java
index 57c7ddd..2c7deab 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Dog.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Dog.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EmptyElementBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EmptyElementBean.java
index 8646e6c..501313d 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EmptyElementBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EmptyElementBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EmptyElementContainingBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EmptyElementContainingBean.java
index 2f62263..a3cadb7 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EmptyElementContainingBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EmptyElementContainingBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EncodedContentBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EncodedContentBean.java
index 4980286..12236cf 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EncodedContentBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/EncodedContentBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/FakeArrayBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/FakeArrayBean.java
index a76ab5a..2fc8fea 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/FakeArrayBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/FakeArrayBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.json.bind.annotation.JsonbVisibility;
-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.json.bind.annotation.JsonbVisibility;
+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;
 
 /**
  * Test case for issue#310.
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/IntArray.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/IntArray.java
index e56ebcd..e5c9461 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/IntArray.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/IntArray.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.Arrays;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Jersey1199List.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Jersey1199List.java
index f293625..d0829f9 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Jersey1199List.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Jersey1199List.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import java.util.EnumSet;
 import java.util.Formatter;
 
-import javax.json.bind.annotation.JsonbTypeAdapter;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.json.bind.annotation.JsonbTypeAdapter;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.Jersey1199Test;
 
@@ -52,13 +52,6 @@
         this.total = objects.length;
     }
 
-    // Jackson 1
-    @org.codehaus.jackson.annotate.JsonTypeInfo(
-            use = org.codehaus.jackson.annotate.JsonTypeInfo.Id.NAME,
-            include = org.codehaus.jackson.annotate.JsonTypeInfo.As.PROPERTY)
-    @org.codehaus.jackson.annotate.JsonSubTypes({
-            @org.codehaus.jackson.annotate.JsonSubTypes.Type(value = ColorHolder.class)
-    })
     // Jackson 2
     @com.fasterxml.jackson.annotation.JsonTypeInfo(
             use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListAndNonListBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListAndNonListBean.java
index 1d63367..78114e8 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListAndNonListBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListAndNonListBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListEmptyBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListEmptyBean.java
index 4ff613b..f6c8d0c 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListEmptyBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListEmptyBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListWrapperBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListWrapperBean.java
index fdb96fd..6585a3a 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListWrapperBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/ListWrapperBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyError.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyError.java
index 88977cc..ce12bef 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyError.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyError.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-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;
 
 /**
  * <p>Java class for anonymous complex type.
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyMessage.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyMessage.java
index 0716cad..469567e 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyMessage.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyMessage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-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;
 
 /**
  * <p>Java class for anonymous complex type.
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyResponse.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyResponse.java
index 1e6d6b2..626dd03 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyResponse.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/MyResponse.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.json.bind.annotation.JsonbVisibility;
-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.json.bind.annotation.JsonbVisibility;
+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;
 
 /**
  * <p>Java class for anonymous complex type.
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NamespaceBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NamespaceBean.java
index 703b58b..d9e8862 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NamespaceBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NamespaceBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NamespaceBeanWithAttribute.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NamespaceBeanWithAttribute.java
index bc948a1..9aca589 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NamespaceBeanWithAttribute.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NamespaceBeanWithAttribute.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NullStringBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NullStringBean.java
index 78919b6..4fc88cd 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NullStringBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/NullStringBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Person.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Person.java
index f578874..db0d2be 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Person.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/Person.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.util.Arrays;
 
-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.XmlType;
+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.XmlType;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/PureCharDataBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/PureCharDataBean.java
index 15578a3..b4785d9 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/PureCharDataBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/PureCharDataBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlValue;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/RegisterMessage.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/RegisterMessage.java
index 68b5330..6138091 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/RegisterMessage.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/RegisterMessage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author David Kaspar
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBean.java
index 613f29b..8fceb13 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.Formatter;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithAttributes.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithAttributes.java
index 2d31414..1d716e2 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithAttributes.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithAttributes.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,8 +22,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithJustOneAttribute.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithJustOneAttribute.java
index 5f8e6df..e4f0490 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithJustOneAttribute.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithJustOneAttribute.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,8 +21,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithJustOneAttributeAndValue.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithJustOneAttributeAndValue.java
index ac435a4..294e67b 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithJustOneAttributeAndValue.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithJustOneAttributeAndValue.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,9 +21,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlValue;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlValue;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithObjectAttributes.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithObjectAttributes.java
index 5478ba4..5dc1d2a 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithObjectAttributes.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleBeanWithObjectAttributes.java
@@ -19,8 +19,8 @@
 import java.net.URI;
 import java.util.Formatter;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleXmlTypeBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleXmlTypeBean.java
index 0742e64..0470921 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleXmlTypeBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SimpleXmlTypeBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.util.Formatter;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SingleItemListWrapperBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SingleItemListWrapperBean.java
index 40763a4..6edd027 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SingleItemListWrapperBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/SingleItemListWrapperBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/TreeModel.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/TreeModel.java
index 4c31866..09b871d 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/TreeModel.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/TreeModel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/TwoListsWrapperBean.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/TwoListsWrapperBean.java
index 4dcb8c1..336b254 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/TwoListsWrapperBean.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/TwoListsWrapperBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/User.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/User.java
index 12fef69..2d6f074 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/User.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/User.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.json.entity;
 
-import javax.json.bind.annotation.JsonbTransient;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/UserTable.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/UserTable.java
index 57d492f..54b8a9f 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/UserTable.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/UserTable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,9 +20,9 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.json.JsonTestHelper;
 
@@ -33,7 +33,7 @@
  * unmarshalling XML/JSON stream additional elements are added to this list - MOXy doesn't override the existing list with a
  * new one created during unmarshalling).
  * <p/>
- * Workaround: Set {@link javax.xml.bind.annotation.XmlAccessorType} to {@link javax.xml.bind.annotation.XmlAccessType#FIELD},
+ * Workaround: Set {@link jakarta.xml.bind.annotation.XmlAccessorType} to {@link jakarta.xml.bind.annotation.XmlAccessType#FIELD},
  * do not initialize the list in the default constructor
  * (field initializer) and assign the value to the list that should contain predefined values manually (in this case the value
  * object is represented by {@code #DEFAULT_HEADERS}).
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/pojo/PojoAnimal.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/pojo/PojoAnimal.java
index 03d988e..5c2267e 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/pojo/PojoAnimal.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/entity/pojo/PojoAnimal.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,13 +20,6 @@
  * @author Jakub Podlesak
  * @author Michal Gajdos
  */
-// Jackson 1
-@org.codehaus.jackson.annotate.JsonTypeInfo(
-        use = org.codehaus.jackson.annotate.JsonTypeInfo.Id.NAME,
-        include = org.codehaus.jackson.annotate.JsonTypeInfo.As.PROPERTY)
-@org.codehaus.jackson.annotate.JsonSubTypes({
-        @org.codehaus.jackson.annotate.JsonSubTypes.Type(value = PojoCat.class),
-        @org.codehaus.jackson.annotate.JsonSubTypes.Type(value = PojoDog.class) })
 // Jackson 2
 @com.fasterxml.jackson.annotation.JsonTypeInfo(
         use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterCloseTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterCloseTest.java
index 866f8f7..bb7b8fc 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterCloseTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterCloseTest.java
@@ -25,20 +25,20 @@
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterExecutorTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterExecutorTest.java
index 2a6caf4..5b3d957 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterExecutorTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterExecutorTest.java
@@ -21,20 +21,20 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseEventSource;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.client.ClientAsyncExecutor;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterTest.java
index 9cf94cc..7f691a9 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/BroadcasterTest.java
@@ -22,26 +22,26 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseEventSource;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 /**
- * JAX-RS {@link javax.ws.rs.sse.SseBroadcaster} test.
+ * JAX-RS {@link jakarta.ws.rs.sse.SseBroadcaster} test.
  *
  * @author Adam Lindenthal
  */
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/EventOutputTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/EventOutputTest.java
index 5eb2071..0d63c5c 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/EventOutputTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/EventOutputTest.java
@@ -24,14 +24,14 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/EventSourceWithNamedEventsTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/EventSourceWithNamedEventsTest.java
index 64b3c28..7280b84 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/EventSourceWithNamedEventsTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/EventSourceWithNamedEventsTest.java
@@ -21,15 +21,15 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.media.sse.EventListener;
 import org.glassfish.jersey.media.sse.EventOutput;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/GenericEntityTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/GenericEntityTest.java
index f481d07..d0c22f6 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/GenericEntityTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/GenericEntityTest.java
@@ -21,22 +21,22 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseEventSource;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/SseCustomEventImplTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/SseCustomEventImplTest.java
index d15ab70..e9c90be 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/SseCustomEventImplTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/SseCustomEventImplTest.java
@@ -24,20 +24,20 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.InboundSseEvent;
-import javax.ws.rs.sse.OutboundSseEvent;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.InboundSseEvent;
+import jakarta.ws.rs.sse.OutboundSseEvent;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseEventSource;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.media.sse.EventListener;
 import org.glassfish.jersey.media.sse.EventSource;
@@ -49,7 +49,7 @@
 
 /**
  * Test that {@link org.glassfish.jersey.media.sse.OutboundEventWriter} works with custom
- * {@link javax.ws.rs.sse.OutboundSseEvent} implementation.
+ * {@link jakarta.ws.rs.sse.OutboundSseEvent} implementation.
  *
  * @author Adam Lindenthal
  */
diff --git a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/SseEventSinkToEventSourceTest.java b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/SseEventSinkToEventSourceTest.java
index 4e86ec1..a2a055a 100644
--- a/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/SseEventSinkToEventSourceTest.java
+++ b/tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/sse/SseEventSinkToEventSourceTest.java
@@ -25,20 +25,20 @@
 import java.util.function.Consumer;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.InboundSseEvent;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseEventSink;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.InboundSseEvent;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseEventSink;
+import jakarta.ws.rs.sse.SseEventSource;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.media.sse.EventListener;
 import org.glassfish.jersey.media.sse.EventSource;
diff --git a/tests/e2e-inject/cdi-inject-weld/pom.xml b/tests/e2e-inject/cdi-inject-weld/pom.xml
index 1dd9e7d..558857e 100644
--- a/tests/e2e-inject/cdi-inject-weld/pom.xml
+++ b/tests/e2e-inject/cdi-inject-weld/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>e2e-inject</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-inject-cdi-inject-weld</artifactId>
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Account.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Account.java
index c09845a..2e58abe 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Account.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Account.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.Observes;
 
 /**
  * Keeps current state of money.
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/AccountResource.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/AccountResource.java
index 49ef2a9..b09f560 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/AccountResource.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/AccountResource.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.event.Event;
-import javax.inject.Inject;
+import jakarta.enterprise.event.Event;
+import jakarta.inject.Inject;
 
 /**
  * Testing resource for CDI events.
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Credit.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Credit.java
index 14ed675..eb44bfd 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Credit.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Credit.java
@@ -19,7 +19,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Debit.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Debit.java
index 56d60d9..e4840b0 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Debit.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Debit.java
@@ -19,7 +19,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/HelloResource.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/HelloResource.java
index 512506f..80440c0 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/HelloResource.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/HelloResource.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import org.glassfish.jersey.tests.e2e.inject.cdi.weld.subresources.MyBean;
 
 /**
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/HelloStarDecorator.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/HelloStarDecorator.java
index cbd3ad7..059e1b7 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/HelloStarDecorator.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/HelloStarDecorator.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.enterprise.inject.Any;
-import javax.inject.Inject;
+import jakarta.decorator.Decorator;
+import jakarta.decorator.Delegate;
+import jakarta.enterprise.inject.Any;
+import jakarta.inject.Inject;
 
 /**
  * Decorator wraps the hello resource by stars.
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/JaxrsService.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/JaxrsService.java
index 2847170..101c924 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/JaxrsService.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/JaxrsService.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Holder for JAX-RS information to inject them into interceptor. JAX-RS does not work in interceptor.
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/NameService.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/NameService.java
index 5205ffb..5d89196 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/NameService.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/NameService.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Service returning the name.
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Secured.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Secured.java
index f3971ea..dc68eb1 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Secured.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/Secured.java
@@ -20,7 +20,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.interceptor.InterceptorBinding;
+import jakarta.interceptor.InterceptorBinding;
 
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.TYPE;
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/SecurityInterceptor.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/SecurityInterceptor.java
index a2e3966..b6481c5 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/SecurityInterceptor.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/SecurityInterceptor.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ForbiddenException;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Inject;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptor;
-import javax.interceptor.InvocationContext;
+import jakarta.inject.Inject;
+import jakarta.interceptor.AroundInvoke;
+import jakarta.interceptor.Interceptor;
+import jakarta.interceptor.InvocationContext;
 
 /**
  * Interceptor checking James as a user in query params.
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/ApplicationCounterBean.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/ApplicationCounterBean.java
index 9835419..a1f43b5 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/ApplicationCounterBean.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/ApplicationCounterBean.java
@@ -18,7 +18,7 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Request counter.
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/RequestScopedResource.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/RequestScopedResource.java
index 1e24e8d..7757618 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/RequestScopedResource.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/RequestScopedResource.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld.scopes;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.process.internal.RequestScoped;
 
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/SingletonScopedResource.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/SingletonScopedResource.java
index ed32ad1..0c42fd6 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/SingletonScopedResource.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/scopes/SingletonScopedResource.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld.scopes;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 /**
  * Singleton Resource.
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/ModelProcessorFeature.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/ModelProcessorFeature.java
index 7eb9357..b722377 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/ModelProcessorFeature.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/ModelProcessorFeature.java
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld.subresources;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.process.internal.RequestScoped;
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/MyBean.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/MyBean.java
index 29127df..f8c0f10 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/MyBean.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/MyBean.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld.subresources;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
 import org.glassfish.jersey.tests.e2e.inject.cdi.weld.Hello;
 import org.glassfish.jersey.tests.e2e.inject.cdi.weld.NameService;
 import org.glassfish.jersey.tests.e2e.inject.cdi.weld.Secured;
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/RootResource.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/RootResource.java
index 00d4922..53de246 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/RootResource.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/RootResource.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld.subresources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("root")
 public class RootResource {
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/RootSingletonResource.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/RootSingletonResource.java
index 14b2734..72dabbb 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/RootSingletonResource.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/RootSingletonResource.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld.subresources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 @Path("root-singleton")
 @Singleton
diff --git a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/SubResourceSingleton.java b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/SubResourceSingleton.java
index aacd442..f4eeb69 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/SubResourceSingleton.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/subresources/SubResourceSingleton.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld.subresources;
 
-import javax.ws.rs.GET;
+import jakarta.ws.rs.GET;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 @Singleton
 public class SubResourceSingleton {
diff --git a/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/EventsTest.java b/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/EventsTest.java
index 987a1e6..c93a71d 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/EventsTest.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/EventsTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/InterceptorDecoratorTest.java b/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/InterceptorDecoratorTest.java
index acb29a9..f789edc 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/InterceptorDecoratorTest.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/InterceptorDecoratorTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.weld;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/RequestContextBuilder.java b/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/RequestContextBuilder.java
index 8f9c9c4..5eb8dd2 100644
--- a/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/RequestContextBuilder.java
+++ b/tests/e2e-inject/cdi-inject-weld/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/weld/RequestContextBuilder.java
@@ -27,16 +27,16 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.internal.PropertiesDelegate;
diff --git a/tests/e2e-inject/cdi2-se/pom.xml b/tests/e2e-inject/cdi2-se/pom.xml
index f2e6263..8857958 100644
--- a/tests/e2e-inject/cdi2-se/pom.xml
+++ b/tests/e2e-inject/cdi2-se/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>e2e-inject</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-inject-cdi2-se</artifactId>
@@ -32,11 +32,6 @@
 
     <description>Jersey E2E Inject CDI SE tests</description>
 
-    <properties>
-        <cdi.api.version>2.0</cdi.api.version>
-        <weld.version>${weld3.version}</weld.version>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>org.glassfish.jersey.inject</groupId>
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Account.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Account.java
index 7651449..3a35e43 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Account.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Account.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.Observes;
 
 /**
  * Keeps current state of money.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/AccountResource.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/AccountResource.java
index 5073fad..ca6c1f2 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/AccountResource.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/AccountResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.event.Event;
-import javax.inject.Inject;
+import jakarta.enterprise.event.Event;
+import jakarta.inject.Inject;
 
 /**
  * Testing resource for CDI events.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Credit.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Credit.java
index be693da..3b061f8 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Credit.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Credit.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Debit.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Debit.java
index adef1fc..272e5a9 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Debit.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Debit.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/HelloResource.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/HelloResource.java
index 9780494..5441217 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/HelloResource.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/HelloResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  * Intercepted and decorated resource.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/HelloStarDecorator.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/HelloStarDecorator.java
index cba9ebf..8ffe138 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/HelloStarDecorator.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/HelloStarDecorator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.enterprise.inject.Any;
-import javax.inject.Inject;
+import jakarta.decorator.Decorator;
+import jakarta.decorator.Delegate;
+import jakarta.enterprise.inject.Any;
+import jakarta.inject.Inject;
 
 /**
  * Decorator wraps the hello resource by stars.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/JaxrsService.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/JaxrsService.java
index 5a708be..3c3e6c2 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/JaxrsService.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/JaxrsService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Holder for JAX-RS information to inject them into interceptor. JAX-RS does not work in interceptor.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/NameService.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/NameService.java
index 6aa4555..871383a 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/NameService.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/NameService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Service returning the name.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Secured.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Secured.java
index 762ca0e..17204ca 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Secured.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/Secured.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.interceptor.InterceptorBinding;
+import jakarta.interceptor.InterceptorBinding;
 
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.TYPE;
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/SecurityInterceptor.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/SecurityInterceptor.java
index 5beae95..1345cd6 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/SecurityInterceptor.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/SecurityInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ForbiddenException;
+import jakarta.ws.rs.core.MultivaluedMap;
 
-import javax.inject.Inject;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptor;
-import javax.interceptor.InvocationContext;
+import jakarta.inject.Inject;
+import jakarta.interceptor.AroundInvoke;
+import jakarta.interceptor.Interceptor;
+import jakarta.interceptor.InvocationContext;
 
 /**
  * Interceptor checking James as a user in query params.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/ApplicationCounterBean.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/ApplicationCounterBean.java
index 2830975..f30b6ae 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/ApplicationCounterBean.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/ApplicationCounterBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Request counter.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/RequestScopedResource.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/RequestScopedResource.java
index 2d77691..6a2727e 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/RequestScopedResource.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/RequestScopedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se.scopes;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.process.internal.RequestScoped;
 
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/SingletonScopedResource.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/SingletonScopedResource.java
index 6551a1e..49141b9 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/SingletonScopedResource.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/scopes/SingletonScopedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se.scopes;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 /**
  * Singleton Resource.
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/ModelProcessorFeature.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/ModelProcessorFeature.java
index b4780ad..d4ecbe4 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/ModelProcessorFeature.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/ModelProcessorFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se.subresources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
-import javax.annotation.Priority;
-import javax.inject.Singleton;
+import jakarta.annotation.Priority;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.model.ModelProcessor;
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/RootResource.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/RootResource.java
index 3ea11db..a4db05f 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/RootResource.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/RootResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se.subresources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("root")
 public class RootResource {
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/RootSingletonResource.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/RootSingletonResource.java
index fa178d7..0c71aa4 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/RootSingletonResource.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/RootSingletonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se.subresources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 @Path("root-singleton")
 @Singleton
diff --git a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/SubResourceSingleton.java b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/SubResourceSingleton.java
index c1dbd3b..7d28d6c 100644
--- a/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/SubResourceSingleton.java
+++ b/tests/e2e-inject/cdi2-se/src/main/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/subresources/SubResourceSingleton.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se.subresources;
 
-import javax.ws.rs.GET;
+import jakarta.ws.rs.GET;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 @Singleton
 public class SubResourceSingleton {
diff --git a/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/EventsTest.java b/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/EventsTest.java
index 5834998..a1d688c 100644
--- a/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/EventsTest.java
+++ b/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/EventsTest.java
@@ -16,13 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
 
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -50,4 +51,13 @@
         assertEquals(25, current.longValue());
     }
 
+    @Override
+    @BeforeEach
+    public void setUp() throws Exception {
+        try {
+            super.setUp();
+        } catch (Throwable e) {
+            e.printStackTrace();
+        }
+    }
 }
diff --git a/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/InterceptorDecoratorTest.java b/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/InterceptorDecoratorTest.java
index fa9a281..dae02fc 100644
--- a/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/InterceptorDecoratorTest.java
+++ b/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/InterceptorDecoratorTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.inject.cdi.se;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/RequestContextBuilder.java b/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/RequestContextBuilder.java
index 65bdac5..42a04a3 100644
--- a/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/RequestContextBuilder.java
+++ b/tests/e2e-inject/cdi2-se/src/test/java/org/glassfish/jersey/tests/e2e/inject/cdi/se/RequestContextBuilder.java
@@ -27,16 +27,17 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.GenericEntity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.GenericEntity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.ext.WriterInterceptor;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.internal.PropertiesDelegate;
diff --git a/tests/e2e-inject/hk2/pom.xml b/tests/e2e-inject/hk2/pom.xml
index e78ffa8..e8f2a3c 100644
--- a/tests/e2e-inject/hk2/pom.xml
+++ b/tests/e2e-inject/hk2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>e2e-inject</artifactId>
         <groupId>org.glassfish.jersey.tests</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tests/e2e-inject/hk2/src/main/java/org/glassfish/jersey/tests/e2e/inject/hk2/AbstractBinderTestResource.java b/tests/e2e-inject/hk2/src/main/java/org/glassfish/jersey/tests/e2e/inject/hk2/AbstractBinderTestResource.java
index 0ba4223..a3ddbab 100644
--- a/tests/e2e-inject/hk2/src/main/java/org/glassfish/jersey/tests/e2e/inject/hk2/AbstractBinderTestResource.java
+++ b/tests/e2e-inject/hk2/src/main/java/org/glassfish/jersey/tests/e2e/inject/hk2/AbstractBinderTestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.inject.hk2;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
 @Path("/")
 public class AbstractBinderTestResource {
diff --git a/tests/e2e-inject/hk2/src/main/java/org/glassfish/jersey/tests/e2e/inject/hk2/InjectableTestFilter.java b/tests/e2e-inject/hk2/src/main/java/org/glassfish/jersey/tests/e2e/inject/hk2/InjectableTestFilter.java
index 28fb2c6..ce966de 100644
--- a/tests/e2e-inject/hk2/src/main/java/org/glassfish/jersey/tests/e2e/inject/hk2/InjectableTestFilter.java
+++ b/tests/e2e-inject/hk2/src/main/java/org/glassfish/jersey/tests/e2e/inject/hk2/InjectableTestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.inject.hk2;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Context;
 import java.io.IOException;
 
 public class InjectableTestFilter implements ContainerRequestFilter {
diff --git a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderClassTest.java b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderClassTest.java
index 6634e83..6cc37d0 100644
--- a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderClassTest.java
+++ b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderClassTest.java
@@ -20,8 +20,8 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Application;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.hamcrest.CoreMatchers.is;
diff --git a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderInFeaturesTest.java b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderInFeaturesTest.java
index 04ddf11..0826456 100644
--- a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderInFeaturesTest.java
+++ b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderInFeaturesTest.java
@@ -21,11 +21,11 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.hamcrest.CoreMatchers.is;
diff --git a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderInstanceTest.java b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderInstanceTest.java
index e825e47..2d9e794 100644
--- a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderInstanceTest.java
+++ b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderInstanceTest.java
@@ -20,8 +20,8 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Application;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.hamcrest.CoreMatchers.is;
diff --git a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderTest.java b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderTest.java
index f544adb..7c776a4 100644
--- a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderTest.java
+++ b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/HK2AbstractBinderTest.java
@@ -20,10 +20,10 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
diff --git a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/JerseyAbstractBinderTest.java b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/JerseyAbstractBinderTest.java
index b342ad6..90d29e5 100644
--- a/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/JerseyAbstractBinderTest.java
+++ b/tests/e2e-inject/hk2/src/test/java/org/glassfish/jersey/tests/e2e/inject/hk2/JerseyAbstractBinderTest.java
@@ -21,10 +21,10 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/tests/e2e-inject/pom.xml b/tests/e2e-inject/pom.xml
index 299a47a..3568f84 100644
--- a/tests/e2e-inject/pom.xml
+++ b/tests/e2e-inject/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-inject</artifactId>
diff --git a/tests/e2e-server/pom.xml b/tests/e2e-server/pom.xml
index 890c99f..7b4a6ee 100644
--- a/tests/e2e-server/pom.xml
+++ b/tests/e2e-server/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-server</artifactId>
@@ -94,12 +94,6 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson1</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jettison</artifactId>
             <scope>test</scope>
         </dependency>
@@ -188,6 +182,16 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.jersey.incubator</groupId>
             <artifactId>jersey-injectless-client</artifactId>
             <version>${project.version}</version>
@@ -221,24 +225,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                    <scope>test</scope>
-                </dependency>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>xdk</id>
             <properties>
                 <!-- do not use security manager for xdk -->
@@ -263,7 +249,6 @@
                 </pluginManagement>
             </build>
         </profile>
-
     </profiles>
 
 </project>
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AbstractDisableMetainfServicesLookupTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AbstractDisableMetainfServicesLookupTest.java
index 0caa21a..529b93b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AbstractDisableMetainfServicesLookupTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AbstractDisableMetainfServicesLookupTest.java
@@ -23,24 +23,24 @@
 import java.lang.reflect.Type;
 import java.util.Map;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.ServiceFinderBinder;
@@ -122,7 +122,7 @@
 
 
     /**
-     * META-INF/services/javax.ws.rs.ext.MessageBodyReader OR META-INF/services/javax.ws.rs.ext.MessageBodyWriter :
+     * META-INF/services/jakarta.ws.rs.ext.MessageBodyReader OR META-INF/services/jakarta.ws.rs.ext.MessageBodyWriter :
      * org.glassfish.jersey.tests.e2e.server.AbstractDisableMetainfServicesLookupTest$UselessMessageBodyWriter
      */
     @Produces("text/plain")
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AllInjectablesTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AllInjectablesTest.java
index 5e8d2d8..a15cde8 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AllInjectablesTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AllInjectablesTest.java
@@ -18,19 +18,19 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Providers;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.server.ExtendedUriInfo;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AmbigousResourceMethodTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AmbigousResourceMethodTest.java
index 6b0526e..97673a9 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AmbigousResourceMethodTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AmbigousResourceMethodTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AppNameBindingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AppNameBindingTest.java
index 5a3d65a..65d18b4 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AppNameBindingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AppNameBindingTest.java
@@ -20,16 +20,16 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AppNameBindingTest2.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AppNameBindingTest2.java
index c3d8087..f04ea41 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AppNameBindingTest2.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AppNameBindingTest2.java
@@ -25,21 +25,21 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ArrayParamConverterTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ArrayParamConverterTest.java
index 625dbb9..41d5b6e 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ArrayParamConverterTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ArrayParamConverterTest.java
@@ -20,12 +20,12 @@
 import java.util.Set;
 import java.util.SortedSet;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AsyncCallbackTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AsyncCallbackTest.java
index d471fba..f001b1e 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AsyncCallbackTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AsyncCallbackTest.java
@@ -22,13 +22,13 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.ConnectionCallback;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.ConnectionCallback;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ChunkedOutput;
 import org.glassfish.jersey.server.ManagedAsync;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AsyncResponseTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AsyncResponseTest.java
index e47897d..19db63b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AsyncResponseTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/AsyncResponseTest.java
@@ -28,18 +28,18 @@
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.server.ManagedAsync;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BeanParamExceptionTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BeanParamExceptionTest.java
index bb5db01..36dc947 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BeanParamExceptionTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BeanParamExceptionTest.java
@@ -19,18 +19,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
 import org.glassfish.jersey.server.ParamException;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BeanParamTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BeanParamTest.java
index bf534f5..24f7e13 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BeanParamTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BeanParamTest.java
@@ -18,23 +18,23 @@
 
 import java.util.Arrays;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BroadcasterTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BroadcasterTest.java
index cfb2c6e..d5be593 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BroadcasterTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/BroadcasterTest.java
@@ -21,11 +21,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.Broadcaster;
 import org.glassfish.jersey.server.BroadcasterListener;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ChunkedInputOutputTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ChunkedInputOutputTest.java
index 69e75a6..64c0422 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ChunkedInputOutputTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ChunkedInputOutputTest.java
@@ -26,14 +26,14 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.client.ChunkedInput;
 import org.glassfish.jersey.server.ChunkedOutput;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ClientResponseOnServerTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ClientResponseOnServerTest.java
index 09be477..957e9ad 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ClientResponseOnServerTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ClientResponseOnServerTest.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.Uri;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CloseableTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CloseableTest.java
index d222327..2e10424 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CloseableTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CloseableTest.java
@@ -21,11 +21,11 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.CloseableService;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CompletionStageTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CompletionStageTest.java
index 205a5ff..0d44ac2 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CompletionStageTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CompletionStageTest.java
@@ -16,21 +16,6 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.ServerProperties;
-import org.glassfish.jersey.test.JerseyTest;
-import org.junit.jupiter.api.Test;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.lang.annotation.Annotation;
@@ -48,6 +33,21 @@
 import java.util.function.Consumer;
 import java.util.function.Function;
 
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
+import org.junit.jupiter.api.Test;
+
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -64,8 +64,7 @@
 
     @Override
     protected Application configure() {
-        return new ResourceConfig(CompletionStageResource.class, DataBeanWriter.class)
-                .property(ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE, Boolean.TRUE);
+        return new ResourceConfig(CompletionStageResource.class, DataBeanWriter.class);
     }
 
     @Test
@@ -279,7 +278,6 @@
         @GET
         @Path("/databeanlist")
         public CompletionStage<List<DataBean>> getDataBeanList(@Context ContainerRequestContext requestContext) {
-            requestContext.setProperty(ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE, Boolean.TRUE);
             return CompletableFuture.completedFuture(Collections.singletonList(new DataBean(ENTITY)));
         }
 
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ContainerListenerRegistrationAsProvidersTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ContainerListenerRegistrationAsProvidersTest.java
index e456efa..12fe161 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ContainerListenerRegistrationAsProvidersTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ContainerListenerRegistrationAsProvidersTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ContentNegotiationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ContentNegotiationTest.java
index a145a9d..f229965 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ContentNegotiationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ContentNegotiationTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.internal.HttpUrlConnector;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomInjectablesApplicationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomInjectablesApplicationTest.java
index 8c30b30..74d05f1 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomInjectablesApplicationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomInjectablesApplicationTest.java
@@ -24,14 +24,14 @@
 import java.util.Set;
 import java.util.concurrent.Callable;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
 
-import javax.inject.Inject;
-import javax.inject.Qualifier;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Qualifier;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.inject.hk2.Hk2RequestScope;
@@ -165,7 +165,7 @@
 
     @Test
     public void testPerRequest() throws Exception {
-        final javax.ws.rs.client.WebTarget perrequest = target().path("perrequest");
+        final jakarta.ws.rs.client.WebTarget perrequest = target().path("perrequest");
 
         assertEquals("1", perrequest.request().get(String.class));
         assertEquals("1", perrequest.request().get(String.class));
@@ -174,7 +174,7 @@
 
     @Test
     public void testSingleton() throws Exception {
-        final javax.ws.rs.client.WebTarget perrequest = target().path("singleton");
+        final jakarta.ws.rs.client.WebTarget perrequest = target().path("singleton");
 
         assertEquals("1", perrequest.request().get(String.class));
         assertEquals("2", perrequest.request().get(String.class));
@@ -183,7 +183,7 @@
 
     @Test
     public void testCustomQualifier() throws Exception {
-        final javax.ws.rs.client.WebTarget perrequestCustomAnnotation = target().path("perrequestCustomQualifier");
+        final jakarta.ws.rs.client.WebTarget perrequestCustomAnnotation = target().path("perrequestCustomQualifier");
 
         assertEquals("1", perrequestCustomAnnotation.request().get(String.class));
         assertEquals("1", perrequestCustomAnnotation.request().get(String.class));
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomInjectablesResourceConfigTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomInjectablesResourceConfigTest.java
index 04429a7..3c94e70 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomInjectablesResourceConfigTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomInjectablesResourceConfigTest.java
@@ -20,14 +20,14 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
 
-import javax.inject.Inject;
-import javax.inject.Qualifier;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Qualifier;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AnnotationLiteral;
@@ -124,7 +124,7 @@
 
     @Test
     public void testPerRequest() throws Exception {
-        final javax.ws.rs.client.WebTarget perRequest = target().path("perrequest");
+        final jakarta.ws.rs.client.WebTarget perRequest = target().path("perrequest");
 
         assertEquals("1", perRequest.request().get(String.class));
         assertEquals("1", perRequest.request().get(String.class));
@@ -133,7 +133,7 @@
 
     @Test
     public void testSingleton() throws Exception {
-        final javax.ws.rs.client.WebTarget perRequest = target().path("singleton");
+        final jakarta.ws.rs.client.WebTarget perRequest = target().path("singleton");
 
         assertEquals("1", perRequest.request().get(String.class));
         assertEquals("2", perRequest.request().get(String.class));
@@ -142,7 +142,7 @@
 
     @Test
     public void testCustomAnnotation() throws Exception {
-        final javax.ws.rs.client.WebTarget perRequestCustomAnnotation = target().path("perrequestCustomQualifier");
+        final jakarta.ws.rs.client.WebTarget perRequestCustomAnnotation = target().path("perrequestCustomQualifier");
 
         assertEquals("1", perRequestCustomAnnotation.request().get(String.class));
         assertEquals("1", perRequestCustomAnnotation.request().get(String.class));
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomMultivaluedMapProviderTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomMultivaluedMapProviderTest.java
index f568687..8d59c82 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomMultivaluedMapProviderTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/CustomMultivaluedMapProviderTest.java
@@ -21,18 +21,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EncodedFormParamTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EncodedFormParamTest.java
index 62b8a6f..39bd709 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EncodedFormParamTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EncodedFormParamTest.java
@@ -18,15 +18,15 @@
 
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EncodedSlashInPathSegmentTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EncodedSlashInPathSegmentTest.java
index a15b956..792c131 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EncodedSlashInPathSegmentTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EncodedSlashInPathSegmentTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EntityExpansionTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EntityExpansionTest.java
index 99f9e43..15bfb06 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EntityExpansionTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/EntityExpansionTest.java
@@ -18,20 +18,20 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-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.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.glassfish.jersey.internal.util.SaxHelper;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionLoggingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionLoggingTest.java
index eca6d05..8629f03 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionLoggingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionLoggingTest.java
@@ -22,16 +22,16 @@
 import java.lang.reflect.Type;
 import java.util.logging.Level;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperPriorityTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperPriorityTest.java
index be84667..b8a4e08 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperPriorityTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperPriorityTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperPropagationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperPropagationTest.java
index 4516eae..a7ecf95 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperPropagationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperPropagationTest.java
@@ -23,29 +23,29 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperTest.java
index f84d80d..f7f4f68 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExceptionMapperTest.java
@@ -26,32 +26,32 @@
 import java.lang.reflect.Type;
 import java.util.List;
 
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -541,7 +541,7 @@
     }
 
     /**
-     * Tests that {@link MessageBodyProviderNotFoundException} wrapped into {@link javax.ws.rs.InternalServerErrorException}
+     * Tests that {@link MessageBodyProviderNotFoundException} wrapped into {@link jakarta.ws.rs.InternalServerErrorException}
      * is correctly mapped using an {@link ExceptionMapper}.
      */
     @Test
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExtendedExceptionMapperTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExtendedExceptionMapperTest.java
index 91347b7..6934443 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExtendedExceptionMapperTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExtendedExceptionMapperTest.java
@@ -19,13 +19,13 @@
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.internal.LocalizationMessages;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExtendedUriInfoTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExtendedUriInfoTest.java
index 8992059..09f51f7 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExtendedUriInfoTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ExtendedUriInfoTest.java
@@ -23,18 +23,18 @@
 import java.lang.annotation.Target;
 import java.util.Objects;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.server.ExtendedUriInfo;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -133,7 +133,7 @@
     public void testWebAppThrowableValue() throws Exception {
         assertThat("InternalServerErrorException expected in ExtendedUriInfo#getMappedThrowable",
                 target("mapped-throwable-test/webapp").request().get().readEntity(String.class),
-                containsString("javax.ws.rs.InternalServerErrorException"));
+                containsString("jakarta.ws.rs.InternalServerErrorException"));
     }
 
     @Test
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/FormParamMultivaluedInjectionTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/FormParamMultivaluedInjectionTest.java
index b75ca49..76195b4 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/FormParamMultivaluedInjectionTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/FormParamMultivaluedInjectionTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GlobalNameBoundInterceptorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GlobalNameBoundInterceptorTest.java
index a27caae..a3a115b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GlobalNameBoundInterceptorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GlobalNameBoundInterceptorTest.java
@@ -22,25 +22,25 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GloballyNameBoundResourceFilterTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GloballyNameBoundResourceFilterTest.java
index 8cb8403..07a5770 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GloballyNameBoundResourceFilterTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GloballyNameBoundResourceFilterTest.java
@@ -20,17 +20,17 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GrizzlyInjectionTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GrizzlyInjectionTest.java
index 1d0ac80..c598ae8 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GrizzlyInjectionTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GrizzlyInjectionTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GsonCustomTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GsonCustomTest.java
index a3bdb03..993139d 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GsonCustomTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GsonCustomTest.java
@@ -20,13 +20,13 @@
 
 import java.util.Date;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.gson.JsonGsonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GsonDefaultTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GsonDefaultTest.java
index 1414990..e22bb09 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GsonDefaultTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/GsonDefaultTest.java
@@ -18,14 +18,14 @@
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.gson.JsonGsonFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/IllegalArgumentExceptionTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/IllegalArgumentExceptionTest.java
index 555b171..a1abb1a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/IllegalArgumentExceptionTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/IllegalArgumentExceptionTest.java
@@ -19,16 +19,16 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InitializationLoggingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InitializationLoggingTest.java
index 7d6894d..1257830 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InitializationLoggingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InitializationLoggingTest.java
@@ -19,10 +19,10 @@
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.internal.LocalizationMessages;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InjectionManagerServerProviderTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InjectionManagerServerProviderTest.java
index 8ce2adb..eebfc8c 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InjectionManagerServerProviderTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InjectionManagerServerProviderTest.java
@@ -22,22 +22,22 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.InjectionManagerProvider;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InjectionTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InjectionTest.java
index 3180f17..e248404 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InjectionTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InjectionTest.java
@@ -18,20 +18,20 @@
 
 import java.util.concurrent.Executors;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InputStreamResponseTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InputStreamResponseTest.java
index 6a8476a..e7e99a9 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InputStreamResponseTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InputStreamResponseTest.java
@@ -19,11 +19,11 @@
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InterceptorHttpHeadersInjectionTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InterceptorHttpHeadersInjectionTest.java
index fd65881..09088db 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InterceptorHttpHeadersInjectionTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InterceptorHttpHeadersInjectionTest.java
@@ -18,19 +18,19 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InterceptorNameAndDynamicBindingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InterceptorNameAndDynamicBindingTest.java
index e4bc6f9..767e42a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InterceptorNameAndDynamicBindingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/InterceptorNameAndDynamicBindingTest.java
@@ -23,24 +23,24 @@
 import java.lang.annotation.RetentionPolicy;
 import java.util.regex.Pattern;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/Issue4097Test.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/Issue4097Test.java
index 2395d18..1223c0b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/Issue4097Test.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/Issue4097Test.java
@@ -18,11 +18,11 @@
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ManagedClientExecutorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ManagedClientExecutorTest.java
index 42bcb9b..b771c54 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ManagedClientExecutorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ManagedClientExecutorTest.java
@@ -35,15 +35,15 @@
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.logging.LogRecord;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/MessageBodyProvidersExceptionsTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/MessageBodyProvidersExceptionsTest.java
index ac93f34..a3194ba 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/MessageBodyProvidersExceptionsTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/MessageBodyProvidersExceptionsTest.java
@@ -18,18 +18,18 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
@@ -96,7 +96,7 @@
         assertEquals(200, response.getStatus());
         String resString = response.readEntity(String.class);
         // no MBW should have been found, InternalServerErrorException expected
-        assertEquals("javax.ws.rs.InternalServerErrorException", resString);
+        assertEquals("jakarta.ws.rs.InternalServerErrorException", resString);
     }
 
     @Test
@@ -105,6 +105,6 @@
         assertEquals(200, response.getStatus());
         String resString = response.readEntity(String.class);
         // no MBR should have been found, NotSupportedException expected
-        assertEquals("javax.ws.rs.NotSupportedException", resString);
+        assertEquals("jakarta.ws.rs.NotSupportedException", resString);
     }
 }
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/MetainfServicesLookupDisabledTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/MetainfServicesLookupDisabledTest.java
index 90a36d8..6446ff2 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/MetainfServicesLookupDisabledTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/MetainfServicesLookupDisabledTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ModelProcessorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ModelProcessorTest.java
index 6964f53..0a12b97 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ModelProcessorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ModelProcessorTest.java
@@ -21,19 +21,19 @@
 import java.util.Comparator;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.OPTIONS;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.OPTIONS;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.process.Inflector;
 import org.glassfish.jersey.server.ExtendedResourceContext;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/NameBindingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/NameBindingTest.java
index 8900a3c..e872163 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/NameBindingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/NameBindingTest.java
@@ -26,18 +26,18 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/OptionalParamConverterNoProviderTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/OptionalParamConverterNoProviderTest.java
index 2092af5..63a5d37 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/OptionalParamConverterNoProviderTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/OptionalParamConverterNoProviderTest.java
@@ -24,11 +24,11 @@
 import java.util.OptionalInt;
 import java.util.OptionalLong;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/OptionalParamConverterTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/OptionalParamConverterTest.java
index b6ceb34..c1bfab3 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/OptionalParamConverterTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/OptionalParamConverterTest.java
@@ -26,15 +26,16 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Optional;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
-import javax.ws.rs.ext.Provider;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.Provider;
+
 import org.glassfish.jersey.internal.LocalizationMessages;
 import org.glassfish.jersey.internal.inject.ExtractorException;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ParamConverterPriorityTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ParamConverterPriorityTest.java
index b335bf3..a22b546 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ParamConverterPriorityTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ParamConverterPriorityTest.java
@@ -21,15 +21,15 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ParamConverterTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ParamConverterTest.java
index ed473a9..a167116 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ParamConverterTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ParamConverterTest.java
@@ -22,23 +22,23 @@
 import java.util.Set;
 import java.util.SortedSet;
 
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PathEncodingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PathEncodingTest.java
index 1ce4171..e92d035 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PathEncodingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PathEncodingTest.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PerRequestLifecycleTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PerRequestLifecycleTest.java
index a7f99f2..a6f9baf 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PerRequestLifecycleTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PerRequestLifecycleTest.java
@@ -20,15 +20,15 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PostConstructTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PostConstructTest.java
index fe47a28..c20ca5a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PostConstructTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PostConstructTest.java
@@ -21,14 +21,14 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PrimitiveTypesTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PrimitiveTypesTest.java
index dbf0e19..43cd32a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PrimitiveTypesTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/PrimitiveTypesTest.java
@@ -21,16 +21,16 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ReloadTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ReloadTest.java
index add5544..82214a7 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ReloadTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ReloadTest.java
@@ -17,8 +17,8 @@
 package org.glassfish.jersey.tests.e2e.server;
 
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/RequestScopedAndAsyncTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/RequestScopedAndAsyncTest.java
index 6c17209..4c5ec0d 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/RequestScopedAndAsyncTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/RequestScopedAndAsyncTest.java
@@ -24,14 +24,14 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceConfigTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceConfigTest.java
index e2010e4..67d8451 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceConfigTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceConfigTest.java
@@ -18,13 +18,13 @@
 
 import java.util.Formatter;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jettison.JettisonFeature;
@@ -144,7 +144,7 @@
      * {@code ApplicationHandler}.
      * <p/>
      * Test is trying to simulate the behaviour of Jersey as if the application was deployed into a servlet container
-     * with a servlet defined in {@code web.xml} file using {@code init-param} {@code javax.ws.rs.Application}.
+     * with a servlet defined in {@code web.xml} file using {@code init-param} {@code jakarta.ws.rs.Application}.
      */
     @Test
     public void testJersey1094() throws Exception {
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceFilterTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceFilterTest.java
index abda5e7..73ef456 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceFilterTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceFilterTest.java
@@ -22,24 +22,24 @@
 import java.lang.annotation.RetentionPolicy;
 import java.security.Principal;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NameBinding;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NameBinding;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceRoutingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceRoutingTest.java
index 2642ed6..58b4dcc 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceRoutingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResourceRoutingTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResponseStatusTypeTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResponseStatusTypeTest.java
index 71c22ec..60c402b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResponseStatusTypeTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ResponseStatusTypeTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/RuntimeConfigTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/RuntimeConfigTest.java
index cba7c9b..aca077d 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/RuntimeConfigTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/RuntimeConfigTest.java
@@ -18,20 +18,20 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.InternalProperties;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ScheduledThreadPoolExecutorProviderTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ScheduledThreadPoolExecutorProviderTest.java
index 098f971..ece386b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ScheduledThreadPoolExecutorProviderTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ScheduledThreadPoolExecutorProviderTest.java
@@ -20,8 +20,8 @@
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.ThreadFactory;
 
-import javax.inject.Singleton;
-import javax.ws.rs.core.Application;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.BackgroundScheduler;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SecurityContextFilterTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SecurityContextFilterTest.java
index e5a253f..5e2a9e0 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SecurityContextFilterTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SecurityContextFilterTest.java
@@ -18,14 +18,14 @@
 
 import java.security.Principal;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ServerDestroyTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ServerDestroyTest.java
index 5df8cee..3e20517 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ServerDestroyTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/ServerDestroyTest.java
@@ -24,22 +24,22 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.annotation.PreDestroy;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonProviderTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonProviderTest.java
index 7d23289..1aa0a65 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonProviderTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonProviderTest.java
@@ -22,22 +22,22 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider;
 import org.glassfish.jersey.message.internal.ReaderWriter;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonProvidersResourcesTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonProvidersResourcesTest.java
index 97a1710..284b274 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonProvidersResourcesTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonProvidersResourcesTest.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.inject.PerLookup;
 import org.glassfish.jersey.process.Inflector;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonResourceTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonResourceTest.java
index e090462..911d733 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonResourceTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SingletonResourceTest.java
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.tests.e2e.server;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Injections;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/StreamMethodCallTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/StreamMethodCallTest.java
index da0fff6..beabf58 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/StreamMethodCallTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/StreamMethodCallTest.java
@@ -20,13 +20,13 @@
 import java.io.OutputStream;
 import java.util.zip.GZIPOutputStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SubResourceTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SubResourceTest.java
index c1f0ff3..a6e088a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SubResourceTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SubResourceTest.java
@@ -20,14 +20,14 @@
 import java.util.List;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SubjectSecurityContextTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SubjectSecurityContextTest.java
index 3cc11f4..8274194 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SubjectSecurityContextTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/SubjectSecurityContextTest.java
@@ -20,16 +20,16 @@
 import java.security.Principal;
 import java.security.PrivilegedAction;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotAcceptableException;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotAcceptableException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.SubjectSecurityContext;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/TypedVariableTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/TypedVariableTest.java
index bb8369c..8c3485b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/TypedVariableTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/TypedVariableTest.java
@@ -20,10 +20,10 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/UriBuilderTemplateTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/UriBuilderTemplateTest.java
index ba31c33..9ab321d 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/UriBuilderTemplateTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/UriBuilderTemplateTest.java
@@ -20,12 +20,12 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/WebApplicationExceptionLoggingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/WebApplicationExceptionLoggingTest.java
index 9f8b5ca..88679d5 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/WebApplicationExceptionLoggingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/WebApplicationExceptionLoggingTest.java
@@ -19,18 +19,18 @@
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.validation.ValidationException;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.ValidationException;
+import jakarta.validation.constraints.NotNull;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/PostToPutDeleteTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/PostToPutDeleteTest.java
index 4fd86fa..c7054e4 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/PostToPutDeleteTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/PostToPutDeleteTest.java
@@ -16,17 +16,17 @@
 
 package org.glassfish.jersey.tests.e2e.server.filter;
 
-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.QueryParam;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.Response;
+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.QueryParam;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.filter.HttpMethodOverrideFilter;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/RolesAllowedTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/RolesAllowedTest.java
index f55457f..d220a21 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/RolesAllowedTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/RolesAllowedTest.java
@@ -18,22 +18,22 @@
 
 import java.security.Principal;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.annotation.Priority;
-import javax.annotation.security.DenyAll;
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
+import jakarta.annotation.Priority;
+import jakarta.annotation.security.DenyAll;
+import jakarta.annotation.security.PermitAll;
+import jakarta.annotation.security.RolesAllowed;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageMediaTypeNegativeTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageMediaTypeNegativeTest.java
index dfcf48a..849f87c 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageMediaTypeNegativeTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageMediaTypeNegativeTest.java
@@ -19,15 +19,15 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageMediaTypeTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageMediaTypeTest.java
index 8e4f034..e977f1a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageMediaTypeTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageMediaTypeTest.java
@@ -21,15 +21,15 @@
 import java.util.Locale;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageTest.java
index e56bc7a..48df1b9 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegLanguageTest.java
@@ -21,14 +21,14 @@
 import java.util.Locale;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMappingFromProperty.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMappingFromProperty.java
index c80ed48..ac3b226 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMappingFromProperty.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMappingFromProperty.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.server.filter;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMappingFromStringTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMappingFromStringTest.java
index e7e0625..f93afa4 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMappingFromStringTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMappingFromStringTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.server.filter;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMediaTypeTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMediaTypeTest.java
index 18771f9..8873587 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMediaTypeTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/filter/UriConnegMediaTypeTest.java
@@ -22,14 +22,14 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/ApplicationInfoTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/ApplicationInfoTest.java
index 96d31a5..24e952a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/ApplicationInfoTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/ApplicationInfoTest.java
@@ -16,22 +16,22 @@
 
 package org.glassfish.jersey.tests.e2e.server.monitoring;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
-
-import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collection;
 import java.util.List;
+import java.util.Collection;
+import java.util.ArrayList;
 
-import javax.annotation.Priority;
-import javax.inject.Provider;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
+
+import jakarta.annotation.Priority;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
 import org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/EventListenerTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/EventListenerTest.java
index d2065e3..f10661a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/EventListenerTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/EventListenerTest.java
@@ -22,23 +22,23 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.glassfish.jersey.server.ManagedAsync;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/MBeansTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/MBeansTest.java
index 00f930c..609febc 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/MBeansTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/MBeansTest.java
@@ -18,16 +18,16 @@
 
 import java.lang.management.ManagementFactory;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanServer;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/MonitoringStatisticsLocatorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/MonitoringStatisticsLocatorTest.java
index d22e056..cfa4df6 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/MonitoringStatisticsLocatorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/MonitoringStatisticsLocatorTest.java
@@ -18,15 +18,15 @@
 
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Provider;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/ReloadApplicationEventTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/ReloadApplicationEventTest.java
index 49b952c..690777a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/ReloadApplicationEventTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/ReloadApplicationEventTest.java
@@ -18,12 +18,12 @@
 
 import java.lang.management.ManagementFactory;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 import javax.management.AttributeNotFoundException;
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanException;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/StatisticsDestroyTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/StatisticsDestroyTest.java
index 0979ebe..f47330b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/StatisticsDestroyTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/monitoring/StatisticsDestroyTest.java
@@ -21,11 +21,12 @@
 
 import java.lang.management.ManagementFactory;
 
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/BeanValidationErrorTemplateTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/BeanValidationErrorTemplateTest.java
index 781c57d..20a98a5 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/BeanValidationErrorTemplateTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/BeanValidationErrorTemplateTest.java
@@ -19,12 +19,12 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.ErrorTemplate;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/CustomViewableContextTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/CustomViewableContextTest.java
index cc4c0b3..8cf12dd 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/CustomViewableContextTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/CustomViewableContextTest.java
@@ -19,9 +19,9 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ErrorTemplateTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ErrorTemplateTest.java
index 9dc41de..68d81a4 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ErrorTemplateTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ErrorTemplateTest.java
@@ -19,11 +19,11 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.ErrorTemplate;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExceptionViewProcessorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExceptionViewProcessorTest.java
index c3c1fb2..4709bda 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExceptionViewProcessorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExceptionViewProcessorTest.java
@@ -20,16 +20,16 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExplicitProduceTemplateTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExplicitProduceTemplateTest.java
index 67e6b3c..cfacf8e 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExplicitProduceTemplateTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExplicitProduceTemplateTest.java
@@ -19,11 +19,11 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExplicitTemplateTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExplicitTemplateTest.java
index 46c79d4..a3e73cb 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExplicitTemplateTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ExplicitTemplateTest.java
@@ -19,10 +19,10 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/FlatInheritedViewProcessorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/FlatInheritedViewProcessorTest.java
index 05e4e10..83a417f 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/FlatInheritedViewProcessorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/FlatInheritedViewProcessorTest.java
@@ -20,10 +20,10 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/FlatViewProcessorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/FlatViewProcessorTest.java
index 5ba48ca..e1008e2 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/FlatViewProcessorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/FlatViewProcessorTest.java
@@ -20,15 +20,15 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitProducesViewProcessorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitProducesViewProcessorTest.java
index a90e8ee..ac1e023 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitProducesViewProcessorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitProducesViewProcessorTest.java
@@ -20,13 +20,13 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitTemplateProgrammaticTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitTemplateProgrammaticTest.java
index 91052f2..582ff46 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitTemplateProgrammaticTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitTemplateProgrammaticTest.java
@@ -20,8 +20,8 @@
 import java.lang.reflect.Method;
 import java.util.Properties;
 
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.model.Resource;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitTemplateTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitTemplateTest.java
index fb6b7f9..2f38f45 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitTemplateTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitTemplateTest.java
@@ -19,13 +19,13 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitViewWithResourceFilterTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitViewWithResourceFilterTest.java
index 0a49611..66e030f 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitViewWithResourceFilterTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ImplicitViewWithResourceFilterTest.java
@@ -21,16 +21,16 @@
 import java.util.List;
 import java.util.Properties;
 
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/InheritedViewProcessorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/InheritedViewProcessorTest.java
index 9f01f42..b19cbbf 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/InheritedViewProcessorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/InheritedViewProcessorTest.java
@@ -20,10 +20,10 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/MvcEncodingTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/MvcEncodingTest.java
index b6b1b82..febeeb1 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/MvcEncodingTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/MvcEncodingTest.java
@@ -22,12 +22,12 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.mvc.MvcFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/TemplateMethodSelectionTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/TemplateMethodSelectionTest.java
index da8dae4..dfc1ef7 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/TemplateMethodSelectionTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/TemplateMethodSelectionTest.java
@@ -19,14 +19,14 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
@@ -180,7 +180,7 @@
     /**
      * This test makes request for text/html which is preferred. The resource defines the method
      * {@link org.glassfish.jersey.tests.e2e.server.mvc.TemplateMethodSelectionTest.TemplateAnnotatedResourceMethod#getAsHTML()}
-     * which returns {@link Map} for which there is not {@link javax.ws.rs.ext.MessageBodyWriter}. The absence of the
+     * which returns {@link Map} for which there is not {@link jakarta.ws.rs.ext.MessageBodyWriter}. The absence of the
      * writer would cause that the method would not have been selected but as the {@link Template} annotation
      * is on the method, the {@link org.glassfish.jersey.server.internal.routing.MethodSelectingRouter} considers
      * it as if this would have been {@link Viewable} instead of the {@link Map}.
@@ -252,7 +252,7 @@
     }
 
     /**
-     * This test verifies that there is really no {@link javax.ws.rs.ext.MessageBodyWriter}
+     * This test verifies that there is really no {@link jakarta.ws.rs.ext.MessageBodyWriter}
      * for {@code Map<String,String>}}. text/html is requested but application/json is chosen there is no
      * MBW for {@code Map}.
      */
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ViewProcessorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ViewProcessorTest.java
index d82c18b..6db289e 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ViewProcessorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/ViewProcessorTest.java
@@ -20,16 +20,16 @@
 import java.io.InputStream;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/AbcViewProcessor.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/AbcViewProcessor.java
index 07772c6..5ff4ad1 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/AbcViewProcessor.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/AbcViewProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.server.mvc.provider;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/CustomViewableContext.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/CustomViewableContext.java
index edbd8f3..155532d 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/CustomViewableContext.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/CustomViewableContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.server.mvc.provider;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.mvc.Viewable;
 import org.glassfish.jersey.server.mvc.internal.TemplateHelper;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/DefViewProcessor.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/DefViewProcessor.java
index 06302db..778e9fb 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/DefViewProcessor.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/DefViewProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.e2e.server.mvc.provider;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/TestViewProcessor.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/TestViewProcessor.java
index 621256b..6a92d44 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/TestViewProcessor.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/provider/TestViewProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,8 +22,8 @@
 import java.net.URL;
 import java.util.Collection;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.glassfish.jersey.server.mvc.Viewable;
 import org.glassfish.jersey.server.mvc.spi.TemplateProcessor;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/spi/AbstractTemplateProcessorTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/spi/AbstractTemplateProcessorTest.java
index 589eac0..2f2c712 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/spi/AbstractTemplateProcessorTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/mvc/spi/AbstractTemplateProcessorTest.java
@@ -23,14 +23,15 @@
 import java.io.OutputStream;
 import java.io.Reader;
 
-import javax.inject.Inject;
-import javax.servlet.ServletContext;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+
+import jakarta.inject.Inject;
+import jakarta.servlet.ServletContext;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.util.collection.Value;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/InheritanceTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/InheritanceTest.java
index 43fb6fd..ddd35e0 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/InheritanceTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/InheritanceTest.java
@@ -21,14 +21,14 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/RegularExpressionsTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/RegularExpressionsTest.java
index 4df1dd3..bbd5ffa 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/RegularExpressionsTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/RegularExpressionsTest.java
@@ -20,14 +20,14 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/ResponseMediaTypeFromProvidersTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/ResponseMediaTypeFromProvidersTest.java
index c47a0b5..2a75b9d 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/ResponseMediaTypeFromProvidersTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/routing/ResponseMediaTypeFromProvidersTest.java
@@ -26,19 +26,19 @@
 import java.util.List;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/CustomFeature.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/CustomFeature.java
index 3a37268..31b67bc 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/CustomFeature.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/CustomFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.server.scanning;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.tests.e2e.server.scanning.ext.Ext1WriterInterceptor;
 import org.glassfish.jersey.tests.e2e.server.scanning.ext.Ext2WriterInterceptor;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/RankedProviderScanningTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/RankedProviderScanningTest.java
index c80bbf4..ee04238 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/RankedProviderScanningTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/RankedProviderScanningTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.server.scanning;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/Resource.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/Resource.java
index 2ecbed2..8dc5a5b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/Resource.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/Resource.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.server.scanning;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Configuration;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.tests.e2e.server.scanning.ext.Ext1WriterInterceptor;
 import org.glassfish.jersey.tests.e2e.server.scanning.ext.Ext2WriterInterceptor;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext1WriterInterceptor.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext1WriterInterceptor.java
index c7ab2ea..4366f56 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext1WriterInterceptor.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext1WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext2WriterInterceptor.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext2WriterInterceptor.java
index 2da3a23..d058ac3 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext2WriterInterceptor.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext2WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext3WriterInterceptor.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext3WriterInterceptor.java
index b01e46e..92526f7 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext3WriterInterceptor.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext3WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext4WriterInterceptor.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext4WriterInterceptor.java
index b1aca63..92ac3e1 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext4WriterInterceptor.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/scanning/ext/Ext4WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicBadSubResource.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicBadSubResource.java
index aaa9b86..02a8037 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicBadSubResource.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicBadSubResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
 
-import javax.validation.constraints.Null;
+import jakarta.validation.constraints.Null;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicResource.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicResource.java
index 90c5938..64b8b1c 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicResource.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,27 +16,27 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Null;
-import javax.validation.constraints.Size;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Null;
+import jakarta.validation.constraints.Size;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicSubResource.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicSubResource.java
index f5c0e14..d44e5ca 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicSubResource.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicSubResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,17 +16,17 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
 
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ValidateOnExecution;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ValidateOnExecution;
 
 import org.hibernate.validator.constraints.Email;
 
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicValidationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicValidationTest.java
index a948319..ed9c7b6 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicValidationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/BasicValidationTest.java
@@ -25,26 +25,26 @@
 import java.lang.reflect.Type;
 import java.util.Arrays;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.moxy.xml.MoxyXmlFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ContactBean.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ContactBean.java
index d302a5e..17613a8 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ContactBean.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ContactBean.java
@@ -18,10 +18,10 @@
 
 import java.io.Serializable;
 
-import javax.validation.constraints.Email;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomBean.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomBean.java
index fba9532..eeb0891 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomBean.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation;
 
-import javax.validation.constraints.NotNull;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.validation.constraints.NotNull;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomConfigValidationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomConfigValidationTest.java
index 80b5a3d..5f17f73 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomConfigValidationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomConfigValidationTest.java
@@ -24,25 +24,25 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ContextResolver;
 
-import javax.validation.MessageInterpolator;
-import javax.validation.ParameterNameProvider;
-import javax.validation.Path;
-import javax.validation.TraversableResolver;
-import javax.validation.Valid;
-import javax.validation.Validation;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.MessageInterpolator;
+import jakarta.validation.ParameterNameProvider;
+import jakarta.validation.Path;
+import jakarta.validation.TraversableResolver;
+import jakarta.validation.Valid;
+import jakarta.validation.Validation;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.moxy.xml.MoxyXmlFeature;
@@ -64,7 +64,7 @@
  */
 public class CustomConfigValidationTest extends JerseyTest {
 
-    @javax.ws.rs.Path("customconfigvalidation/{path: .*}")
+    @jakarta.ws.rs.Path("customconfigvalidation/{path: .*}")
     public static class CustomConfigResource {
 
         @POST
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomValidation.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomValidation.java
index 67a2d23..7b0b97a 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomValidation.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/CustomValidation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,14 +19,14 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.validation.Constraint;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-import javax.validation.Payload;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Constraint;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+import jakarta.validation.Payload;
+import jakarta.validation.constraints.NotNull;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/EntityInheritanceValidationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/EntityInheritanceValidationTest.java
index f535dc6..faba33c 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/EntityInheritanceValidationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/EntityInheritanceValidationTest.java
@@ -16,20 +16,21 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.validation.Valid;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 
 import org.glassfish.jersey.client.ClientConfig;
-import org.glassfish.jersey.jackson.JacksonFeature;
+// import org.glassfish.jersey.jackson.JacksonFeature;
+import org.glassfish.jersey.jsonb.JsonBindingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
 
@@ -154,18 +155,20 @@
     @Override
     protected Application configure() {
         return new ResourceConfig(Resource.class)
-                .register(JacksonFeature.class);
+                // .register(JacksonFeature.class);
+                .register(JsonBindingFeature.class);
     }
 
     @Override
     protected void configureClient(final ClientConfig config) {
-        config.register(JacksonFeature.class);
+        // config.register(JacksonFeature.class);
+        config.register(JsonBindingFeature.class);
     }
 
     @Test
     public void testEntityInheritance() throws Exception {
         final Entity entity = new Entity("foo", 13);
-        final Response response = target().request().post(javax.ws.rs.client.Entity.json(entity));
+        final Response response = target().request().post(jakarta.ws.rs.client.Entity.json(entity));
 
         assertThat(response.getStatus(), is(200));
         assertThat(response.readEntity(Entity.class), is(entity));
@@ -173,14 +176,14 @@
 
     @Test
     public void testEntityInheritanceBlankText() throws Exception {
-        final Response response = target().request().post(javax.ws.rs.client.Entity.json(new Entity("", 13)));
+        final Response response = target().request().post(jakarta.ws.rs.client.Entity.json(new Entity("", 13)));
 
         assertThat(response.getStatus(), is(400));
     }
 
     @Test
     public void testEntityInheritanceInvalidNumber() throws Exception {
-        final Response response = target().request().post(javax.ws.rs.client.Entity.json(new Entity("foo", 23)));
+        final Response response = target().request().post(jakarta.ws.rs.client.Entity.json(new Entity("foo", 23)));
 
         assertThat(response.getStatus(), is(400));
     }
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidation.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidation.java
index 4ebc5d7..9157595 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidation.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,10 +21,10 @@
 import java.util.Arrays;
 import java.util.List;
 
-import javax.validation.Constraint;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+import jakarta.validation.Payload;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidationResource.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidationResource.java
index ea3c896..db470a8 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidationResource.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidationResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidationTest.java
index 5acd401..a5e0c98 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/FieldPropertyValidationTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/InheritanceValidationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/InheritanceValidationTest.java
index 1dd8c4a..d1e8106 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/InheritanceValidationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/InheritanceValidationTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/MultipleParamConstraint.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/MultipleParamConstraint.java
index c17af49..52ea92f 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/MultipleParamConstraint.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/MultipleParamConstraint.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,9 +19,9 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import javax.validation.Constraint;
-import javax.validation.Payload;
-import javax.validation.constraints.Size;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
+import jakarta.validation.constraints.Size;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/NonEmptyNames.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/NonEmptyNames.java
index ff29e02..1711a31 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/NonEmptyNames.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/NonEmptyNames.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import javax.validation.Constraint;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+import jakarta.validation.Payload;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/OneContact.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/OneContact.java
index c497cb5..19b6383 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/OneContact.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/OneContact.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import javax.validation.Constraint;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-import javax.validation.Payload;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Constraint;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+import jakarta.validation.Payload;
+import jakarta.validation.constraints.NotNull;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ParamConstraint.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ParamConstraint.java
index 6dd262b..345d680 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ParamConstraint.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ParamConstraint.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import javax.validation.Constraint;
-import javax.validation.Payload;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
 
 /**
  * Valid: [a-zA-Z]+Param
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ProgrammaticValidationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ProgrammaticValidationTest.java
index 36dcd53..759a147 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ProgrammaticValidationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ProgrammaticValidationTest.java
@@ -19,11 +19,11 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.process.Inflector;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/PropertyValidationTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/PropertyValidationTest.java
index ef035ec..f8b2c9f 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/PropertyValidationTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/PropertyValidationTest.java
@@ -19,10 +19,10 @@
 import java.net.URI;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
 
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
 
 import org.glassfish.jersey.internal.MapPropertiesDelegate;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ValidationInflector.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ValidationInflector.java
index 7f7755f..fddcb62 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ValidationInflector.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/ValidationInflector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
 
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
 
 import org.glassfish.jersey.message.internal.ReaderWriter;
 import org.glassfish.jersey.process.Inflector;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/AnotherContactBean.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/AnotherContactBean.java
index d76ee5f..2d88b34 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/AnotherContactBean.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/AnotherContactBean.java
@@ -18,13 +18,13 @@
 
 import java.io.Serializable;
 
-import javax.validation.constraints.Email;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ValidateOnExecution;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ValidateOnExecution;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.tests.e2e.server.validation.Extended;
 
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionAbstractTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionAbstractTest.java
index c01ded8..d9a95e5 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionAbstractTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionAbstractTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation.validateonexecution;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionBasicTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionBasicTest.java
index cded242..995a6fb 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionBasicTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionBasicTest.java
@@ -16,21 +16,21 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation.validateonexecution;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
-import javax.validation.Valid;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ValidateOnExecution;
+import jakarta.inject.Singleton;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ValidateOnExecution;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionInheritanceGenericsTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionInheritanceGenericsTest.java
index 093a0a8..0a8a46b 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionInheritanceGenericsTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionInheritanceGenericsTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation.validateonexecution;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ValidateOnExecution;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ValidateOnExecution;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionInheritanceTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionInheritanceTest.java
index af6e1e8..e2045c7 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionInheritanceTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionInheritanceTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.server.validation.validateonexecution;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ValidateOnExecution;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ValidateOnExecution;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionOverrideTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionOverrideTest.java
index c062293..8aa3801 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionOverrideTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/validation/validateonexecution/ValidateOnExecutionOverrideTest.java
@@ -21,14 +21,14 @@
 import java.util.logging.LogRecord;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
-import javax.validation.ValidationException;
-import javax.validation.constraints.NotNull;
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ValidateOnExecution;
+import jakarta.validation.ValidationException;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ValidateOnExecution;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
@@ -40,7 +40,7 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Testing whether an {@link javax.validation.ValidationException} is raised when {@link ValidateOnExecution} is present on
+ * Testing whether an {@link jakarta.validation.ValidationException} is raised when {@link ValidateOnExecution} is present on
  * overriding/implementing method as well.
  *
  * @author Michal Gajdos
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/OverrideWadlResourceTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/OverrideWadlResourceTest.java
index 392fcfb..e147df7 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/OverrideWadlResourceTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/OverrideWadlResourceTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.server.wadl;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/ResourceExtendedFlagTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/ResourceExtendedFlagTest.java
index 37cc260..5c78ad1 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/ResourceExtendedFlagTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/ResourceExtendedFlagTest.java
@@ -22,12 +22,12 @@
 import java.util.Map;
 import java.util.Properties;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlBeanParamTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlBeanParamTest.java
index 91abb90..8790628 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlBeanParamTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlBeanParamTest.java
@@ -24,20 +24,20 @@
 import java.lang.annotation.Target;
 import java.util.Collections;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
 
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
@@ -130,26 +130,26 @@
         xp.setNamespaceContext(nsContext);
 
         final Diff diff = DiffBuilder.compare(
-                nodeAsString(
-                        xp.evaluate("//wadl:resource[@path='wadlBeanParamReference']/wadl:resource", d,
-                                XPathConstants.NODE)))
-            .withTest(
-                nodeAsString(
-                        xp.evaluate("//wadl:resource[@path='" + resource + "']/wadl:resource", d,
-                                XPathConstants.NODE))
-        ).withNamespaceContext(Collections.singletonMap("wadl", "http://wadl.dev.java.net/2009/02"))
-            /**
-             * For nodes, the comparison is based on matching {@code name} attributes while ignoring
-             * their order. For any other nodes, strict comparison (including ordering) is made.
-             * **/
-            .withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndAttributes("name")))
-            .withDifferenceEvaluator(((comparison, outcome) -> {
-                if (outcome == ComparisonResult.DIFFERENT && comparison.getType() == ComparisonType.CHILD_NODELIST_SEQUENCE) {
-                   return ComparisonResult.EQUAL;
-                }
-                return outcome;
-            }))
-            .build();
+                        nodeAsString(
+                                xp.evaluate("//wadl:resource[@path='wadlBeanParamReference']/wadl:resource", d,
+                                        XPathConstants.NODE)))
+                .withTest(
+                        nodeAsString(
+                                xp.evaluate("//wadl:resource[@path='" + resource + "']/wadl:resource", d,
+                                        XPathConstants.NODE))
+                ).withNamespaceContext(Collections.singletonMap("wadl", "http://wadl.dev.java.net/2009/02"))
+                /**
+                 * For nodes, the comparison is based on matching {@code name} attributes while ignoring
+                 * their order. For any other nodes, strict comparison (including ordering) is made.
+                 * **/
+                .withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndAttributes("name")))
+                .withDifferenceEvaluator(((comparison, outcome) -> {
+                    if (outcome == ComparisonResult.DIFFERENT && comparison.getType() == ComparisonType.CHILD_NODELIST_SEQUENCE) {
+                        return ComparisonResult.EQUAL;
+                    }
+                    return outcome;
+                }))
+                .build();
         Assertions.assertFalse(diff.hasDifferences());
     }
 
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlEmptyMediaTypeTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlEmptyMediaTypeTest.java
index 5ce3934..91ac445 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlEmptyMediaTypeTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlEmptyMediaTypeTest.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 import java.io.StringReader;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
 
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
diff --git a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlResourceTest.java b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlResourceTest.java
index 0eddec6..6c4907f 100644
--- a/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlResourceTest.java
+++ b/tests/e2e-server/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/WadlResourceTest.java
@@ -34,29 +34,29 @@
 import java.util.Properties;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-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.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+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.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.inject.Named;
+import jakarta.inject.Named;
 import javax.xml.XMLConstants;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
@@ -1268,14 +1268,14 @@
             xp.setNamespaceContext(nsContext);
 
             final Diff diff = DiffBuilder.compare(
-                    nodeAsString(
-                            xp.evaluate("//wadl:resource[@path='annotated']/wadl:resource", document,
-                                    XPathConstants.NODE)))
-                .withTest(
-                    nodeAsString(
-                            xp.evaluate("//wadl:resource[@path='not-annotated']/wadl:resource", document,
-                                    XPathConstants.NODE))
-            ).withNamespaceContext(Collections.singletonMap("wadl", "http://wadl.dev.java.net/2009/02")).build();
+                            nodeAsString(
+                                    xp.evaluate("//wadl:resource[@path='annotated']/wadl:resource", document,
+                                            XPathConstants.NODE)))
+                    .withTest(
+                            nodeAsString(
+                                    xp.evaluate("//wadl:resource[@path='not-annotated']/wadl:resource", document,
+                                            XPathConstants.NODE))
+                    ).withNamespaceContext(Collections.singletonMap("wadl", "http://wadl.dev.java.net/2009/02")).build();
             Assertions.assertFalse(diff.hasDifferences());
 
         }
diff --git a/tests/e2e-server/src/test/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader b/tests/e2e-server/src/test/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyReader
similarity index 100%
rename from tests/e2e-server/src/test/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader
rename to tests/e2e-server/src/test/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyReader
diff --git a/tests/e2e-server/src/test/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter b/tests/e2e-server/src/test/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyWriter
similarity index 100%
rename from tests/e2e-server/src/test/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter
rename to tests/e2e-server/src/test/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyWriter
diff --git a/tests/e2e-testng/pom.xml b/tests/e2e-testng/pom.xml
index dd5cedf..1a23da8 100644
--- a/tests/e2e-testng/pom.xml
+++ b/tests/e2e-testng/pom.xml
@@ -16,14 +16,15 @@
     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 
 -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-testng</artifactId>
@@ -69,6 +70,7 @@
         <dependency>
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
+            <version>${testng6.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/AbstractParallelTest.java b/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/AbstractParallelTest.java
index 64cd925..05fbf7e 100644
--- a/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/AbstractParallelTest.java
+++ b/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/AbstractParallelTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,13 +18,13 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTestNg;
diff --git a/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/ContainerPerClassTest.java b/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/ContainerPerClassTest.java
index 7cf2eb7..66ae84d 100644
--- a/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/ContainerPerClassTest.java
+++ b/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/ContainerPerClassTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTestNg;
diff --git a/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/ContainerPerMethodTest.java b/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/ContainerPerMethodTest.java
index 9b2948e..ed64b1d 100644
--- a/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/ContainerPerMethodTest.java
+++ b/tests/e2e-testng/src/test/java/org/glassfish/jersey/tests/e2e/ContainerPerMethodTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTestNg;
diff --git a/tests/e2e-tls/pom.xml b/tests/e2e-tls/pom.xml
index 5248fe4..059bade 100644
--- a/tests/e2e-tls/pom.xml
+++ b/tests/e2e-tls/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e-tls</artifactId>
diff --git a/tests/e2e-tls/src/test/java/org/glassfish/jersey/tests/e2e/tls/SniTest.java b/tests/e2e-tls/src/test/java/org/glassfish/jersey/tests/e2e/tls/SniTest.java
index 1504d44..1e8d893 100644
--- a/tests/e2e-tls/src/test/java/org/glassfish/jersey/tests/e2e/tls/SniTest.java
+++ b/tests/e2e-tls/src/test/java/org/glassfish/jersey/tests/e2e/tls/SniTest.java
@@ -30,11 +30,11 @@
 import org.junit.jupiter.params.provider.MethodSource;
 
 import javax.net.ssl.SNIServerName;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.Socket;
diff --git a/tests/e2e-tls/src/test/java/org/glassfish/jersey/tests/e2e/tls/SslContextPerRequestTest.java b/tests/e2e-tls/src/test/java/org/glassfish/jersey/tests/e2e/tls/SslContextPerRequestTest.java
index 9ae957e..944f284 100644
--- a/tests/e2e-tls/src/test/java/org/glassfish/jersey/tests/e2e/tls/SslContextPerRequestTest.java
+++ b/tests/e2e-tls/src/test/java/org/glassfish/jersey/tests/e2e/tls/SslContextPerRequestTest.java
@@ -34,17 +34,17 @@
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLParameters;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.UriBuilder;
 import java.io.InputStream;
 import java.net.URI;
 import java.security.KeyStore;
diff --git a/tests/e2e/pom.xml b/tests/e2e/pom.xml
index d8b63fd..7058aaa 100644
--- a/tests/e2e/pom.xml
+++ b/tests/e2e/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>e2e</artifactId>
@@ -42,6 +42,10 @@
                     <reuseForks>false</reuseForks>
                     <enableAssertions>false</enableAssertions>
                     <skipTests>${skip.e2e}</skipTests>
+                    <excludes>
+                        <!--TODO remove after jakartification-->
+                        <exclude>org/glassfish/jersey/tests/e2e/server/wadl/NoJAXBNoWadlTest.java</exclude>
+                    </excludes>
                 </configuration>
             </plugin>
         </plugins>
@@ -60,6 +64,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>jakarta.el</groupId>
+            <artifactId>jakarta.el-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
             <artifactId>jersey-mvc</artifactId>
             <scope>test</scope>
@@ -76,22 +85,6 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson1</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jettison</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-moxy</artifactId>
             <scope>test</scope>
         </dependency>
@@ -103,6 +96,12 @@
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
             <artifactId>jersey-bean-validation</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>jakarta.el</groupId>
+                    <artifactId>jakarta.el-api</artifactId>
+                </exclusion>
+            </exclusions>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -137,12 +136,13 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.connectors</groupId>
-            <artifactId>jersey-jetty-connector</artifactId>
+            <artifactId>jersey-jdk-connector</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.connectors</groupId>
-            <artifactId>jersey-jdk-connector</artifactId>
+            <artifactId>jersey-jetty-connector</artifactId>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -198,6 +198,35 @@
             </properties>
         </profile>
         <profile>
+            <id>JettyExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/tests/e2e/container/Jersey2462Test.java</testExclude>
+                                <testExclude>org/glassfish/jersey/tests/e2e/container/JettyEmptyHeaderParamTest.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>jdk8</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <properties>
+                <jboss.logging.version>${jboss.logging.8.version}</jboss.logging.version>
+            </properties>
+        </profile>
+        <profile>
             <id>sonar</id>
             <build>
                 <pluginManagement>
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AbortingFilterTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AbortingFilterTest.java
index 511a0f7..35566f8 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AbortingFilterTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AbortingFilterTest.java
@@ -19,19 +19,19 @@
 import java.io.IOException;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AcceptMediaTypeProviderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AcceptMediaTypeProviderTest.java
index 9bc42eb..8193805 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AcceptMediaTypeProviderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AcceptMediaTypeProviderTest.java
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 import org.glassfish.jersey.message.internal.AcceptableMediaType;
 import org.glassfish.jersey.message.internal.HttpHeaderReader;
 import org.junit.jupiter.api.Test;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AnnotationInheritanceTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AnnotationInheritanceTest.java
index 1111d79..1e43485 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AnnotationInheritanceTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/AnnotationInheritanceTest.java
@@ -21,10 +21,10 @@
 import org.glassfish.jersey.test.TestProperties;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ApplicationCachingTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ApplicationCachingTest.java
index b71b182..e9f7ef6 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ApplicationCachingTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ApplicationCachingTest.java
@@ -21,12 +21,12 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.HashMap;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CacheControlImplTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CacheControlImplTest.java
index 801147b..5ac388d 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CacheControlImplTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CacheControlImplTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.api;
 
-import javax.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.CacheControl;
 
 import org.glassfish.jersey.message.internal.CacheControlProvider;
 
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ClientInvocationTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ClientInvocationTest.java
index aa0941d..163efda 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ClientInvocationTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ClientInvocationTest.java
@@ -20,14 +20,14 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.AsyncInvoker;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.AsyncInvoker;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.GenericType;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ConstructorSelectionTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ConstructorSelectionTest.java
index 851fb64..4332468 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ConstructorSelectionTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ConstructorSelectionTest.java
@@ -21,23 +21,23 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ConsumeProduceTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ConsumeProduceTest.java
index 590a6a1..f3acf78 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ConsumeProduceTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ConsumeProduceTest.java
@@ -18,9 +18,9 @@
 
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 import org.glassfish.jersey.message.internal.MediaTypes;
 import org.junit.jupiter.api.Test;
 
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CookieImplTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CookieImplTest.java
index 234d855..1068272 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CookieImplTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/CookieImplTest.java
@@ -18,8 +18,8 @@
 
 import java.util.Map;
 
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.NewCookie;
 
 import org.glassfish.jersey.message.internal.HttpHeaderReader;
 
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/EntityTagProviderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/EntityTagProviderTest.java
index bd76e67..de7a91e 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/EntityTagProviderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/EntityTagProviderTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.api;
 
-import javax.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.EntityTag;
 
 import org.glassfish.jersey.message.internal.EntityTagProvider;
 
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ExceptionTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ExceptionTest.java
index 11c493c..b5d7e6f 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ExceptionTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ExceptionTest.java
@@ -22,33 +22,33 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ClientErrorException;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.NotAcceptableException;
-import javax.ws.rs.NotAllowedException;
-import javax.ws.rs.NotAuthorizedException;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.NotSupportedException;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.RedirectionException;
-import javax.ws.rs.ServerErrorException;
-import javax.ws.rs.ServiceUnavailableException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ClientErrorException;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.NotAcceptableException;
+import jakarta.ws.rs.NotAllowedException;
+import jakarta.ws.rs.NotAuthorizedException;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.NotSupportedException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.RedirectionException;
+import jakarta.ws.rs.ServerErrorException;
+import jakarta.ws.rs.ServiceUnavailableException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/HttpHeaderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/HttpHeaderTest.java
index 4b6227a..63305db 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/HttpHeaderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/HttpHeaderTest.java
@@ -20,7 +20,7 @@
 import java.util.Date;
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 import org.glassfish.jersey.message.internal.AcceptableLanguageTag;
 import org.glassfish.jersey.message.internal.AcceptableToken;
 import org.glassfish.jersey.message.internal.HttpDateFormat;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderAsyncTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderAsyncTest.java
index ac1d98b..874b0d0 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderAsyncTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderAsyncTest.java
@@ -27,15 +27,15 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.ManagedAsync;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderBasicTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderBasicTest.java
index 0e82a19..7d8bc6a 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderBasicTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderBasicTest.java
@@ -19,18 +19,18 @@
 import java.net.URI;
 import java.util.logging.Logger;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderFiltersTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderFiltersTest.java
index dcd66c9..498c968 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderFiltersTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderFiltersTest.java
@@ -22,28 +22,28 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 import java.io.IOException;
 import java.net.URI;
 import java.util.List;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderWithAbsolutizationDisabledTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderWithAbsolutizationDisabledTest.java
index 7b25771..8a1d4fa 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderWithAbsolutizationDisabledTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderWithAbsolutizationDisabledTest.java
@@ -19,11 +19,11 @@
 import java.net.URI;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderWithIncompatibleFlagTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderWithIncompatibleFlagTest.java
index d442b2b..67f438e 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderWithIncompatibleFlagTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/LocationHeaderWithIncompatibleFlagTest.java
@@ -19,11 +19,11 @@
 import java.net.URI;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MediaTypeProviderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MediaTypeProviderTest.java
index 17c8a9f..ad1bbda 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MediaTypeProviderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MediaTypeProviderTest.java
@@ -18,7 +18,7 @@
 
 import java.util.HashMap;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.internal.MediaTypeProvider;
 
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MessageBodyReaderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MessageBodyReaderTest.java
index 191896d..9076cae 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MessageBodyReaderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MessageBodyReaderTest.java
@@ -21,18 +21,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.message.internal.ReaderWriter;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MessageBodyWriterTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MessageBodyWriterTest.java
index 2726ec9..d3d7fa9 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MessageBodyWriterTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/MessageBodyWriterTest.java
@@ -21,23 +21,23 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.ServerErrorException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.ServerErrorException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.message.internal.MediaTypes;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/OptionsTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/OptionsTest.java
index 4614c8f..e5f5b10 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/OptionsTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/OptionsTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.api;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/QualitySourceMediaTypeProviderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/QualitySourceMediaTypeProviderTest.java
index 38466df..81dab3b 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/QualitySourceMediaTypeProviderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/QualitySourceMediaTypeProviderTest.java
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.message.internal.HttpHeaderReader;
 import org.glassfish.jersey.message.internal.QualitySourceMediaType;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResourceContextTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResourceContextTest.java
index de51c03..59356ad 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResourceContextTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResourceContextTest.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.api;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseE2ETest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseE2ETest.java
index df79b4a..6403bb7 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseE2ETest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseE2ETest.java
@@ -23,20 +23,20 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.RuntimeDelegate;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.Uri;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseIntegrationTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseIntegrationTest.java
index 43e91c2..906984a 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseIntegrationTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseIntegrationTest.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.api;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseTest.java
index 5730e4b..c9ac68c 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/ResponseTest.java
@@ -24,14 +24,14 @@
 import java.util.Locale;
 import java.util.Set;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.internal.util.PropertiesHelper;
 import org.glassfish.jersey.message.internal.HeaderUtils;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/RestrictedHeaderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/RestrictedHeaderTest.java
index 99d8dce..9a386cf 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/RestrictedHeaderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/RestrictedHeaderTest.java
@@ -18,15 +18,15 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/SourceEntityProviderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/SourceEntityProviderTest.java
index 896636a..4462c04 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/SourceEntityProviderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/SourceEntityProviderTest.java
@@ -20,15 +20,15 @@
 import java.io.IOException;
 import java.io.StringWriter;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-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.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/UnsafeCharsInUriTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/UnsafeCharsInUriTest.java
index a47f283..6b0fcda 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/UnsafeCharsInUriTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/UnsafeCharsInUriTest.java
@@ -26,11 +26,11 @@
 import java.net.URI;
 import java.nio.charset.StandardCharsets;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/VariantsTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/VariantsTest.java
index a2f7231..52d7828 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/VariantsTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/api/VariantsTest.java
@@ -20,14 +20,14 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.message.internal.MediaTypes;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/ClientTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/ClientTest.java
index 6d94f0b..e14b461 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/ClientTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/ClientTest.java
@@ -21,22 +21,22 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/ExecutorServiceProviderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/ExecutorServiceProviderTest.java
index 246ccc5..86e071b 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/ExecutorServiceProviderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/ExecutorServiceProviderTest.java
@@ -33,19 +33,19 @@
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientAsyncExecutor;
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/InterceptorCustomTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/InterceptorCustomTest.java
index ab799d9..452b344 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/InterceptorCustomTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/InterceptorCustomTest.java
@@ -21,24 +21,24 @@
 import java.io.OutputStream;
 import java.lang.annotation.Annotation;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.InterceptorContext;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.InterceptorContext;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/InterceptorGzipTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/InterceptorGzipTest.java
index 6b2d764..a2d4a66 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/InterceptorGzipTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/InterceptorGzipTest.java
@@ -26,23 +26,23 @@
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/LinkTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/LinkTest.java
index 2ba39fb..73d7fd6 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/LinkTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/LinkTest.java
@@ -19,17 +19,17 @@
 import java.net.URI;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/MessageBodyExceptionWrappingTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/MessageBodyExceptionWrappingTest.java
index 431203b..b77a6eb 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/MessageBodyExceptionWrappingTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/MessageBodyExceptionWrappingTest.java
@@ -22,18 +22,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import javax.xml.transform.stream.StreamSource;
 
@@ -44,7 +44,7 @@
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.fail;
 
-import static javax.ws.rs.client.Entity.entity;
+import static jakarta.ws.rs.client.Entity.entity;
 
 /**
  * @author Miroslav Fuksa
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HugeEntityTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HugeEntityTest.java
index a366e32..11d637e 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HugeEntityTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HugeEntityTest.java
@@ -23,15 +23,15 @@
 import java.lang.reflect.Type;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/MethodTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/MethodTest.java
index a850182..e23f058 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/MethodTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/MethodTest.java
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.e2e.client.connector;
 
-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.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+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.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.spi.ConnectorProvider;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/AutoDiscoverableTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/AutoDiscoverableTest.java
index 87fc2f6..3dea887 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/AutoDiscoverableTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/AutoDiscoverableTest.java
@@ -18,17 +18,17 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.internal.spi.AutoDiscoverable;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ConstrainedToTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ConstrainedToTest.java
index 5bb0a9d..dc608cf 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ConstrainedToTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ConstrainedToTest.java
@@ -18,17 +18,17 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ContentLengthTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ContentLengthTest.java
index 75edbb6..2050c8f 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ContentLengthTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ContentLengthTest.java
@@ -21,16 +21,16 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ContentTypeTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ContentTypeTest.java
index 39991d1..8b00695 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ContentTypeTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ContentTypeTest.java
@@ -28,30 +28,30 @@
 import java.net.URL;
 import java.util.logging.Logger;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ContainerRequest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/DetermineContentLengthTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/DetermineContentLengthTest.java
index 32f149c..521efa1 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/DetermineContentLengthTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/DetermineContentLengthTest.java
@@ -20,25 +20,25 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/EncodingTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/EncodingTest.java
index b9b899c..31add12 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/EncodingTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/EncodingTest.java
@@ -22,14 +22,14 @@
 import java.util.zip.GZIPInputStream;
 import java.util.zip.InflaterInputStream;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.filter.EncodingFilter;
 import org.glassfish.jersey.message.DeflateEncoder;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/FeatureConstraintTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/FeatureConstraintTest.java
index 7d70e12..faa32a8 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/FeatureConstraintTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/FeatureConstraintTest.java
@@ -24,16 +24,16 @@
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 import java.util.concurrent.atomic.AtomicInteger;
 
 public class FeatureConstraintTest extends JerseyTest {
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ForcedAutoDiscoverableTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ForcedAutoDiscoverableTest.java
index 967e78c..3550a1f 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ForcedAutoDiscoverableTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ForcedAutoDiscoverableTest.java
@@ -18,17 +18,17 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.ConstrainedTo;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.RuntimeType;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.ConstrainedTo;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.RuntimeType;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.CommonProperties;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/HeaderParamTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/HeaderParamTest.java
index f1772f3..fd2721a 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/HeaderParamTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/HeaderParamTest.java
@@ -21,11 +21,11 @@
 import java.net.URL;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.message.internal.ReaderWriter;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/HeaderValueExceptionTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/HeaderValueExceptionTest.java
index 614397a..fa3283d 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/HeaderValueExceptionTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/HeaderValueExceptionTest.java
@@ -19,17 +19,17 @@
 import java.io.IOException;
 import java.util.concurrent.ExecutionException;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/Hk2BinderSupportTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/Hk2BinderSupportTest.java
index eb51ff0..bcdfbc4 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/Hk2BinderSupportTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/Hk2BinderSupportTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.e2e.common;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
-import javax.inject.Inject;
-import javax.inject.Named;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/LoggingFeatureTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/LoggingFeatureTest.java
index 8b9145c..cd54930 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/LoggingFeatureTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/LoggingFeatureTest.java
@@ -27,26 +27,26 @@
 import java.util.logging.Logger;
 import java.util.regex.Pattern;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyReaderUnsupportedTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyReaderUnsupportedTest.java
index a5103ad..a4e95a6 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyReaderUnsupportedTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyReaderUnsupportedTest.java
@@ -22,18 +22,18 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.message.internal.ReaderWriter;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyWorkerInheritanceTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyWorkerInheritanceTest.java
index 9430af5..8ecbed9 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyWorkerInheritanceTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyWorkerInheritanceTest.java
@@ -22,22 +22,22 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
-import org.glassfish.jersey.jackson.JacksonFeature;
+import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
 
@@ -47,7 +47,7 @@
 /**
  * Test-case for JERSEY-1481.
  *
- * {@link JacksonFeature Jackson provider} should not take precedence over our
+ * {@link MoxyJsonFeature Moxy provider} should not take precedence over our
  * custom provider.
  *
  * @author Michal Gajdos
@@ -182,7 +182,7 @@
         return new ResourceConfig(Resource.class)
                 .register(GenericModelWriter.class)
                 .register(ModelReader.class)
-                .register(JacksonFeature.class);
+                .register(MoxyJsonFeature.class);
     }
 
     @Test
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyWriterObjectDistanceTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyWriterObjectDistanceTest.java
index 33ec4ae..0bc6524 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyWriterObjectDistanceTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/MessageBodyWriterObjectDistanceTest.java
@@ -21,15 +21,15 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/NoEntityTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/NoEntityTest.java
index 5fc0ec6..996c68e 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/NoEntityTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/NoEntityTest.java
@@ -18,15 +18,15 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/NonPublicNonStaticTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/NonPublicNonStaticTest.java
index 898fbe8..8be6c33 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/NonPublicNonStaticTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/NonPublicNonStaticTest.java
@@ -24,14 +24,14 @@
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ProvidersLegacyOrderingTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ProvidersLegacyOrderingTest.java
index a2f47da..ee9f4aa 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ProvidersLegacyOrderingTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ProvidersLegacyOrderingTest.java
@@ -23,16 +23,16 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.message.MessageProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ProvidersOrderingTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ProvidersOrderingTest.java
index e7ad1e8..6a8ae47 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ProvidersOrderingTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ProvidersOrderingTest.java
@@ -27,21 +27,21 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 import org.glassfish.jersey.message.MessageBodyWorkers;
 import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/QueryParamEncodingTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/QueryParamEncodingTest.java
index e357508..507cea3 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/QueryParamEncodingTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/QueryParamEncodingTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.e2e.common;
 
-import javax.ws.rs.Encoded;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ReaderProviderTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ReaderProviderTest.java
index 434c5be..ec76630 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ReaderProviderTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ReaderProviderTest.java
@@ -21,13 +21,13 @@
 import java.io.Reader;
 import java.io.StringReader;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/RequestScopeTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/RequestScopeTest.java
index 5aa0858..fa64b62 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/RequestScopeTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/RequestScopeTest.java
@@ -19,12 +19,12 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.DisposableSupplier;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ResponseLinksTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ResponseLinksTest.java
index b9d34c8..44d9bac 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ResponseLinksTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/ResponseLinksTest.java
@@ -19,16 +19,16 @@
 import java.net.URI;
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-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.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/UriComponentTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/UriComponentTest.java
index 526a73c..2a2c4cf 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/UriComponentTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/common/UriComponentTest.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.e2e.common;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/AbstractSlashesWithContextPathTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/AbstractSlashesWithContextPathTest.java
index d5c4168..baf765f 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/AbstractSlashesWithContextPathTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/AbstractSlashesWithContextPathTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,14 +18,14 @@
 
 import java.net.URI;
 
-import javax.ws.rs.Encoded;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ApplicationPathTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ApplicationPathTest.java
new file mode 100644
index 0000000..87ea906
--- /dev/null
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ApplicationPathTest.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.tests.e2e.container;
+
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import org.glassfish.jersey.test.grizzly.GrizzlyTestContainerFactory;
+import org.glassfish.jersey.test.inmemory.InMemoryTestContainerFactory;
+import org.glassfish.jersey.test.jdkhttp.JdkHttpServerTestContainerFactory;
+import org.glassfish.jersey.test.jetty.JettyTestContainerFactory;
+import org.glassfish.jersey.test.netty.NettyTestContainerFactory;
+import org.glassfish.jersey.test.simple.SimpleTestContainerFactory;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
+import org.glassfish.jersey.test.spi.TestHelper;
+import org.junit.jupiter.api.DynamicContainer;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Stream;
+
+import static org.glassfish.jersey.tests.e2e.container.JerseyContainerTest.listContainerFactories;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class ApplicationPathTest {
+
+    private static final List<TestContainerFactory> FACTORIES = listContainerFactories(
+            new GrizzlyTestContainerFactory(),
+            new JdkHttpServerTestContainerFactory(),
+            new NettyTestContainerFactory()
+    );
+
+    public static Stream<TestContainerFactory> parameters() {
+        return FACTORIES.stream();
+    }
+
+    @ApplicationPath("applicationpath")
+    public static class ApplicationPathTestApplication extends Application {
+        @Override
+        public Set<Class<?>> getClasses() {
+            return Collections.singleton(ApplicationPathResourceTest.class);
+        }
+    }
+
+    @Path("/resource")
+    public static class ApplicationPathResourceTest {
+        @GET
+        public String hello() {
+            return "HelloWorld!";
+        }
+    }
+
+    @TestFactory
+    public Collection<DynamicContainer> generateTests() {
+        final Collection<DynamicContainer> tests = new ArrayList<>();
+        ApplicationPathTest.parameters().forEach(testContainerFactory -> {
+            final ApplicationPathTest.ApplicationPathTemplateTest test =
+                    new ApplicationPathTest.ApplicationPathTemplateTest(testContainerFactory) {};
+            tests.add(TestHelper.toTestContainer(test, testContainerFactory.getClass().getSimpleName()));
+        });
+        return tests;
+    }
+
+    public abstract class ApplicationPathTemplateTest extends JerseyContainerTest {
+        public ApplicationPathTemplateTest(TestContainerFactory testContainerFactory) {
+            super(testContainerFactory);
+        }
+
+        @Override
+        protected Application configure() {
+            return new ApplicationPathTestApplication();
+        }
+
+
+        @Test
+        public void testApplicationPath() {
+            try (Response response = target("applicationpath").path("resource").request().get()) {
+                assertEquals(200, response.getStatus());
+                assertEquals(new ApplicationPathResourceTest().hello(), response.readEntity(String.class));
+            }
+
+            try (Response response = target("").path("resource").request().get()) {
+                assertEquals(404, response.getStatus());
+            }
+        }
+    }
+}
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/EscapedUriTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/EscapedUriTest.java
index 9ea65a1..ae22360 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/EscapedUriTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/EscapedUriTest.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.container;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.spi.TestContainerFactory;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/GrizzlySlashesWithContextPathTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/GrizzlySlashesWithContextPathTest.java
index f1323a7..e0ba263 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/GrizzlySlashesWithContextPathTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/GrizzlySlashesWithContextPathTest.java
@@ -18,9 +18,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.grizzly.GrizzlyTestContainerFactory;
 import org.glassfish.jersey.test.spi.TestContainerException;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/GzipContentEncodingTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/GzipContentEncodingTest.java
index 2a26a62..e282d39 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/GzipContentEncodingTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/GzipContentEncodingTest.java
@@ -21,16 +21,16 @@
 import java.util.Collection;
 import java.util.zip.GZIPInputStream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.message.GZipEncoder;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/HeadTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/HeadTest.java
index 87b5701..08f4bfd 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/HeadTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/HeadTest.java
@@ -24,12 +24,12 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JdkSlashesWithContextPathTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JdkSlashesWithContextPathTest.java
index 3f7c064..d0893ea 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JdkSlashesWithContextPathTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JdkSlashesWithContextPathTest.java
@@ -18,9 +18,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.jdkhttp.JdkHttpServerTestContainerFactory;
 import org.glassfish.jersey.test.spi.TestContainerException;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/Jersey2462Test.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/Jersey2462Test.java
index ff5654b..f67d538 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/Jersey2462Test.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/Jersey2462Test.java
@@ -19,19 +19,19 @@
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.DeploymentContext;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JerseyContainerTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JerseyContainerTest.java
index cf8603e..b1f5cfc 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JerseyContainerTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JerseyContainerTest.java
@@ -16,10 +16,11 @@
 
 package org.glassfish.jersey.tests.e2e.container;
 
-import java.util.Arrays;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.stream.Stream;
 
+import org.glassfish.jersey.internal.util.JdkVersion;
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.grizzly.GrizzlyTestContainerFactory;
 import org.glassfish.jersey.test.inmemory.InMemoryTestContainerFactory;
@@ -34,7 +35,7 @@
  */
 public abstract class JerseyContainerTest extends JerseyTest {
 
-    private static final List<TestContainerFactory> FACTORIES = Arrays.asList(
+    private static final List<TestContainerFactory> FACTORIES = listContainerFactories(
             new GrizzlyTestContainerFactory(),
             new InMemoryTestContainerFactory(),
             new SimpleTestContainerFactory(),
@@ -50,4 +51,16 @@
     public JerseyContainerTest(TestContainerFactory testContainerFactory) {
         super(testContainerFactory);
     }
+
+    protected static List<TestContainerFactory> listContainerFactories(TestContainerFactory... factories) {
+        final JdkVersion version = JdkVersion.getJdkVersion();
+        boolean isJDK8 = version.getMajor() == 1;
+        final List<TestContainerFactory> filtered = new LinkedList<>();
+        for (TestContainerFactory factory : factories) {
+            if (!isJDK8 || !JettyTestContainerFactory.class.isInstance(factory)) {
+                filtered.add(factory);
+            }
+        }
+        return filtered;
+    }
 }
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JettyEmptyHeaderParamTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JettyEmptyHeaderParamTest.java
index ad20f30..d2a1aed 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JettyEmptyHeaderParamTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/JettyEmptyHeaderParamTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.container;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/LeadingSlashesTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/LeadingSlashesTest.java
index d19b243..b8aaaa6 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/LeadingSlashesTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/LeadingSlashesTest.java
@@ -20,18 +20,19 @@
 import java.util.ArrayList;
 import java.util.Collection;
 
-import javax.ws.rs.Encoded;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
+import org.glassfish.jersey.test.jetty.JettyTestContainerFactory;
 import org.glassfish.jersey.test.spi.TestContainerFactory;
 import org.glassfish.jersey.test.spi.TestHelper;
 import org.junit.jupiter.api.DynamicContainer;
@@ -139,12 +140,18 @@
 
         @Test
         public void testSlashesWithBeginningEmptyPathParam() {
+            if (JettyTestContainerFactory.class.isInstance(getTestContainerFactory())) {
+                return; // since Jetty 11.0.5
+            }
             Response result = call("///test");
             assertEquals("-", result.readEntity(String.class));
         }
 
         @Test
         public void testSlashesWithBeginningEmptyPathParamWithQueryParams() {
+            if (JettyTestContainerFactory.class.isInstance(getTestContainerFactory())) {
+                return; // since Jetty 11.0.5
+            }
             URI hostPort = UriBuilder.fromUri("http://localhost/").port(getPort()).build();
             WebTarget target = client().target(hostPort).path("///testParams")
                     .queryParam("bar", "Container")
@@ -156,6 +163,9 @@
 
         @Test
         public void testEncodedQueryParams() {
+            if (JettyTestContainerFactory.class.isInstance(getTestContainerFactory())) {
+                return; // since Jetty 11.0.5
+            }
             URI hostPort = UriBuilder.fromUri("http://localhost/").port(getPort()).build();
             WebTarget target = client().target(hostPort).path("///encoded")
                     .queryParam("query", "%dummy23+a");
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/MatrixParamTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/MatrixParamTest.java
index cf39aa1..18336a2 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/MatrixParamTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/MatrixParamTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.container;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.spi.TestContainerFactory;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/QueryParamTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/QueryParamTest.java
index d642c4f..7f613f9 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/QueryParamTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/QueryParamTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.container;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.spi.TestContainerFactory;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResourceConfigApplicationPathTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResourceConfigApplicationPathTest.java
new file mode 100644
index 0000000..3c0d510
--- /dev/null
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResourceConfigApplicationPathTest.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.tests.e2e.container;
+
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
+
+public class ResourceConfigApplicationPathTest extends JerseyContainerTest {
+    public ResourceConfigApplicationPathTest(TestContainerFactory testContainerFactory) {
+        super(testContainerFactory);
+    }
+
+    @Override
+    protected Application configure() {
+
+        return new ResourceConfigApplicationPathTestResourceConfig()
+                .register(super.configure().getClasses().iterator().next());
+    }
+
+    @ApplicationPath("/applicationpath")
+    public static class ResourceConfigApplicationPathTestResourceConfig extends ResourceConfig {
+
+    }
+
+}
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterMetadataTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterMetadataTest.java
index 16fdc63..c4d166a 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterMetadataTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterMetadataTest.java
@@ -23,16 +23,16 @@
 import java.util.ArrayList;
 import java.util.Collection;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterOutputStreamTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterOutputStreamTest.java
index 017b0fa..6fa9ba1 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterOutputStreamTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterOutputStreamTest.java
@@ -25,15 +25,15 @@
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestFactory;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.ArrayList;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/TrailingSlashTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/TrailingSlashTest.java
index 3425ee3..2ba8ba3 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/TrailingSlashTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/TrailingSlashTest.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.e2e.container;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.spi.TestContainerFactory;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/AccessTokenResource.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/AccessTokenResource.java
index 849165a..8028cb9 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/AccessTokenResource.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/AccessTokenResource.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e.oauth;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
 import org.glassfish.jersey.oauth1.signature.OAuth1Secrets;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OAuth2Test.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OAuth2Test.java
index 2f4fe12..f99fea4 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OAuth2Test.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OAuth2Test.java
@@ -20,26 +20,26 @@
 import java.util.Collection;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.oauth2.ClientIdentifier;
 import org.glassfish.jersey.client.oauth2.OAuth2ClientSupport;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OAuthClientServerTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OAuthClientServerTest.java
index efdd165..f81e219 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OAuthClientServerTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OAuthClientServerTest.java
@@ -23,21 +23,21 @@
 import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.client.oauth1.AccessToken;
 import org.glassfish.jersey.client.oauth1.ConsumerCredentials;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OauthClientAuthorizationFlowTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OauthClientAuthorizationFlowTest.java
index 1f22a2c..47e973c 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OauthClientAuthorizationFlowTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/OauthClientAuthorizationFlowTest.java
@@ -19,13 +19,13 @@
 import java.lang.reflect.Field;
 import java.net.URI;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.client.oauth1.AccessToken;
 import org.glassfish.jersey.client.oauth1.ConsumerCredentials;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/PhotosResource.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/PhotosResource.java
index 131150b..1c37e76 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/PhotosResource.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/PhotosResource.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.e2e.oauth;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
 import org.glassfish.jersey.oauth1.signature.OAuth1Secrets;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/RequestTokenResource.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/RequestTokenResource.java
index 9fc2ac2..22594db 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/RequestTokenResource.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/oauth/RequestTokenResource.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.e2e.oauth;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.oauth1.signature.OAuth1Parameters;
 import org.glassfish.jersey.oauth1.signature.OAuth1Secrets;
diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/NoJAXBNoWadlTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/NoJAXBNoWadlTest.java
index 8e1c5a3..70ee14d 100644
--- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/NoJAXBNoWadlTest.java
+++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/server/wadl/NoJAXBNoWadlTest.java
@@ -27,11 +27,11 @@
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.io.ByteArrayOutputStream;
 import java.io.OutputStream;
 import java.io.PrintStream;
@@ -67,17 +67,15 @@
 
     @Test
     public void testOptionsNoWadl() {
-        final boolean shouldHaveJaxb = JdkVersion.getJdkVersion().getMajor() == 1;
-
         // Make sure the test does not have JAX-B on a classpath
-        Assertions.assertFalse(ServiceFinder.find("javax.xml.bind.JAXBContext").iterator().hasNext());
+        Assertions.assertFalse(ServiceFinder.find("jakarta.xml.bind.JAXBContext").iterator().hasNext());
 
         try (Response r = target("dummy").request(MediaTypes.WADL_TYPE).options()) {
             String headers = r.getHeaderString(HttpHeaders.ALLOW);
             Assertions.assertEquals("OPTIONS,PUT", headers);
         }
         System.out.println(readableStream.toString());
-        Assertions.assertEquals(!shouldHaveJaxb,
+        Assertions.assertTrue(
                 readableStream.toString().contains(LocalizationMessages.WADL_FEATURE_DISABLED()));
     }
 }
diff --git a/tests/e2e/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate b/tests/e2e/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
new file mode 100644
index 0000000..550198c
--- /dev/null
+++ b/tests/e2e/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
@@ -0,0 +1 @@
+org.glassfish.jersey.internal.RuntimeDelegateImpl
\ No newline at end of file
diff --git a/tests/integration/JERSEY-2988/pom.xml b/tests/integration/JERSEY-2988/pom.xml
index e47be83..ea11488 100644
--- a/tests/integration/JERSEY-2988/pom.xml
+++ b/tests/integration/JERSEY-2988/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.23-SNAPSHOT</version>
+        <version>3.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2988</artifactId>
@@ -59,14 +59,13 @@
 
         <!-- Weld -->
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
-            <version>2.0</version>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
+<!--            <version>2.0</version>-->
         </dependency>
         <dependency>
             <groupId>org.jboss.weld.servlet</groupId>
             <artifactId>weld-servlet-core</artifactId>
-            <version>${weld3.version}</version>
         </dependency>
     </dependencies>
 
diff --git a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/ContextAwareBean.java b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/ContextAwareBean.java
index 11f7e6a..9a3b6e5 100644
--- a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/ContextAwareBean.java
+++ b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/ContextAwareBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey2988;
 
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 @ApplicationScoped
 public class ContextAwareBean {
diff --git a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/FieldContextExceptionMapper.java b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/FieldContextExceptionMapper.java
index 38ddd30..8d827b1 100644
--- a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/FieldContextExceptionMapper.java
+++ b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/FieldContextExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey2988;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 @Provider
 public class FieldContextExceptionMapper implements ExceptionMapper<IllegalStateException> {
diff --git a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/SetterContextExceptionMapper.java b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/SetterContextExceptionMapper.java
index c153e9f..2843abc 100644
--- a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/SetterContextExceptionMapper.java
+++ b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/SetterContextExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey2988;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 @Provider
 public class SetterContextExceptionMapper implements ExceptionMapper<NullPointerException> {
diff --git a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/TestApplication.java b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/TestApplication.java
index 3102bfa..1382be1 100644
--- a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/TestApplication.java
+++ b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey2988;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 @ApplicationPath("/")
-public class TestApplication extends javax.ws.rs.core.Application {
+public class TestApplication extends jakarta.ws.rs.core.Application {
 
 }
diff --git a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/TestResource.java b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/TestResource.java
index 8c18fe6..da48025 100644
--- a/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/TestResource.java
+++ b/tests/integration/JERSEY-2988/src/main/java/org/glassfish/jersey/tests/integration/jersey2988/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.jersey2988;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 @Path("/test")
 public class TestResource {
diff --git a/tests/integration/JERSEY-2988/src/test/java/org/glassfish/jersey/tests/integration/jersey2988/Jersey2988ITCase.java b/tests/integration/JERSEY-2988/src/test/java/org/glassfish/jersey/tests/integration/jersey2988/Jersey2988ITCase.java
index f234a08..72e48a4 100644
--- a/tests/integration/JERSEY-2988/src/test/java/org/glassfish/jersey/tests/integration/jersey2988/Jersey2988ITCase.java
+++ b/tests/integration/JERSEY-2988/src/test/java/org/glassfish/jersey/tests/integration/jersey2988/Jersey2988ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2988;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/asm/pom.xml b/tests/integration/asm/pom.xml
index 008a97a..096e38c 100644
--- a/tests/integration/asm/pom.xml
+++ b/tests/integration/asm/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tests/integration/async-jersey-filter/pom.xml b/tests/integration/async-jersey-filter/pom.xml
index 3de93be..c9c3d4f 100644
--- a/tests/integration/async-jersey-filter/pom.xml
+++ b/tests/integration/async-jersey-filter/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>async-jersey-filter</artifactId>
@@ -49,7 +49,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>
@@ -65,7 +65,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/async/TestApplication.java b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/async/TestApplication.java
index b06cc8d..82b3706 100644
--- a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/async/TestApplication.java
+++ b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/async/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.async;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2730/TestExceptionResource.java b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2730/TestExceptionResource.java
index b2f0112..13f01a4 100644
--- a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2730/TestExceptionResource.java
+++ b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2730/TestExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.jersey2730;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.servlet.internal.ResponseWriter;
 import org.glassfish.jersey.tests.integration.jersey2730.exception.MappedException;
diff --git a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2730/exception/MappedExceptionMapper.java b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2730/exception/MappedExceptionMapper.java
index a2dd4a2..9c5b6e2 100644
--- a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2730/exception/MappedExceptionMapper.java
+++ b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2730/exception/MappedExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2730.exception;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * An exception mapper to return 432 error response when a {@link MappedException} is thrown.
diff --git a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2812/TestFilter.java b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2812/TestFilter.java
index 6a6930b..ccfe454 100644
--- a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2812/TestFilter.java
+++ b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2812/TestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,16 +21,16 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.logging.Logger;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
 
 /**
  * This servlet filter class provides a means to detect whether Jersey (in servlet filter based setup) properly freed the
- * server-side thread processing the http request to an async RESTful resource where {@link javax.ws.rs.container.AsyncResponse}
+ * server-side thread processing the http request to an async RESTful resource where {@link jakarta.ws.rs.container.AsyncResponse}
  * wasn't resumed.
  * <p/>
  * Reported as JERSEY-2812.
diff --git a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2812/TestWaitResource.java b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2812/TestWaitResource.java
index fa2c64e..e219d29 100644
--- a/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2812/TestWaitResource.java
+++ b/tests/integration/async-jersey-filter/src/main/java/org/glassfish/jersey/tests/integration/jersey2812/TestWaitResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,19 +22,19 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotAcceptableException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotAcceptableException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
 
-import javax.inject.Singleton;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.inject.Singleton;
+import jakarta.servlet.http.HttpServletRequest;
 
 /**
  * This resource provides a way to reproduce JERSEY-2818.
diff --git a/tests/integration/async-jersey-filter/src/main/webapp/WEB-INF/web.xml b/tests/integration/async-jersey-filter/src/main/webapp/WEB-INF/web.xml
index d1d166c..b813efe 100644
--- a/tests/integration/async-jersey-filter/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/async-jersey-filter/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -32,7 +32,7 @@
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <async-supported>true</async-supported>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.async.TestApplication</param-value>
         </init-param>
         <!-- let ServletContainer#doFilter(HttpServletRequest, HttpServletResponse, FilterChain, String, String, String)
diff --git a/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/async/AbstractAsyncJerseyTest.java b/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/async/AbstractAsyncJerseyTest.java
index 7a780e7..2e12e7b 100644
--- a/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/async/AbstractAsyncJerseyTest.java
+++ b/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/async/AbstractAsyncJerseyTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.async;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/jersey2730/Jersey2730ITCase.java b/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/jersey2730/Jersey2730ITCase.java
index 5c538b0..e0ff357 100644
--- a/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/jersey2730/Jersey2730ITCase.java
+++ b/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/jersey2730/Jersey2730ITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2730;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.tests.integration.async.AbstractAsyncJerseyTest;
 
diff --git a/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/jersey2812/Jersey2812ITCase.java b/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/jersey2812/Jersey2812ITCase.java
index fe17d5a..7bd2d55 100644
--- a/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/jersey2812/Jersey2812ITCase.java
+++ b/tests/integration/async-jersey-filter/src/test/java/org/glassfish/jersey/tests/integration/jersey2812/Jersey2812ITCase.java
@@ -23,12 +23,12 @@
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.core.Response;
 
-import javax.servlet.FilterChain;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.tests.integration.async.AbstractAsyncJerseyTest;
@@ -73,7 +73,7 @@
      * <p/>
      * This test prevents a regression reported in JERSEY-2812.
      * <p/>
-     * When the {@link javax.ws.rs.container.AsyncResponse} was left intact in the RESTful resource (as implemented in {@link
+     * When the {@link jakarta.ws.rs.container.AsyncResponse} was left intact in the RESTful resource (as implemented in {@link
      * TestWaitResource#waitForEvent(AsyncResponse, HttpServletRequest, String)}), the server-side Jersey thread ended up in
      * {@link org.glassfish.jersey.servlet.internal.ResponseWriter#getResponseContext()} blocked because of the resolution of http
      * response status from {@link org.glassfish.jersey.servlet.ServletContainer#doFilter(HttpServletRequest, HttpServletResponse,
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/pom.xml b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/pom.xml
index 6094f91..139ff13 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/pom.xml
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-beanvalidation-webapp</artifactId>
@@ -47,7 +47,7 @@
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
             <exclusions>
-                <!-- Remove ancient javax.el that causes problems with Hibernate -->
+                <!-- Remove ancient jakarta.el that causes problems with Hibernate -->
                 <exclusion>
                     <groupId>jakarta.el</groupId>
                     <artifactId>jakarta.el-api</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiApplication.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiApplication.java
index 5956ab2..fc33e5b 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiApplication.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,9 +19,9 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application to configure resources.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiFieldInjectedResource.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiFieldInjectedResource.java
index f355e8c..a3b4eab 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiFieldInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiFieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
-import javax.inject.Inject;
-import javax.validation.ConstraintViolationException;
-import javax.validation.constraints.NotNull;
+import jakarta.inject.Inject;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.constraints.NotNull;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 /**
  * This CDI backed resource should get validated and validation result field injected.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiOldFashionedResource.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiOldFashionedResource.java
index c27e9bc..56fea2c 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiOldFashionedResource.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiOldFashionedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.RequestScoped;
-import javax.validation.constraints.NotNull;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.validation.constraints.NotNull;
 
 /**
  * This CDI backed resource should get validated.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiParamInjectedResource.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiParamInjectedResource.java
index 0c014e1..c90a205 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiParamInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiParamInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.enterprise.context.RequestScoped;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
 
 /**
  * This CDI backed resource should get validated.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiPropertyInjectedResource.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiPropertyInjectedResource.java
index 39664ea..9f0072b 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiPropertyInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiPropertyInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,16 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptor;
-import javax.interceptor.Interceptors;
-import javax.interceptor.InvocationContext;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 /**
  * This CDI backed resource should get validated and validation result property injected.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationInterceptor.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationInterceptor.java
index fe503f0..88ab648 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationInterceptor.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationInterceptor.java
@@ -16,17 +16,16 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.ValidationException;
+
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.validation.ConstraintViolationException;
-import javax.validation.ValidationException;
-
 import org.glassfish.jersey.server.spi.ValidationInterceptor;
 import org.glassfish.jersey.server.spi.ValidationInterceptorContext;
-
 import org.jboss.weld.interceptor.util.proxy.TargetInstanceProxy;
 
 /**
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationResult.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationResult.java
index 1cabb79..86262c2 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationResult.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationResult.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.context.RequestScoped;
-import javax.validation.ConstraintViolation;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.validation.ConstraintViolation;
 
 /**
  * CDI implementation of validation result.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationResultBinder.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationResultBinder.java
index e53f1f0..639ce81 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationResultBinder.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/CdiValidationResultBinder.java
@@ -18,9 +18,9 @@
 
 import java.util.Set;
 
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Extension;
-import javax.inject.Inject;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.ext.cdi1x.internal.CdiUtil;
 import org.glassfish.jersey.ext.cdi1x.internal.GenericCdiBeanSupplier;
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2Application.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2Application.java
index 4676476..250fb2f 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2Application.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2Application.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.process.internal.RequestScoped;
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2FieldInjectedResource.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2FieldInjectedResource.java
index 8d41193..8e70a49 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2FieldInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2FieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.enterprise.inject.Vetoed;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
 
 /**
  * This one should get validated.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2OldFashionedResource.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2OldFashionedResource.java
index cad09b2..2bb1623 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2OldFashionedResource.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2OldFashionedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.inject.Vetoed;
-import javax.validation.constraints.NotNull;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.validation.constraints.NotNull;
 
 /**
  * This HK2 managed resource should get validated.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ParamInjectedResource.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ParamInjectedResource.java
index 7728903..6964a53 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ParamInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ParamInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.enterprise.inject.Vetoed;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
 
 /**
  * This HK2 managed resource should get validated and validation
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2PropertyInjectedResource.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2PropertyInjectedResource.java
index 44ce591..f47f6a8 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2PropertyInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2PropertyInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.enterprise.inject.Vetoed;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
 
 /**
  * This one should get validated.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ValidationInterceptor.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ValidationInterceptor.java
index 7b877ad..a531b9a 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ValidationInterceptor.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ValidationInterceptor.java
@@ -21,14 +21,14 @@
 import java.lang.reflect.Modifier;
 import java.util.function.Supplier;
 
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.core.Context;
 
-import javax.enterprise.inject.Vetoed;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.validation.ConstraintViolationException;
-import javax.validation.ValidationException;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
+import jakarta.validation.ConstraintViolationException;
+import jakarta.validation.ValidationException;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.spi.ValidationInterceptor;
@@ -178,7 +178,7 @@
 
     /**
      * Determines if a method is a setter for {@code javax.mvc.validation.ValidationResult}.
-     * As a CDI initializer method, it must be annotated with {@link javax.inject.Inject}.
+     * As a CDI initializer method, it must be annotated with {@link jakarta.inject.Inject}.
      *
      * @param m method to test.
      * @return outcome of test.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ValidationResult.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ValidationResult.java
index 06e39d0..2c8dc41 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ValidationResult.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/Hk2ValidationResult.java
@@ -19,8 +19,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.enterprise.inject.Vetoed;
-import javax.validation.ConstraintViolation;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.validation.ConstraintViolation;
 
 /**
  * HK2 managed validation result bean.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/NonJaxRsValidatedBean.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/NonJaxRsValidatedBean.java
index 9c26a84..9dd863a 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/NonJaxRsValidatedBean.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/NonJaxRsValidatedBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.enterprise.context.RequestScoped;
-import javax.validation.constraints.NotNull;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.validation.constraints.NotNull;
 
 /**
  * CDI bean that gets validated by Hibernate validator directly.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/ValidationResult.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/ValidationResult.java
index d84757a..c3da62d 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/ValidationResult.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/ValidationResult.java
@@ -18,7 +18,7 @@
 
 import java.util.Set;
 
-import javax.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolation;
 
 /**
  * An interface to be utilized when resource method validation issues
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/ValidationResultUtil.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/ValidationResultUtil.java
index 772a129..498f91d 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/ValidationResultUtil.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/java/org/glassfish/jersey/tests/cdi/bv/ValidationResultUtil.java
@@ -22,10 +22,9 @@
 import java.lang.reflect.Modifier;
 import java.util.Set;
 
-import javax.enterprise.inject.Vetoed;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.validation.ConstraintViolation;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.inject.Inject;
+import jakarta.validation.ConstraintViolation;
 
 /**
  * Helper class to implement support for {@code javax.mvc.validation.ValidationResult}.
@@ -43,7 +42,7 @@
 
     /**
      * Search for a {@code javax.mvc.validation.ValidationResult} field in the resource's
-     * class hierarchy. Field must be annotated with {@link javax.inject.Inject}.
+     * class hierarchy. Field must be annotated with {@link jakarta.inject.Inject}.
      *
      * @param resource resource instance.
      * @return field or {@code null} if none is found.
@@ -193,7 +192,7 @@
 
     /**
      * Determines if a method is a setter for {@code javax.mvc.validation.ValidationResult}.
-     * As a CDI initializer method, it must be annotated with {@link javax.inject.Inject}.
+     * As a CDI initializer method, it must be annotated with {@link jakarta.inject.Inject}.
      *
      * @param m method to test.
      * @return outcome of test.
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/BaseValidationTest.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/BaseValidationTest.java
index e09226f..0a1141c 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/BaseValidationTest.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/BaseValidationTest.java
@@ -18,9 +18,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/CombinedTest.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/CombinedTest.java
index 297ba27..2b04f74 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/CombinedTest.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/CombinedTest.java
@@ -20,9 +20,9 @@
 import java.net.URI;
 import java.util.Properties;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer;
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainerProvider;
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/RawCdiTest.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/RawCdiTest.java
index c01e096..dfb2340 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/RawCdiTest.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/RawCdiTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/RawHk2Test.java b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/RawHk2Test.java
index 29d0a88..1998e9a 100644
--- a/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/RawHk2Test.java
+++ b/tests/integration/cdi-integration/cdi-beanvalidation-webapp/src/test/java/org/glassfish/jersey/tests/cdi/bv/RawHk2Test.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.bv;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/cdi-integration/cdi-client-on-server/pom.xml b/tests/integration/cdi-integration/cdi-client-on-server/pom.xml
index 68a2fce..fea5a22 100644
--- a/tests/integration/cdi-integration/cdi-client-on-server/pom.xml
+++ b/tests/integration/cdi-integration/cdi-client-on-server/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-client-on-server</artifactId>
@@ -50,7 +50,7 @@
         <dependency>
             <groupId>jakarta.interceptor</groupId>
             <artifactId>jakarta.interceptor-api</artifactId>
-            <version>${javax.interceptor.version}</version>
+            <version>${jakarta.interceptor.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiClientFilter.java b/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiClientFilter.java
index 5921135..fc0c3f1 100644
--- a/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiClientFilter.java
+++ b/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiClientFilter.java
@@ -15,12 +15,12 @@
  */
 package org.glassfish.jersey.tests.cdi.client;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 @ApplicationScoped
diff --git a/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiEnabledClientOnServerResource.java b/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiEnabledClientOnServerResource.java
index 667961f..c79cceb 100644
--- a/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiEnabledClientOnServerResource.java
+++ b/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiEnabledClientOnServerResource.java
@@ -15,16 +15,16 @@
  */
 package org.glassfish.jersey.tests.cdi.client;
 
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 @RequestScoped
 @Path("/resource")
diff --git a/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiLowerPriorityClientFilter.java b/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiLowerPriorityClientFilter.java
index 81a478e..a3196f6 100644
--- a/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiLowerPriorityClientFilter.java
+++ b/tests/integration/cdi-integration/cdi-client-on-server/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiLowerPriorityClientFilter.java
@@ -15,10 +15,10 @@
  */
 package org.glassfish.jersey.tests.cdi.client;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 @ApplicationScoped
diff --git a/tests/integration/cdi-integration/cdi-client-on-server/src/test/java/org/glassfish/jersey/tests/cdi/client/BeanManagerInjectedOnClientTest.java b/tests/integration/cdi-integration/cdi-client-on-server/src/test/java/org/glassfish/jersey/tests/cdi/client/BeanManagerInjectedOnClientTest.java
index d5db6e2..f25ee90 100644
--- a/tests/integration/cdi-integration/cdi-client-on-server/src/test/java/org/glassfish/jersey/tests/cdi/client/BeanManagerInjectedOnClientTest.java
+++ b/tests/integration/cdi-integration/cdi-client-on-server/src/test/java/org/glassfish/jersey/tests/cdi/client/BeanManagerInjectedOnClientTest.java
@@ -26,8 +26,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class BeanManagerInjectedOnClientTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/cdi-client/pom.xml b/tests/integration/cdi-integration/cdi-client/pom.xml
index 9f5fc78..888bd34 100644
--- a/tests/integration/cdi-integration/cdi-client/pom.xml
+++ b/tests/integration/cdi-integration/cdi-client/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-client</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-client/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiClientFilter.java b/tests/integration/cdi-integration/cdi-client/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiClientFilter.java
index d52d303..641cf2c 100644
--- a/tests/integration/cdi-integration/cdi-client/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiClientFilter.java
+++ b/tests/integration/cdi-integration/cdi-client/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiClientFilter.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.cdi.client;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 @ApplicationScoped
diff --git a/tests/integration/cdi-integration/cdi-client/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiLowerPriorityClientFilter.java b/tests/integration/cdi-integration/cdi-client/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiLowerPriorityClientFilter.java
index 81a478e..a3196f6 100644
--- a/tests/integration/cdi-integration/cdi-client/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiLowerPriorityClientFilter.java
+++ b/tests/integration/cdi-integration/cdi-client/src/main/java/org/glassfish/jersey/tests/cdi/client/CdiLowerPriorityClientFilter.java
@@ -15,10 +15,10 @@
  */
 package org.glassfish.jersey.tests.cdi.client;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 @ApplicationScoped
diff --git a/tests/integration/cdi-integration/cdi-client/src/test/java/org/glassfish/jersey/tests/cdi/client/BeanManagerInjectedOnClientTest.java b/tests/integration/cdi-integration/cdi-client/src/test/java/org/glassfish/jersey/tests/cdi/client/BeanManagerInjectedOnClientTest.java
index fbc54ee..bec10aa 100644
--- a/tests/integration/cdi-integration/cdi-client/src/test/java/org/glassfish/jersey/tests/cdi/client/BeanManagerInjectedOnClientTest.java
+++ b/tests/integration/cdi-integration/cdi-client/src/test/java/org/glassfish/jersey/tests/cdi/client/BeanManagerInjectedOnClientTest.java
@@ -25,9 +25,9 @@
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 import java.security.AccessController;
 
 public class BeanManagerInjectedOnClientTest {
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/pom.xml b/tests/integration/cdi-integration/cdi-ejb-test-webapp/pom.xml
index 023246c..18e70af 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/pom.xml
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-ejb-test-webapp</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/BasicTimer.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/BasicTimer.java
index 1bb3725..c7b9be6 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/BasicTimer.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/BasicTimer.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
 
 /**
  * Basic timer implementation to be reused for various types of beans.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiAppScopedTimer.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiAppScopedTimer.java
index 19dd3e5..843e9de 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiAppScopedTimer.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiAppScopedTimer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Application scoped CDI bean to be injected into EJB resources.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiRequestScopedResource.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiRequestScopedResource.java
index cf152eb..e574be3 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiRequestScopedResource.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiRequestScopedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ejb.EJB;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
+import jakarta.ejb.EJB;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * Request scoped CDI bean injected with EJB timers.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiRequestScopedTimer.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiRequestScopedTimer.java
index 362f220..5c88467 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiRequestScopedTimer.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CdiRequestScopedTimer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 /**
  * Request scoped CDI timer.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbSingletonResource.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbSingletonResource.java
index ffbd70e..a069beb 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbSingletonResource.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbSingletonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ejb.Singleton;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ejb.Singleton;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * EJB singleton session bean injected with CDI timers.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbSingletonTimer.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbSingletonTimer.java
index 8077c5f..ad2020d 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbSingletonTimer.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbSingletonTimer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ejb.Singleton;
+import jakarta.ejb.Singleton;
 
 /**
  * EJB singleton timer.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatefulResource.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatefulResource.java
index c40bbcb..bf82f16 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatefulResource.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatefulResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ejb.Stateful;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ejb.Stateful;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * EJB backed JAX-RS resource injected with CDI service providers.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatelessResource.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatelessResource.java
index 656b945..e19c70a 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatelessResource.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatelessResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ejb.Stateless;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ejb.Stateless;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * EJB session bean injected with CDI service providers.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatelessTimer.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatelessTimer.java
index 7ea94a1..b54209e 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatelessTimer.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EjbStatelessTimer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ejb.Stateless;
+import jakarta.ejb.Stateless;
 
 /**
  * EJB session timer bean.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
index 8dcb555..30b3367 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * JAX-RS application to configure resources.
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiIntoEjbTest.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiIntoEjbTest.java
index 1bd4982..fb9e615 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiIntoEjbTest.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiIntoEjbTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/EjbIntoCdiTest.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/EjbIntoCdiTest.java
index fa5d737..f687f16 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/EjbIntoCdiTest.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/EjbIntoCdiTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/TestBase.java b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/TestBase.java
index 8b53ae7..1320121 100644
--- a/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/TestBase.java
+++ b/tests/integration/cdi-integration/cdi-ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/TestBase.java
@@ -20,10 +20,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/pom.xml b/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/pom.xml
index 171dbe2..4f94568 100644
--- a/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/pom.xml
+++ b/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-iface-with-non-jaxrs-impl-test-webapp</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java b/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
index ae452a3..66a5829 100644
--- a/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
+++ b/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 /**
  * JAX-RS resource class backed by CDI bean.
diff --git a/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java b/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
index c4e6553..837602a 100644
--- a/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
+++ b/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * JAX-RS application to configure resources.
diff --git a/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/EchoResourceTest.java b/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/EchoResourceTest.java
index cd6063b..202f052 100644
--- a/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/EchoResourceTest.java
+++ b/tests/integration/cdi-integration/cdi-iface-with-non-jaxrs-impl-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/EchoResourceTest.java
@@ -20,9 +20,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
diff --git a/tests/integration/cdi-integration/cdi-log-check/pom.xml b/tests/integration/cdi-integration/cdi-log-check/pom.xml
index f70f618..4733e26 100644
--- a/tests/integration/cdi-integration/cdi-log-check/pom.xml
+++ b/tests/integration/cdi-integration/cdi-log-check/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-log-check</artifactId>
@@ -50,7 +50,7 @@
         <dependency>
             <groupId>jakarta.interceptor</groupId>
             <artifactId>jakarta.interceptor-api</artifactId>
-            <version>${javax.interceptor.version}</version>
+            <version>${jakarta.interceptor.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
index 0c6e0c3..fc8a457 100644
--- a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
+++ b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("echo")
 @RequestScoped
diff --git a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/FooInterceptor.java b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/FooInterceptor.java
index 617a6e9..d71268d 100644
--- a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/FooInterceptor.java
+++ b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/FooInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.annotation.Priority;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.inject.Intercepted;
-import javax.enterprise.inject.spi.Bean;
-import javax.inject.Inject;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptor;
-import javax.interceptor.InvocationContext;
+import jakarta.annotation.Priority;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.inject.Intercepted;
+import jakarta.enterprise.inject.spi.Bean;
+import jakarta.inject.Inject;
+import jakarta.interceptor.AroundInvoke;
+import jakarta.interceptor.Interceptor;
+import jakarta.interceptor.InvocationContext;
 import java.io.Serializable;
 
 @Interceptor
diff --git a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/Fooed.java b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/Fooed.java
index c815632..923a83c 100644
--- a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/Fooed.java
+++ b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/Fooed.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.interceptor.InterceptorBinding;
+import jakarta.interceptor.InterceptorBinding;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
 import java.lang.annotation.Retention;
diff --git a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
index 3942f35..eef274d 100644
--- a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
+++ b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,14 +18,12 @@
 
 import org.glassfish.jersey.server.ServerProperties;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-@ApplicationPath("/*")
 public class MyApplication extends Application {
 
     @Override
diff --git a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/WarningClass.java b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/WarningClass.java
index 7dcc12e..5d86e7a 100644
--- a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/WarningClass.java
+++ b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/WarningClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,7 +15,7 @@
  */
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 @ApplicationScoped
 public class WarningClass implements ClassBean {
diff --git a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/WarningResource.java b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/WarningResource.java
index 2c736e9..004b614 100644
--- a/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/WarningResource.java
+++ b/tests/integration/cdi-integration/cdi-log-check/src/main/java/org/glassfish/jersey/tests/cdi/resources/WarningResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,10 +15,10 @@
  */
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("warning")
 @RequestScoped
diff --git a/tests/integration/cdi-integration/cdi-log-check/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiComponentProviderWarningTest.java b/tests/integration/cdi-integration/cdi-log-check/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiComponentProviderWarningTest.java
index 4f46007..e2de3ea 100644
--- a/tests/integration/cdi-integration/cdi-log-check/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiComponentProviderWarningTest.java
+++ b/tests/integration/cdi-integration/cdi-log-check/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiComponentProviderWarningTest.java
@@ -28,7 +28,7 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/pom.xml b/tests/integration/cdi-integration/cdi-manually-bound/pom.xml
index 0340902..29405b1 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/pom.xml
+++ b/tests/integration/cdi-integration/cdi-manually-bound/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>cdi-integration-project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -67,6 +67,10 @@
             <artifactId>jersey-weld2-se</artifactId>
             <exclusions>
                 <exclusion>
+                    <groupId>jakarta.enterprise</groupId>
+                    <artifactId>jakarta.enterprise.cdi-api</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>org.jboss.weld.se</groupId>
                     <artifactId>weld-se-core</artifactId>
                 </exclusion>
@@ -74,7 +78,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-
-
 </project>
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/CdiServiceExtension.java b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/CdiServiceExtension.java
index efb064e..b1fd9ac 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/CdiServiceExtension.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/CdiServiceExtension.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.manuallybound;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.Extension;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
+import jakarta.enterprise.inject.spi.Extension;
 import java.io.IOException;
 
 public class CdiServiceExtension implements Extension {
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2Binder.java b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2Binder.java
index b473398..e66dd03 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2Binder.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2Binder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 public class HK2Binder extends AbstractBinder {
     @Override
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2InjectedFilter.java b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2InjectedFilter.java
index ddb4fd0..b3ac769 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2InjectedFilter.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2InjectedFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,20 +16,16 @@
 
 package org.glassfish.jersey.tests.cdi.manuallybound;
 
-import javax.inject.Inject;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Configuration;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 import java.io.IOException;
 
 public class HK2InjectedFilter implements ContainerResponseFilter {
     @Inject
     HK2Service service;
 
-    @Inject
-    Configuration configuration;
-
     @Override
     public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
         final StringBuilder stringBuilder = new StringBuilder();
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2ServiceExtension.java b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2ServiceExtension.java
index 4a1f43b..e9b61dd 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2ServiceExtension.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2ServiceExtension.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.manuallybound;
 
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.literal.InjectLiteral;
-import javax.enterprise.inject.spi.AfterTypeDiscovery;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.configurator.AnnotatedTypeConfigurator;
+import jakarta.enterprise.event.Observes;
+import jakarta.enterprise.inject.literal.InjectLiteral;
+import jakarta.enterprise.inject.spi.AfterTypeDiscovery;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
+import jakarta.enterprise.inject.spi.configurator.AnnotatedTypeConfigurator;
 
 /*
  * Replaces bean-discovery-mode="annotated" + @ApplicationScoped on HK2InjectedFilter
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/Hk2CustomTypesProvider.java b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/Hk2CustomTypesProvider.java
index 846d776..f6f6493 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/Hk2CustomTypesProvider.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/Hk2CustomTypesProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import org.glassfish.jersey.ext.cdi1x.spi.Hk2CustomBoundTypesProvider;
 
-import javax.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Configuration;
 import java.lang.reflect.Type;
 import java.util.HashSet;
 import java.util.Set;
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/NoBeanDefiningAnnotationContainerFilter.java b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/NoBeanDefiningAnnotationContainerFilter.java
index 4f700ce..c052645 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/NoBeanDefiningAnnotationContainerFilter.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/NoBeanDefiningAnnotationContainerFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.manuallybound;
 
-import javax.inject.Inject;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 import java.io.IOException;
 import java.util.Collections;
 
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/Resource.java b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/Resource.java
index ffec9fa..227cf3f 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/Resource.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/main/java/org/glassfish/jersey/tests/cdi/manuallybound/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.manuallybound;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("/")
 public class Resource {
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/tests/integration/cdi-integration/cdi-manually-bound/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from tests/integration/cdi-integration/cdi-manually-bound/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to tests/integration/cdi-integration/cdi-manually-bound/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/test/java/org/glassfish/jersey/tests/cdi/manuallybound/CdiServiceInjectTest.java b/tests/integration/cdi-integration/cdi-manually-bound/src/test/java/org/glassfish/jersey/tests/cdi/manuallybound/CdiServiceInjectTest.java
index 56d91aa..29e4d77 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/test/java/org/glassfish/jersey/tests/cdi/manuallybound/CdiServiceInjectTest.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/test/java/org/glassfish/jersey/tests/cdi/manuallybound/CdiServiceInjectTest.java
@@ -27,8 +27,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class CdiServiceInjectTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/cdi-manually-bound/src/test/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2ServiceInjectTest.java b/tests/integration/cdi-integration/cdi-manually-bound/src/test/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2ServiceInjectTest.java
index 50edb62..9d0039f 100644
--- a/tests/integration/cdi-integration/cdi-manually-bound/src/test/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2ServiceInjectTest.java
+++ b/tests/integration/cdi-integration/cdi-manually-bound/src/test/java/org/glassfish/jersey/tests/cdi/manuallybound/HK2ServiceInjectTest.java
@@ -27,8 +27,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class HK2ServiceInjectTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/cdi-multimodule/ear/pom.xml b/tests/integration/cdi-integration/cdi-multimodule/ear/pom.xml
index 6898ee6..e49c77f 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/ear/pom.xml
+++ b/tests/integration/cdi-integration/cdi-multimodule/ear/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/cdi-integration/cdi-multimodule/lib/pom.xml b/tests/integration/cdi-integration/cdi-multimodule/lib/pom.xml
index b832205..2b4c741 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/lib/pom.xml
+++ b/tests/integration/cdi-integration/cdi-multimodule/lib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/cdi-integration/cdi-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/lib/JaxRsInjectedDependentBean.java b/tests/integration/cdi-integration/cdi-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/lib/JaxRsInjectedDependentBean.java
index 5268a53..e86afc3 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/lib/JaxRsInjectedDependentBean.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/lib/JaxRsInjectedDependentBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.cdi.lib;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * CDI managed bean, that gets JAX-RS injected. This bean is being consumed
diff --git a/tests/integration/cdi-integration/cdi-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/lib/JaxRsInjectedRequestScopedBean.java b/tests/integration/cdi-integration/cdi-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/lib/JaxRsInjectedRequestScopedBean.java
index 3397e89..bafc39a 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/lib/JaxRsInjectedRequestScopedBean.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/lib/JaxRsInjectedRequestScopedBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.cdi.lib;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * CDI managed bean, that gets JAX-RS injected. This bean is being consumed
diff --git a/tests/integration/cdi-integration/cdi-multimodule/pom.xml b/tests/integration/cdi-integration/cdi-multimodule/pom.xml
index 9daa8aa..034d712 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/pom.xml
+++ b/tests/integration/cdi-integration/cdi-multimodule/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-multimodule</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war1/pom.xml b/tests/integration/cdi-integration/cdi-multimodule/war1/pom.xml
index 37fe30c..6ae2e7f 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war1/pom.xml
+++ b/tests/integration/cdi-integration/cdi-multimodule/war1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/AppScopedJaxRsResource.java b/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/AppScopedJaxRsResource.java
index 01d014f..4d5bb80 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/AppScopedJaxRsResource.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/AppScopedJaxRsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.cdi.web1;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.tests.integration.multimodule.cdi.lib.JaxRsInjectedDependentBean;
 import org.glassfish.jersey.tests.integration.multimodule.cdi.lib.JaxRsInjectedRequestScopedBean;
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/JaxRsApp.java b/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/JaxRsApp.java
index 7e4795a..4c8498e 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/JaxRsApp.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/JaxRsApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * JAX-RS application resource configuration.
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/RequestScopedJaxRsResource.java b/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/RequestScopedJaxRsResource.java
index 4b9916b..9c571a4 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/RequestScopedJaxRsResource.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/RequestScopedJaxRsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.cdi.web1;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.tests.integration.multimodule.cdi.lib.JaxRsInjectedDependentBean;
 import org.glassfish.jersey.tests.integration.multimodule.cdi.lib.JaxRsInjectedRequestScopedBean;
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war1/src/test/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/JaxRsCdiIntegrationTest.java b/tests/integration/cdi-integration/cdi-multimodule/war1/src/test/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/JaxRsCdiIntegrationTest.java
index 758be57..7e677bc 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war1/src/test/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/JaxRsCdiIntegrationTest.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war1/src/test/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web1/JaxRsCdiIntegrationTest.java
@@ -18,9 +18,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war2/pom.xml b/tests/integration/cdi-integration/cdi-multimodule/war2/pom.xml
index 7a7d5e7..0cc877d 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war2/pom.xml
+++ b/tests/integration/cdi-integration/cdi-multimodule/war2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsAppOne.java b/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsAppOne.java
index 333f83e..ef0e180 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsAppOne.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsAppOne.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * First JAX-RS application resource configuration.
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsAppTwo.java b/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsAppTwo.java
index 676416a..8c2a4ff 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsAppTwo.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsAppTwo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * Second JAX-RS application resource configuration.
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/SharedAppScopedJaxRsResource.java b/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/SharedAppScopedJaxRsResource.java
index 392ab38..17cd4f5 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/SharedAppScopedJaxRsResource.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/SharedAppScopedJaxRsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.cdi.web2;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.tests.integration.multimodule.cdi.lib.JaxRsInjectedDependentBean;
 import org.glassfish.jersey.tests.integration.multimodule.cdi.lib.JaxRsInjectedRequestScopedBean;
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/SharedRequestScopedJaxRsResource.java b/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/SharedRequestScopedJaxRsResource.java
index 4e5f686..d5e7d00 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/SharedRequestScopedJaxRsResource.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/SharedRequestScopedJaxRsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.cdi.web2;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 import org.glassfish.jersey.tests.integration.multimodule.cdi.lib.JaxRsInjectedDependentBean;
 import org.glassfish.jersey.tests.integration.multimodule.cdi.lib.JaxRsInjectedRequestScopedBean;
diff --git a/tests/integration/cdi-integration/cdi-multimodule/war2/src/test/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsCdiIntegrationTest.java b/tests/integration/cdi-integration/cdi-multimodule/war2/src/test/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsCdiIntegrationTest.java
index bc093b1..2068931 100644
--- a/tests/integration/cdi-integration/cdi-multimodule/war2/src/test/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsCdiIntegrationTest.java
+++ b/tests/integration/cdi-integration/cdi-multimodule/war2/src/test/java/org/glassfish/jersey/tests/integration/multimodule/cdi/web2/JaxRsCdiIntegrationTest.java
@@ -18,8 +18,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/cdi-integration/cdi-multipart-webapp/pom.xml b/tests/integration/cdi-integration/cdi-multipart-webapp/pom.xml
index db567cd..948f201 100644
--- a/tests/integration/cdi-integration/cdi-multipart-webapp/pom.xml
+++ b/tests/integration/cdi-integration/cdi-multipart-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-multipart-webapp</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-multipart-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java b/tests/integration/cdi-integration/cdi-multipart-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
index c0331ba..2eaa879 100644
--- a/tests/integration/cdi-integration/cdi-multipart-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
+++ b/tests/integration/cdi-integration/cdi-multipart-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 import org.glassfish.jersey.media.multipart.FormDataParam;
 
 
diff --git a/tests/integration/cdi-integration/cdi-multipart-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java b/tests/integration/cdi-integration/cdi-multipart-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
index 22a752f..24589a3 100644
--- a/tests/integration/cdi-integration/cdi-multipart-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
+++ b/tests/integration/cdi-integration/cdi-multipart-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 import org.glassfish.jersey.media.multipart.MultiPartFeature;
 
diff --git a/tests/integration/cdi-integration/cdi-multipart-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MultipartFeatureTest.java b/tests/integration/cdi-integration/cdi-multipart-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MultipartFeatureTest.java
index ac40505..983debe 100644
--- a/tests/integration/cdi-integration/cdi-multipart-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MultipartFeatureTest.java
+++ b/tests/integration/cdi-integration/cdi-multipart-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MultipartFeatureTest.java
@@ -19,12 +19,12 @@
 import java.net.URI;
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.media.multipart.FormDataMultiPart;
diff --git a/tests/integration/cdi-integration/cdi-resource-with-at-context/pom.xml b/tests/integration/cdi-integration/cdi-resource-with-at-context/pom.xml
index 161685d..a1e6263 100644
--- a/tests/integration/cdi-integration/cdi-resource-with-at-context/pom.xml
+++ b/tests/integration/cdi-integration/cdi-resource-with-at-context/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -44,15 +44,14 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
-            <version>2.0</version>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -87,4 +86,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/tests/integration/cdi-integration/cdi-resource-with-at-context/src/main/java/org/glassfish/jersey/tests/cdi/resourceatcontext/ResourceWithConstructor.java b/tests/integration/cdi-integration/cdi-resource-with-at-context/src/main/java/org/glassfish/jersey/tests/cdi/resourceatcontext/ResourceWithConstructor.java
index 609b998..ead1dcf 100644
--- a/tests/integration/cdi-integration/cdi-resource-with-at-context/src/main/java/org/glassfish/jersey/tests/cdi/resourceatcontext/ResourceWithConstructor.java
+++ b/tests/integration/cdi-integration/cdi-resource-with-at-context/src/main/java/org/glassfish/jersey/tests/cdi/resourceatcontext/ResourceWithConstructor.java
@@ -15,12 +15,12 @@
  */
 package org.glassfish.jersey.tests.cdi.resourceatcontext;
 
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
 
 @Path("/")
 public class ResourceWithConstructor {
diff --git a/tests/integration/cdi-integration/cdi-resource-with-at-context/src/test/java/org/glassfish/jersey/tests/cdi/resourceatcontext/ResourceWithConstructorTest.java b/tests/integration/cdi-integration/cdi-resource-with-at-context/src/test/java/org/glassfish/jersey/tests/cdi/resourceatcontext/ResourceWithConstructorTest.java
index b09db54..1f846f3 100644
--- a/tests/integration/cdi-integration/cdi-resource-with-at-context/src/test/java/org/glassfish/jersey/tests/cdi/resourceatcontext/ResourceWithConstructorTest.java
+++ b/tests/integration/cdi-integration/cdi-resource-with-at-context/src/test/java/org/glassfish/jersey/tests/cdi/resourceatcontext/ResourceWithConstructorTest.java
@@ -32,14 +32,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class ResourceWithConstructorTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/cdi-singleton/pom.xml b/tests/integration/cdi-integration/cdi-singleton/pom.xml
index 6d00f9b..7e44430 100644
--- a/tests/integration/cdi-integration/cdi-singleton/pom.xml
+++ b/tests/integration/cdi-integration/cdi-singleton/pom.xml
@@ -23,11 +23,11 @@
     <parent>
         <artifactId>cdi-integration-project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>cdi-sigleton</artifactId>
+    <artifactId>cdi-singleton</artifactId>
 
     <dependencies>
         <dependency>
@@ -41,7 +41,6 @@
         <dependency>
             <groupId>jakarta.enterprise</groupId>
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
-            <version>2.0.2</version>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.ext.cdi</groupId>
@@ -68,10 +67,6 @@
             <artifactId>jersey-weld2-se</artifactId>
             <exclusions>
                 <exclusion>
-                    <groupId>javax.enterprise</groupId>
-                    <artifactId>cdi-api</artifactId>
-                </exclusion>
-                <exclusion>
                     <groupId>org.jboss.weld.se</groupId>
                     <artifactId>weld-se-core</artifactId>
                 </exclusion>
diff --git a/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonResource.java b/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonResource.java
index 2f95a80..46f5e28 100644
--- a/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonResource.java
+++ b/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonResource.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.cdi.singleton;
 
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("/")
 @Singleton
diff --git a/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestApp.java b/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestApp.java
index 59aa774..3578328 100644
--- a/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestApp.java
+++ b/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestApp.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.singleton;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 import java.util.HashSet;
 import java.util.Set;
 
diff --git a/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestContainerRequestFilter.java b/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestContainerRequestFilter.java
index 34a1f2c..68f7a63 100644
--- a/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestContainerRequestFilter.java
+++ b/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestContainerRequestFilter.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.cdi.singleton;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Context;
 import java.io.IOException;
 
 public class SingletonTestContainerRequestFilter implements ContainerRequestFilter {
diff --git a/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestContainerResponseFilter.java b/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestContainerResponseFilter.java
index 6e853d3..a76c64f 100644
--- a/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestContainerResponseFilter.java
+++ b/tests/integration/cdi-integration/cdi-singleton/src/main/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTestContainerResponseFilter.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.singleton;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Context;
 import java.io.IOException;
 
 public class SingletonTestContainerResponseFilter implements ContainerResponseFilter {
diff --git a/tests/integration/cdi-integration/cdi-singleton/src/test/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTest.java b/tests/integration/cdi-integration/cdi-singleton/src/test/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTest.java
index 90dae9f..8e39986 100644
--- a/tests/integration/cdi-integration/cdi-singleton/src/test/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTest.java
+++ b/tests/integration/cdi-integration/cdi-singleton/src/test/java/org/glassfish/jersey/tests/cdi/singleton/SingletonTest.java
@@ -26,8 +26,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class SingletonTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/pom.xml b/tests/integration/cdi-integration/cdi-test-webapp/pom.xml
index 986df43..c37a1e6 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/pom.xml
+++ b/tests/integration/cdi-integration/cdi-test-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-test-webapp</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ConstructorInjectedResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ConstructorInjectedResource.java
index 59dd46c..cd8e53c 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ConstructorInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ConstructorInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,17 +16,17 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
 /**
  * JERSEY-2526 reproducer. CDI managed JAX-RS root resource
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CounterResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CounterResource.java
index 06239ff..d96de69 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CounterResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CounterResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * Part of JERSEY-2461 reproducer. This one will get injected with a CDI extension.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CustomCdiProducer.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CustomCdiProducer.java
index 79edb6a..e0b08b4 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CustomCdiProducer.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CustomCdiProducer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,7 +21,7 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.inject.Produces;
 
 /**
  * CDI producer to help us make sure HK2 do not mess up with
@@ -36,7 +36,7 @@
      */
     @Retention(RetentionPolicy.RUNTIME)
     @Target({ElementType.PARAMETER, ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
-    @javax.inject.Qualifier
+    @jakarta.inject.Qualifier
     public static @interface Qualifier {
     }
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CustomExtension.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CustomExtension.java
index 7bf09f2..84de1b3 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CustomExtension.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/CustomExtension.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,7 +17,7 @@
 package org.glassfish.jersey.tests.cdi.resources;
 
 import java.util.concurrent.atomic.AtomicInteger;
-import javax.enterprise.inject.spi.Extension;
+import jakarta.enterprise.inject.spi.Extension;
 
 /**
  * Part of JERSEY-2461 reproducer. We need an extension that we could inject,
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
index 1f0ceca..7cd4201 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Simple echo service to test injections using {@link Qualifier}.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/FieldProducedBean.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/FieldProducedBean.java
index db9b00b..b5535a1 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/FieldProducedBean.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/FieldProducedBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 /**
  * A bean that would be produced by a CDI producer field.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/FirstNonJaxRsBeanInjectedResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/FirstNonJaxRsBeanInjectedResource.java
index 50b0856..34cf607 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/FirstNonJaxRsBeanInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/FirstNonJaxRsBeanInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * JAX-RS resource that gets injected with a CDI managed bean,
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentExceptionMapper.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentExceptionMapper.java
index e6d1ee6..ba09eed 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentExceptionMapper.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,15 +19,15 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.PostConstruct;
 
 /**
  * JAX-RS exception mapper registered as a CDI managed bean.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentPerRequestResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentPerRequestResource.java
index 9626616..5982a79 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentPerRequestResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentPerRequestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,19 +18,19 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.Resource;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.enterprise.context.RequestScoped;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.Resource;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
+import jakarta.enterprise.context.RequestScoped;
 
 
 /**
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentResource.java
index 7547cc5..cd80345 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test case for JERSEY-1747.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentSingletonResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentSingletonResource.java
index d7e9bb0..7cdc02f 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentSingletonResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanDependentSingletonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,20 +18,20 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.ManagedBean;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.annotation.Resource;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.annotation.ManagedBean;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
+import jakarta.annotation.Resource;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Application scoped JAX-RS resource registered as CDI managed bean.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanExceptionMapper.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanExceptionMapper.java
index 66a6756..7e8885b 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanExceptionMapper.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanExceptionMapper.java
@@ -18,15 +18,15 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.annotation.PostConstruct;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * JAX-RS exception mapper registered as CDI managed bean.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanPerRequestResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanPerRequestResource.java
index 38a6054..e2caf79 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanPerRequestResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanPerRequestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,17 +18,17 @@
 
 import java.util.logging.Logger;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.annotation.Resource;
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
+import jakarta.annotation.Resource;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Request scoped JAX-RS resource registered.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanRequestScopedTimer.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanRequestScopedTimer.java
index 9b8a21d..7dc36fc 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanRequestScopedTimer.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanRequestScopedTimer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.RequestScoped;
+import jakarta.annotation.PostConstruct;
+import jakarta.enterprise.context.RequestScoped;
 
 /**
  * Request scoped CDI bean to be injected into {@link JCDIBeanDependentResource}.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanSingletonResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanSingletonResource.java
index 27cd7c4..fef3732 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanSingletonResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JCDIBeanSingletonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,21 +18,21 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.annotation.Resource;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
+import jakarta.annotation.Resource;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 /**
  * Application scoped JAX-RS resource.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JaxRsInjectedBean.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JaxRsInjectedBean.java
index 54c5376..85312e0 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JaxRsInjectedBean.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/JaxRsInjectedBean.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * This is to be JAX-RS injected at runtime.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MainApplication.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MainApplication.java
index aa38055..deff079 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MainApplication.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MainApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,16 +22,15 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.Logger;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application to configure resources.
@@ -39,7 +38,6 @@
  * @author Jonathan Benoit
  * @author Patrik Dudits
  */
-@ApplicationPath("main")
 @ApplicationScoped
 public class MainApplication extends Application {
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MethodProducedBean.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MethodProducedBean.java
index 1ad53e7..0dc38dd 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MethodProducedBean.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MethodProducedBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.Vetoed;
 
 /**
  * A bean that would be produced by a CDI producer method.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ProducerResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ProducerResource.java
index 9482e50..1066f64 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ProducerResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ProducerResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * This one will get injected with a CDI producer.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ResponseFilter.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ResponseFilter.java
index 6acfd36..428a997 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ResponseFilter.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ResponseFilter.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -15,9 +16,9 @@
  */
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
 import java.io.IOException;
 import java.util.UUID;
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/Reversing.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/Reversing.java
index 9ffe455..51fdfbf 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/Reversing.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/Reversing.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Qualifier for reversing echo service.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ReversingEchoResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ReversingEchoResource.java
index cac4c3c..a99c86f 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ReversingEchoResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/ReversingEchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
 
 /**
  * CDI backed JAX-RS resource to reverse input query parameter using
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/SecondNonJaxRsBeanInjectedResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/SecondNonJaxRsBeanInjectedResource.java
index 892307e..df81d5a 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/SecondNonJaxRsBeanInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/SecondNonJaxRsBeanInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * JAX-RS resource that gets injected with a CDI managed bean,
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/SecondaryApplication.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/SecondaryApplication.java
index 5b0d909..c5161ee 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/SecondaryApplication.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/SecondaryApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,16 +18,8 @@
 
 import java.util.HashSet;
 import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Logger;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Secondary JAX-RS application to configure resources.
@@ -37,7 +29,6 @@
  *
  * @author Jakub Podlesak
  */
-@ApplicationPath("secondary")
 @ApplicationScoped
 public class SecondaryApplication extends Application {
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/Stuttering.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/Stuttering.java
index 90d5b5a..63b4a65 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/Stuttering.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/Stuttering.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Qualifier for stuttering echo service.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/StutteringEcho.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/StutteringEcho.java
index 448132e..2535baf 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/StutteringEcho.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/StutteringEcho.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 /**
  * Echo implementation to stutter given input n-times.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/StutteringEchoResource.java b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/StutteringEchoResource.java
index 1a140ed..7a26608 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/StutteringEchoResource.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/StutteringEchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 /**
  * CDI backed JAX-RS resource to stutter input query parameter.
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/tests/integration/cdi-integration/cdi-test-webapp/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
similarity index 100%
rename from tests/integration/cdi-integration/cdi-test-webapp/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
rename to tests/integration/cdi-integration/cdi-test-webapp/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiComponentProviderTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiComponentProviderTest.java
index c84644d..8fdd9be 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiComponentProviderTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiComponentProviderTest.java
@@ -24,12 +24,12 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.enterprise.inject.Vetoed;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.CDI;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.enterprise.inject.Vetoed;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.inject.spi.CDI;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 import java.util.Collections;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
index 30011f1..d4523ad 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
@@ -18,8 +18,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ConstructorInjectionTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ConstructorInjectionTest.java
index 442d6cc..fe0edde 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ConstructorInjectionTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ConstructorInjectionTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import org.junit.jupiter.api.Test;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CounterTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CounterTest.java
index c7e40ac..392d639 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CounterTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CounterTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/JaxRsInjectedCdiBeanTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/JaxRsInjectedCdiBeanTest.java
index a4bfcb7..b00475c 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/JaxRsInjectedCdiBeanTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/JaxRsInjectedCdiBeanTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/NonJaxRsBeanJaxRsInjectionTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/NonJaxRsBeanJaxRsInjectionTest.java
index 69ea214..3d577f4 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/NonJaxRsBeanJaxRsInjectionTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/NonJaxRsBeanJaxRsInjectionTest.java
@@ -20,9 +20,9 @@
 import java.net.URI;
 import java.util.Properties;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer;
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainerProvider;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/PerRequestBeanTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/PerRequestBeanTest.java
index 607d339..6865a66 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/PerRequestBeanTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/PerRequestBeanTest.java
@@ -20,8 +20,8 @@
 import java.util.List;
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/PerRequestDependentBeanTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/PerRequestDependentBeanTest.java
index 49d4e24..4954859 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/PerRequestDependentBeanTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/PerRequestDependentBeanTest.java
@@ -18,7 +18,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ProducerTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ProducerTest.java
index ad06deb..ed9dc7e 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ProducerTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ProducerTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/QualifiedInjectionSetGetTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/QualifiedInjectionSetGetTest.java
index 2a2b8e2..04570fb 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/QualifiedInjectionSetGetTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/QualifiedInjectionSetGetTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.inject.Qualifier;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.inject.Qualifier;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ReverseEchoTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ReverseEchoTest.java
index 5adf08f..4f57650 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ReverseEchoTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ReverseEchoTest.java
@@ -18,7 +18,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SecondJaxRsInjectedCdiBeanTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SecondJaxRsInjectedCdiBeanTest.java
index e416d07..7d33b41 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SecondJaxRsInjectedCdiBeanTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SecondJaxRsInjectedCdiBeanTest.java
@@ -18,10 +18,10 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SingletonBeanTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SingletonBeanTest.java
index 9e1e4f9..045d742 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SingletonBeanTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SingletonBeanTest.java
@@ -18,8 +18,8 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SingletonDependentBeanTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SingletonDependentBeanTest.java
index 126ce4d..19a7033 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SingletonDependentBeanTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/SingletonDependentBeanTest.java
@@ -18,8 +18,8 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
 
diff --git a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/TimerTest.java b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/TimerTest.java
index ec1b822..fa7dcb2 100644
--- a/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/TimerTest.java
+++ b/tests/integration/cdi-integration/cdi-test-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/TimerTest.java
@@ -18,8 +18,8 @@
 
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/pom.xml b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/pom.xml
index 4746781..174cf6a 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/pom.xml
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-with-jersey-injection-custom-cfg-webapp</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
index ef40213..6bb675e 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 
 /**
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
index 62a932d..2f402ce 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
index dda6c10..bf1827a 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
index 6e156cd..e45f445 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Qualifier for application specific echo service.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
index 2ba1f04..4c3c3c5 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Simple echo service to test injections using {@link Qualifier}.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
index 9329160..bffe949 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
index 2356b4a..4d14c4d 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
index f87610f..7985b5e 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
index 037f5a5..ab0783c 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Qualifier for request specific echo service.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
index a3763ff..c4c88ad 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
index 0c35ea2..48b3204 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
@@ -20,8 +20,8 @@
 import java.util.List;
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
index c372fe8..2c027f6 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
@@ -18,8 +18,8 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
index e27e71e..a4e063f 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-cfg-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
@@ -18,7 +18,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/pom.xml b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/pom.xml
index eba0ded..2914f99 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/pom.xml
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-with-jersey-injection-custom-hk2-banned-webapp</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
index ef40213..6bb675e 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 
 /**
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
index 1e0a529..a3a3629 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
index 06f5160..dfd7150 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
index 6e156cd..e45f445 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Qualifier for application specific echo service.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
index 2ba1f04..4c3c3c5 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Simple echo service to test injections using {@link Qualifier}.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
index fafc0db..8528aaa 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
index 37f1758..fbbec98 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
index 7363977..94bddba 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
index 037f5a5..ab0783c 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Qualifier for request specific echo service.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
index 411b1d1..426ed9d 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
@@ -18,8 +18,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
index 6c7faa0..11a1e9f 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
@@ -21,8 +21,8 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.spi.TestHelper;
 import org.junit.jupiter.api.DynamicContainer;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
index 878aec1..a5c23fb 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
@@ -20,8 +20,8 @@
 import java.util.Arrays;
 import java.util.Collection;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.spi.TestHelper;
 import org.junit.jupiter.api.DynamicContainer;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
index 52a64e3..7de2ba6 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-custom-hk2-banned-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
@@ -20,7 +20,7 @@
 import java.util.Arrays;
 import java.util.Collection;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.test.spi.TestHelper;
 import org.junit.jupiter.api.DynamicContainer;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/pom.xml b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/pom.xml
index ccab070..f5be881 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/pom.xml
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>cdi-with-jersey-injection-webapp</artifactId>
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
index ef40213..6bb675e 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppEcho.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 
 /**
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
index 442ee42..7a86314 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedCtorInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
index 76a49a7..d5628d5 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppScopedFieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
index 6e156cd..e45f445 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/AppSpecific.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Qualifier for application specific echo service.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
index 2ba1f04..4c3c3c5 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/EchoService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Simple echo service to test injections using {@link Qualifier}.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
index 238edb2..901ecd6 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
index 76ab792..9dbc7c1 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedCtorInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
index 9b20728..439d633 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestScopedFieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
-import javax.inject.Provider;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.monitoring.MonitoringStatistics;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
index 037f5a5..ab0783c 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/main/java/org/glassfish/jersey/tests/cdi/resources/RequestSpecific.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import javax.inject.Qualifier;
+import jakarta.inject.Qualifier;
 
 /**
  * Qualifier for request specific echo service.
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
index 45bc068..f4c3152 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
index 2225702..51dd698 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/CustomInjectionTest.java
@@ -18,8 +18,8 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
index 8eb9726..556f343 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/ExceptionMappersTest.java
@@ -18,8 +18,8 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
index 0835dfa..6271fa3 100644
--- a/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
+++ b/tests/integration/cdi-integration/cdi-with-jersey-injection-webapp/src/test/java/org/glassfish/jersey/tests/cdi/resources/MonitoringTest.java
@@ -18,7 +18,7 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/tests/integration/cdi-integration/context-inject-on-server/pom.xml b/tests/integration/cdi-integration/context-inject-on-server/pom.xml
index 13b6e82..85b8d7f 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/pom.xml
+++ b/tests/integration/cdi-integration/context-inject-on-server/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>context-inject-on-server</artifactId>
@@ -49,7 +49,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ApplicationInjectParent.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ApplicationInjectParent.java
index 4f44123..398b13c 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ApplicationInjectParent.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ApplicationInjectParent.java
@@ -19,25 +19,25 @@
 import org.glassfish.jersey.internal.PropertiesDelegate;
 import org.glassfish.jersey.servlet.WebConfig;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Providers;
+import jakarta.annotation.PostConstruct;
+import jakarta.inject.Inject;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Providers;
 import java.lang.reflect.Field;
 import java.util.Iterator;
 import java.util.LinkedHashSet;
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/InjectionChecker.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/InjectionChecker.java
index 938599f..2d18f7c 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/InjectionChecker.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/InjectionChecker.java
@@ -21,24 +21,24 @@
 import org.glassfish.jersey.servlet.ServletContainer;
 import org.glassfish.jersey.servlet.WebConfig;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.ParamConverterProvider;
-import javax.ws.rs.ext.Providers;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.Providers;
 import java.lang.annotation.Annotation;
 import java.util.Iterator;
 
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/NonScopedApplicationInject.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/NonScopedApplicationInject.java
index 8d78b90..ca97ed2 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/NonScopedApplicationInject.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/NonScopedApplicationInject.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
 import java.util.Collections;
 import java.util.Set;
 
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/NonScopedResource.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/NonScopedResource.java
index fcc8661..a387b39 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/NonScopedResource.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/NonScopedResource.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
 
 
 @Path(InjectionChecker.ROOT + "/nonscope")
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentContainerRequestFilter.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentContainerRequestFilter.java
index 75a8ccb..7995347 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentContainerRequestFilter.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentContainerRequestFilter.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 public interface ParentContainerRequestFilter extends ParentChecker, ContainerRequestFilter {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentContainerResponseFilter.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentContainerResponseFilter.java
index 47a9afc..7e9c596 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentContainerResponseFilter.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentContainerResponseFilter.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 public interface ParentContainerResponseFilter extends ParentChecker, ContainerResponseFilter {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentExceptionMapper.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentExceptionMapper.java
index 283f990..e9e7f14 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentExceptionMapper.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentExceptionMapper.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 public class ParentExceptionMapper extends RequestScopedParentInject implements ExceptionMapper<IllegalArgumentException> {
 
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentInject.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentInject.java
index e4daf19..05bd1da 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentInject.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentInject.java
@@ -19,21 +19,21 @@
 import org.glassfish.jersey.internal.PropertiesDelegate;
 import org.glassfish.jersey.servlet.WebConfig;
 
-import javax.inject.Inject;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Providers;
+import jakarta.inject.Inject;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Providers;
 
 public class ParentInject implements ParentChecker {
     @Context
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentResource.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentResource.java
index 9fd1b97..a1c5640 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentResource.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentResource.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 
 public class ParentResource extends RequestScopedParentInject {
 
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentWriterInterceptor.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentWriterInterceptor.java
index a58d092..fbad503 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentWriterInterceptor.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ParentWriterInterceptor.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 import java.io.IOException;
 import java.net.URI;
 
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/PropertySettingFilter.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/PropertySettingFilter.java
index aede0b1..f871e23 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/PropertySettingFilter.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/PropertySettingFilter.java
@@ -18,10 +18,10 @@
 
 import org.glassfish.jersey.internal.PropertiesDelegate;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Context;
 import java.io.IOException;
 
 @PreMatching
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/RequestScopedParentInject.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/RequestScopedParentInject.java
index 3958ec2..e26c36b 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/RequestScopedParentInject.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/RequestScopedParentInject.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.inject.Inject;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Context;
 
 public abstract class RequestScopedParentInject extends ParentInject {
     @Context
@@ -29,7 +29,7 @@
 
     //  CDI Scoped only
 //    @Inject
-//    protected javax.enterprise.inject.spi.BeanManager beanManager;
+//    protected jakarta.enterprise.inject.spi.BeanManager beanManager;
 
     @Override
     public boolean checkContexted(StringBuilder stringBuilder) {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplication.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplication.java
index fa85427..3b83f09 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplication.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplication.java
@@ -19,7 +19,7 @@
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 @ApplicationScoped
 public class ScopedApplication extends ResourceConfig {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplicationInject.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplicationInject.java
index d518270..0552727 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplicationInject.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplicationInject.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.inject.Alternative;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.enterprise.inject.Alternative;
+import jakarta.ws.rs.Path;
 import java.util.Collections;
 import java.util.Set;
 
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedContainerRequestFilter.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedContainerRequestFilter.java
index 1fefff5..702c559 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedContainerRequestFilter.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedContainerRequestFilter.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 @RequestScoped
 public class ScopedContainerRequestFilter extends RequestScopedParentInject implements ParentContainerRequestFilter {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedContainerResponseFilter.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedContainerResponseFilter.java
index 219bf5f..6dffc92 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedContainerResponseFilter.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedContainerResponseFilter.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 @RequestScoped
 public class ScopedContainerResponseFilter extends RequestScopedParentInject implements ParentContainerResponseFilter {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedExceptionMapper.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedExceptionMapper.java
index a8b5244..3e711f6 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedExceptionMapper.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedExceptionMapper.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 @ApplicationScoped
 public class ScopedExceptionMapper extends ParentExceptionMapper {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedResource.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedResource.java
index c1f0715..63d2135 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedResource.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedResource.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.Path;
 
 
 @RequestScoped
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedWriterInterceptor.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedWriterInterceptor.java
index d6c9686..6d25742 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedWriterInterceptor.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ScopedWriterInterceptor.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 import java.net.URI;
 
 @RequestScoped
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletApplication.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletApplication.java
index ec50128..dddd0bd 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletApplication.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletApplication.java
@@ -18,7 +18,7 @@
 
 import org.glassfish.jersey.server.ResourceConfig;
 
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
 
 @ApplicationScoped
 public class ServletApplication extends ResourceConfig {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletExceptionMapper.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletExceptionMapper.java
index 9643019..192c023 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletExceptionMapper.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletExceptionMapper.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 @ApplicationScoped
 public class ServletExceptionMapper extends ServletInject implements ExceptionMapper<IllegalArgumentException> {
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletInject.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletInject.java
index 57fa75a..366abe8 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletInject.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletInject.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.inject.Any;
-import javax.inject.Inject;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.inject.Any;
+import jakarta.inject.Inject;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.core.Response;
 
 public class ServletInject {
     @Inject
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletRequestFilter.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletRequestFilter.java
index 21996cc..e9677e9 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletRequestFilter.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletRequestFilter.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 @RequestScoped
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletResource.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletResource.java
index acddb88..a9ecae9 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletResource.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletResource.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 @RequestScoped
 @Path("/servlet")
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletResponseFilter.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletResponseFilter.java
index 90cb656..04de69b 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletResponseFilter.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/ServletResponseFilter.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.cdi.inject;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Response;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 @RequestScoped
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/SseAplication.java b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/SseAplication.java
index df402b1..4d40021 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/SseAplication.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/main/java/org/glassfish/jersey/tests/cdi/inject/SseAplication.java
@@ -18,20 +18,20 @@
 
 import org.glassfish.jersey.server.ServerProperties;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.Sse;
-import javax.ws.rs.sse.SseBroadcaster;
-import javax.ws.rs.sse.SseEventSink;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.Sse;
+import jakarta.ws.rs.sse.SseBroadcaster;
+import jakarta.ws.rs.sse.SseEventSink;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/NonScopedApplicationInjectTest.java b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/NonScopedApplicationInjectTest.java
index fe9a307..2b25463 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/NonScopedApplicationInjectTest.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/NonScopedApplicationInjectTest.java
@@ -31,8 +31,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class NonScopedApplicationInjectTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/NonScopedInjectionTest.java b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/NonScopedInjectionTest.java
index 35b6bc9..c1339f5 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/NonScopedInjectionTest.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/NonScopedInjectionTest.java
@@ -31,8 +31,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class NonScopedInjectionTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplicationInjectTest.java b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplicationInjectTest.java
index 2d02d15..9c2f15d 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplicationInjectTest.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ScopedApplicationInjectTest.java
@@ -31,8 +31,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class ScopedApplicationInjectTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ScopedInjectionTest.java b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ScopedInjectionTest.java
index 91da432..85ebed0 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ScopedInjectionTest.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ScopedInjectionTest.java
@@ -31,8 +31,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class ScopedInjectionTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ServletTest.java b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ServletTest.java
index b0f2a19..d847ac1 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ServletTest.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/ServletTest.java
@@ -31,8 +31,8 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class ServletTest extends JerseyTest {
     private Weld weld;
diff --git a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/SseTest.java b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/SseTest.java
index 8ed3e31..6fc8952 100644
--- a/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/SseTest.java
+++ b/tests/integration/cdi-integration/context-inject-on-server/src/test/java/org/glassfish/jersey/tests/cdi/inject/SseTest.java
@@ -31,12 +31,12 @@
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.sse.SseEventSource;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.util.concurrent.CountDownLatch;
diff --git a/tests/integration/cdi-integration/gf-cdi-inject/pom.xml b/tests/integration/cdi-integration/gf-cdi-inject/pom.xml
index 2d90302..5dac7d8 100644
--- a/tests/integration/cdi-integration/gf-cdi-inject/pom.xml
+++ b/tests/integration/cdi-integration/gf-cdi-inject/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration.cdi</groupId>
         <artifactId>cdi-integration-project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>gf-cdi-inject-on-server</artifactId>
@@ -31,7 +31,7 @@
     <description>Embedded GF tests @Inject</description>
 
     <properties>
-        <glassfish.home>${project.build.directory}/payara5</glassfish.home>
+        <glassfish.home>${project.build.directory}/glassfish6</glassfish.home>
         <modules.dir>${glassfish.home}/glassfish/modules</modules.dir>
         <glassfish.container.version>${gf.impl.version}</glassfish.container.version>
     </properties>
@@ -43,19 +43,13 @@
             <scope>test</scope>
         </dependency>
 
-<!--        <dependency> This does not work with GF 5.1 -->
-<!--            <groupId>org.jboss.arquillian.container</groupId>-->
-<!--            <artifactId>arquillian-glassfish-managed-3.1</artifactId>-->
-<!--            <version>1.0.2</version>-->
-<!--        </dependency>-->
-
         <dependency>
-            <groupId>org.omnifaces.arquillian</groupId>
-            <artifactId>arquillian-glassfish-server-managed</artifactId>
-            <version>1.2</version>
-            <scope>test</scope>
+            <groupId>org.jboss.arquillian.container</groupId>
+            <artifactId>arquillian-glassfish-managed-6</artifactId>
+            <version>1.0.0.Alpha1</version>
         </dependency>
 
+
         <dependency>
             <groupId>jakarta.ws.rs</groupId>
             <artifactId>jakarta.ws.rs-api</artifactId>
@@ -77,7 +71,7 @@
         <dependency>
             <groupId>org.jboss.arquillian.junit5</groupId>
             <artifactId>arquillian-junit5-container</artifactId>
-            <version>1.7.0.Alpha12</version>
+            <version>${arquillian.version}</version>
             <scope>test</scope>
         </dependency>
 
@@ -102,11 +96,9 @@
                         <configuration>
                             <artifactItems>
                                 <artifactItem>
-<!--                                    <groupId>org.glassfish.main.distributions</groupId>-->
-<!--                                    <artifactId>glassfish</artifactId>-->
-                                    <groupId>fish.payara.distributions</groupId>
-                                    <artifactId>payara</artifactId>
-                                    <version>5.2022.2</version>
+                                    <groupId>org.glassfish.main.distributions</groupId>
+                                    <artifactId>glassfish</artifactId>
+                                    <version>${gf.impl.version}</version>
                                     <type>zip</type>
                                     <overWrite>false</overWrite>
                                     <outputDirectory>${project.build.directory}</outputDirectory>
diff --git a/tests/integration/cdi-integration/gf-cdi-inject/src/main/java/org/glassfish/jersey/tests/cdi/gf/GFTestApp.java b/tests/integration/cdi-integration/gf-cdi-inject/src/main/java/org/glassfish/jersey/tests/cdi/gf/GFTestApp.java
index dc4aa36..7590194 100644
--- a/tests/integration/cdi-integration/gf-cdi-inject/src/main/java/org/glassfish/jersey/tests/cdi/gf/GFTestApp.java
+++ b/tests/integration/cdi-integration/gf-cdi-inject/src/main/java/org/glassfish/jersey/tests/cdi/gf/GFTestApp.java
@@ -21,7 +21,7 @@
 import org.glassfish.jersey.server.spi.Container;
 import org.glassfish.jersey.server.spi.ContainerLifecycleListener;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 @ApplicationPath("/test")
 public class GFTestApp extends ResourceConfig {
diff --git a/tests/integration/cdi-integration/gf-cdi-inject/src/main/java/org/glassfish/jersey/tests/cdi/gf/GFTestResource.java b/tests/integration/cdi-integration/gf-cdi-inject/src/main/java/org/glassfish/jersey/tests/cdi/gf/GFTestResource.java
index d7a0c8f..b40830a 100644
--- a/tests/integration/cdi-integration/gf-cdi-inject/src/main/java/org/glassfish/jersey/tests/cdi/gf/GFTestResource.java
+++ b/tests/integration/cdi-integration/gf-cdi-inject/src/main/java/org/glassfish/jersey/tests/cdi/gf/GFTestResource.java
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.cdi.gf;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriInfo;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.UriInfo;
 
 @Path("/")
 public class GFTestResource {
diff --git a/tests/integration/cdi-integration/gf-cdi-inject/src/test/java/org/glassfish/jersey/tests/cdi/gf/GFTest.java b/tests/integration/cdi-integration/gf-cdi-inject/src/test/java/org/glassfish/jersey/tests/cdi/gf/GFTest.java
index 8a21ba1..5946c36 100644
--- a/tests/integration/cdi-integration/gf-cdi-inject/src/test/java/org/glassfish/jersey/tests/cdi/gf/GFTest.java
+++ b/tests/integration/cdi-integration/gf-cdi-inject/src/test/java/org/glassfish/jersey/tests/cdi/gf/GFTest.java
@@ -24,8 +24,8 @@
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 @ExtendWith(ArquillianExtension.class)
diff --git a/tests/integration/cdi-integration/pom.xml b/tests/integration/cdi-integration/pom.xml
index d60e566..0afc99f 100644
--- a/tests/integration/cdi-integration/pom.xml
+++ b/tests/integration/cdi-integration/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
@@ -65,7 +65,7 @@
         <profile>
             <id>gf-inject</id>
             <activation>
-                <jdk>[11,16)</jdk>
+                <jdk>[11,)</jdk>
             </activation>
             <modules>
                 <module>gf-cdi-inject</module>
diff --git a/tests/integration/client-connector-provider/pom.xml b/tests/integration/client-connector-provider/pom.xml
index b2d1c3d..01bb35d 100644
--- a/tests/integration/client-connector-provider/pom.xml
+++ b/tests/integration/client-connector-provider/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>client-connector-provider</artifactId>
diff --git a/tests/integration/client-connector-provider/src/main/java/org/glassfish/jersey/tests/integration/client/connector/provider/CustomConnectorProvider.java b/tests/integration/client-connector-provider/src/main/java/org/glassfish/jersey/tests/integration/client/connector/provider/CustomConnectorProvider.java
index 969e24c..ad4195a 100644
--- a/tests/integration/client-connector-provider/src/main/java/org/glassfish/jersey/tests/integration/client/connector/provider/CustomConnectorProvider.java
+++ b/tests/integration/client-connector-provider/src/main/java/org/glassfish/jersey/tests/integration/client/connector/provider/CustomConnectorProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.net.HttpURLConnection;
 
-import javax.ws.rs.client.Client;
+import jakarta.ws.rs.client.Client;
 
 import org.glassfish.jersey.client.HttpUrlConnectorProvider;
 import org.glassfish.jersey.client.JerseyClient;
diff --git a/tests/integration/client-connector-provider/src/main/java/org/glassfish/jersey/tests/integration/client/connector/provider/TestResource.java b/tests/integration/client-connector-provider/src/main/java/org/glassfish/jersey/tests/integration/client/connector/provider/TestResource.java
index a0a7875..ed20e41 100644
--- a/tests/integration/client-connector-provider/src/main/java/org/glassfish/jersey/tests/integration/client/connector/provider/TestResource.java
+++ b/tests/integration/client-connector-provider/src/main/java/org/glassfish/jersey/tests/integration/client/connector/provider/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.client.connector.provider;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/client-connector-provider/src/test/java/org/glassfish/jersey/tests/integration/client/connector/provider/CustomConnectorProviderTest.java b/tests/integration/client-connector-provider/src/test/java/org/glassfish/jersey/tests/integration/client/connector/provider/CustomConnectorProviderTest.java
index a86d98a..71ccc04 100644
--- a/tests/integration/client-connector-provider/src/test/java/org/glassfish/jersey/tests/integration/client/connector/provider/CustomConnectorProviderTest.java
+++ b/tests/integration/client-connector-provider/src/test/java/org/glassfish/jersey/tests/integration/client/connector/provider/CustomConnectorProviderTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.client.connector.provider;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/ejb-multimodule-reload/ear/pom.xml b/tests/integration/ejb-multimodule-reload/ear/pom.xml
index 8dfc788..289b4ea 100644
--- a/tests/integration/ejb-multimodule-reload/ear/pom.xml
+++ b/tests/integration/ejb-multimodule-reload/ear/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/ejb-multimodule-reload/lib/pom.xml b/tests/integration/ejb-multimodule-reload/lib/pom.xml
index a6d484f..54c38fd 100644
--- a/tests/integration/ejb-multimodule-reload/lib/pom.xml
+++ b/tests/integration/ejb-multimodule-reload/lib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ContainerListener.java b/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ContainerListener.java
index e72c8f6..7d3276d 100644
--- a/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ContainerListener.java
+++ b/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ContainerListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.ejb.reload.lib;
 
-import javax.ejb.EJB;
-import javax.ejb.Singleton;
-import javax.ws.rs.ext.Provider;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Singleton;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener;
 import org.glassfish.jersey.server.spi.Container;
diff --git a/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/EjbReloaderService.java b/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/EjbReloaderService.java
index 79c8490..17cead7 100644
--- a/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/EjbReloaderService.java
+++ b/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/EjbReloaderService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.ejb.reload.lib;
 
-import javax.ejb.Singleton;
+import jakarta.ejb.Singleton;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spi.Container;
diff --git a/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ReloadDetectionResource.java b/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ReloadDetectionResource.java
index 126942d..cd2e1c4 100644
--- a/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ReloadDetectionResource.java
+++ b/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ReloadDetectionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.ejb.reload.lib;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * JAX-RS resource registered as a singleton
diff --git a/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ReloaderResource.java b/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ReloaderResource.java
index a2cd24a..18061d4 100644
--- a/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ReloaderResource.java
+++ b/tests/integration/ejb-multimodule-reload/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/lib/ReloaderResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.ejb.reload.lib;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * JAX-RS resource used to reload the first application.
diff --git a/tests/integration/ejb-multimodule-reload/pom.xml b/tests/integration/ejb-multimodule-reload/pom.xml
index b9fe083..af1c57a 100644
--- a/tests/integration/ejb-multimodule-reload/pom.xml
+++ b/tests/integration/ejb-multimodule-reload/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>ejb-multimodule-reload</artifactId>
diff --git a/tests/integration/ejb-multimodule-reload/war1/pom.xml b/tests/integration/ejb-multimodule-reload/war1/pom.xml
index 21858ff..c197c92 100644
--- a/tests/integration/ejb-multimodule-reload/war1/pom.xml
+++ b/tests/integration/ejb-multimodule-reload/war1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -53,14 +53,8 @@
             <artifactId>jakarta.ejb-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.hk2.external</groupId>
-            <artifactId>jakarta.inject</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.inject</groupId>
-                    <artifactId>javax.inject</artifactId>
-                </exclusion>
-            </exclusions>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/ejb-multimodule-reload/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web1/FirstApp.java b/tests/integration/ejb-multimodule-reload/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web1/FirstApp.java
index 334670a..3d55c98 100644
--- a/tests/integration/ejb-multimodule-reload/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web1/FirstApp.java
+++ b/tests/integration/ejb-multimodule-reload/war1/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web1/FirstApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 import org.glassfish.jersey.tests.integration.multimodule.ejb.reload.lib.ContainerListener;
 import org.glassfish.jersey.tests.integration.multimodule.ejb.reload.lib.ReloadDetectionResource;
diff --git a/tests/integration/ejb-multimodule-reload/war1/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web1/ReloadTest.java b/tests/integration/ejb-multimodule-reload/war1/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web1/ReloadTest.java
index ab5956a..04b2299 100644
--- a/tests/integration/ejb-multimodule-reload/war1/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web1/ReloadTest.java
+++ b/tests/integration/ejb-multimodule-reload/war1/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web1/ReloadTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.ejb.reload.web1;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/ejb-multimodule-reload/war2/pom.xml b/tests/integration/ejb-multimodule-reload/war2/pom.xml
index b62925e..c0febb1 100644
--- a/tests/integration/ejb-multimodule-reload/war2/pom.xml
+++ b/tests/integration/ejb-multimodule-reload/war2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/ejb-multimodule-reload/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web2/SecondApp.java b/tests/integration/ejb-multimodule-reload/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web2/SecondApp.java
index fb878f1..2559c65 100644
--- a/tests/integration/ejb-multimodule-reload/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web2/SecondApp.java
+++ b/tests/integration/ejb-multimodule-reload/war2/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web2/SecondApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 import org.glassfish.jersey.tests.integration.multimodule.ejb.reload.lib.ReloaderResource;
 
diff --git a/tests/integration/ejb-multimodule-reload/war2/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web2/JaxRsFromEjbLibraryTest.java b/tests/integration/ejb-multimodule-reload/war2/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web2/JaxRsFromEjbLibraryTest.java
index f751078..2de0066 100644
--- a/tests/integration/ejb-multimodule-reload/war2/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web2/JaxRsFromEjbLibraryTest.java
+++ b/tests/integration/ejb-multimodule-reload/war2/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/reload/web2/JaxRsFromEjbLibraryTest.java
@@ -18,10 +18,10 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/ejb-multimodule/ear/pom.xml b/tests/integration/ejb-multimodule/ear/pom.xml
index 15351aa..ad6fa1e 100644
--- a/tests/integration/ejb-multimodule/ear/pom.xml
+++ b/tests/integration/ejb-multimodule/ear/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/ejb-multimodule/lib/pom.xml b/tests/integration/ejb-multimodule/lib/pom.xml
index d47acfb..9a4e53e 100644
--- a/tests/integration/ejb-multimodule/lib/pom.xml
+++ b/tests/integration/ejb-multimodule/lib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/EjbCounterResource.java b/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/EjbCounterResource.java
index e86aa1f..dfb44fd 100644
--- a/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/EjbCounterResource.java
+++ b/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/EjbCounterResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ejb.Singleton;
+import jakarta.ejb.Singleton;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Singleton EJB counter bean as a JAX-RS resource.
diff --git a/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/StatefulResource.java b/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/StatefulResource.java
index 0d7babd..d13444f 100644
--- a/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/StatefulResource.java
+++ b/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/StatefulResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.ejb.lib;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateful;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateful;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * JAX-RS resource backed with a stateful EJB bean.
diff --git a/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/StatelessResource.java b/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/StatelessResource.java
index 77e77f3..32c762c 100644
--- a/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/StatelessResource.java
+++ b/tests/integration/ejb-multimodule/lib/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/lib/StatelessResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.ejb.lib;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * JAX-RS resource backed by a stateless EJB bean.
diff --git a/tests/integration/ejb-multimodule/pom.xml b/tests/integration/ejb-multimodule/pom.xml
index e28dfb1..e8c321d 100644
--- a/tests/integration/ejb-multimodule/pom.xml
+++ b/tests/integration/ejb-multimodule/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>ejb-multimodule</artifactId>
diff --git a/tests/integration/ejb-multimodule/war/pom.xml b/tests/integration/ejb-multimodule/war/pom.xml
index 02b1c77..47a54b7 100644
--- a/tests/integration/ejb-multimodule/war/pom.xml
+++ b/tests/integration/ejb-multimodule/war/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/ejb-multimodule/war/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/JaxRsConfiguration.java b/tests/integration/ejb-multimodule/war/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/JaxRsConfiguration.java
index e0a659d..7911a48 100644
--- a/tests/integration/ejb-multimodule/war/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/JaxRsConfiguration.java
+++ b/tests/integration/ejb-multimodule/war/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/JaxRsConfiguration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 import org.glassfish.jersey.tests.integration.multimodule.ejb.lib.EjbCounterResource;
 import org.glassfish.jersey.tests.integration.multimodule.ejb.lib.StatefulResource;
diff --git a/tests/integration/ejb-multimodule/war/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/WarStatelessResource.java b/tests/integration/ejb-multimodule/war/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/WarStatelessResource.java
index a67a94d..12c10c5 100644
--- a/tests/integration/ejb-multimodule/war/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/WarStatelessResource.java
+++ b/tests/integration/ejb-multimodule/war/src/main/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/WarStatelessResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.multimodule.ejb.web1;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
 
 import org.glassfish.jersey.tests.integration.multimodule.ejb.lib.EjbCounterResource;
 
diff --git a/tests/integration/ejb-multimodule/war/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/JaxRsFromEjbLibraryTest.java b/tests/integration/ejb-multimodule/war/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/JaxRsFromEjbLibraryTest.java
index f69a61e..8eab7cb 100644
--- a/tests/integration/ejb-multimodule/war/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/JaxRsFromEjbLibraryTest.java
+++ b/tests/integration/ejb-multimodule/war/src/test/java/org/glassfish/jersey/tests/integration/multimodule/ejb/web1/JaxRsFromEjbLibraryTest.java
@@ -18,10 +18,10 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/ejb-test-webapp/pom.xml b/tests/integration/ejb-test-webapp/pom.xml
index 17655dc..be9285c 100644
--- a/tests/integration/ejb-test-webapp/pom.xml
+++ b/tests/integration/ejb-test-webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>ejb-test-webapp</artifactId>
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
          <dependency>
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AppResource.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AppResource.java
index 44095d2..0c43027 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AppResource.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AppResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * Test resource that exposes counter from the JAX-RS application subclass.
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AsyncResource.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AsyncResource.java
index e5c67fb..d47f226 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AsyncResource.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AsyncResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
-import javax.ejb.EJB;
+import jakarta.ejb.EJB;
 
 /**
  * @author Jan Algermissen
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AsyncService.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AsyncService.java
index 8ea1ac4..f72f06d 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AsyncService.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/AsyncService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.logging.Logger;
 
-import javax.ejb.Asynchronous;
-import javax.ejb.Stateless;
-import javax.ws.rs.container.AsyncResponse;
+import jakarta.ejb.Asynchronous;
+import jakarta.ejb.Stateless;
+import jakarta.ws.rs.container.AsyncResponse;
 
 /**
  * @author Jan Algermissen
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/CounterBean.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/CounterBean.java
index bad5b15..c20c823 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/CounterBean.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/CounterBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,7 +17,7 @@
 package org.glassfish.jersey.tests.ejb.resources;
 
 import java.util.concurrent.atomic.AtomicInteger;
-import javax.ejb.Singleton;
+import jakarta.ejb.Singleton;
 
 /**
  * EJB singleton utilized as request counter in this test application.
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/CounterFilter.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/CounterFilter.java
index fa86e61..f6c75ce 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/CounterFilter.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/CounterFilter.java
@@ -18,13 +18,13 @@
 
 import java.io.IOException;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Response filter implemented as EJB bean. The filter adds Request-Count response header to each response.
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/Echo.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/Echo.java
index 517bbe7..eac755b 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/Echo.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/Echo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ejb.Remote;
+import jakarta.ejb.Remote;
 
 /**
  * EJB remote interface. Part of the reproducer for GLASSFISH-16199.
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EchoBean.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EchoBean.java
index 4c5b3af..5176b0a 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EchoBean.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EchoBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ejb.Stateful;
+import jakarta.ejb.Stateful;
 
 /**
  * Session bean capable of returning an echoed message back.
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EchoResource.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EchoResource.java
index 6a17f5d..21417a6 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EchoResource.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ejb.EJB;
-import javax.ejb.Local;
-import javax.ejb.Remote;
-import javax.ejb.Stateless;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Local;
+import jakarta.ejb.Remote;
+import jakarta.ejb.Stateless;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 /**
  * JAX-RS resource bean backed by an EJB session bean
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperBase.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperBase.java
index 132bb5a..7f9ac95 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperBase.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperBase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * JERSEY-2320 reproducer. {@link CustomBaseException} will get mapped
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperOne.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperOne.java
index 4626859..0d1148b 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperOne.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperOne.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ejb.EJB;
-import javax.ejb.Singleton;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Singleton;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * JERSEY-2320 reproducer. {@link CustomExceptionOne} will get mapped
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperTwo.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperTwo.java
index 8842ae9..8070bd3 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperTwo.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/EjbExceptionMapperTwo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * JERSEY-2320 reproducer. {@link CustomExceptionTwo} will get mapped
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/ExceptionEjbResource.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/ExceptionEjbResource.java
index e32d4a1..43b3882 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/ExceptionEjbResource.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/ExceptionEjbResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.ejb.EJBException;
-import javax.ejb.Singleton;
+import jakarta.ejb.EJBException;
+import jakarta.ejb.Singleton;
 
 /**
  * EJB backed JAX-RS resource to test if a custom exception info makes it to the client.
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/MyApplication.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/MyApplication.java
index d10f42d..8ce3ee1 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/MyApplication.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,9 +22,9 @@
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ejb.Singleton;
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ejb.Singleton;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application to configure resources.
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/RawEchoResource.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/RawEchoResource.java
index 6b1c683..e791b9f 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/RawEchoResource.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/RawEchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.ejb.resources;
 
-import javax.ejb.EJB;
-import javax.ejb.Remote;
-import javax.ejb.Stateless;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Remote;
+import jakarta.ejb.Stateless;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 
 /**
  * JAX-RS resource bean backed by an EJB session bean
diff --git a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/StandaloneServlet.java b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/StandaloneServlet.java
index eab13e9..af6dd89 100644
--- a/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/StandaloneServlet.java
+++ b/tests/integration/ejb-test-webapp/src/main/java/org/glassfish/jersey/tests/ejb/resources/StandaloneServlet.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,13 +18,13 @@
 
 import java.io.IOException;
 
-import javax.ejb.EJB;
+import jakarta.ejb.EJB;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * Standalone Servlet instance that has nothing to do with Jersey.
diff --git a/tests/integration/ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/ejb/resources/EjbTest.java b/tests/integration/ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/ejb/resources/EjbTest.java
index 83c41a4..3bac844 100644
--- a/tests/integration/ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/ejb/resources/EjbTest.java
+++ b/tests/integration/ejb-test-webapp/src/test/java/org/glassfish/jersey/tests/ejb/resources/EjbTest.java
@@ -18,9 +18,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/externalproperties/pom.xml b/tests/integration/externalproperties/pom.xml
index 468d282..58bb379 100644
--- a/tests/integration/externalproperties/pom.xml
+++ b/tests/integration/externalproperties/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>externalproperties</artifactId>
diff --git a/tests/integration/externalproperties/src/test/java/org/glassfish/jersey/tests/externalproperties/HttpProxyTest.java b/tests/integration/externalproperties/src/test/java/org/glassfish/jersey/tests/externalproperties/HttpProxyTest.java
index 092b2df..c6ecc29 100644
--- a/tests/integration/externalproperties/src/test/java/org/glassfish/jersey/tests/externalproperties/HttpProxyTest.java
+++ b/tests/integration/externalproperties/src/test/java/org/glassfish/jersey/tests/externalproperties/HttpProxyTest.java
@@ -23,16 +23,19 @@
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.TestProperties;
+import org.glassfish.jersey.test.jetty.JettyTestContainerFactory;
+import org.glassfish.jersey.test.spi.TestContainerException;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 public class HttpProxyTest extends JerseyTest {
     public HttpProxyTest() {
@@ -71,6 +74,11 @@
         System.setProperty(ExternalProperties.HTTP_PROXY_PORT, String.valueOf(server.getURI().getPort()));
     }
 
+    @Override
+    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
+        return new JettyTestContainerFactory();
+    }
+
     @Test
     public void testProxy() {
         System.setProperty(ExternalProperties.HTTP_NON_PROXY_HOSTS, "");
diff --git a/tests/integration/j-376/pom.xml b/tests/integration/j-376/pom.xml
index 7c073e3..9fc2774 100644
--- a/tests/integration/j-376/pom.xml
+++ b/tests/integration/j-376/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>j-376</artifactId>
@@ -86,7 +86,6 @@
         <dependency>
             <groupId>org.glassfish.grizzly</groupId>
             <artifactId>grizzly-http-server</artifactId>
-            <scope>compile</scope>
         </dependency>
 
         <dependency>
diff --git a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ApplicationScopedBean.java b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ApplicationScopedBean.java
index 5ef33c8..5fed0c3 100644
--- a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ApplicationScopedBean.java
+++ b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ApplicationScopedBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.j376;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 
 /**
diff --git a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ApplicationScopedResource.java b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ApplicationScopedResource.java
index 693fd4d..b5e82a6 100644
--- a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ApplicationScopedResource.java
+++ b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ApplicationScopedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.j376;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Resource to test CDI injection into {@code ApplicationScoped} JAX-RS resource.
diff --git a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ConstructorInjectionResource.java b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ConstructorInjectionResource.java
index 08d12c8..2077d30 100644
--- a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ConstructorInjectionResource.java
+++ b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/ConstructorInjectionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.integration.j376;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.validation.Valid;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.validation.Valid;
 
 /**
  * Resource to test CDI injection into JAX-RS resource via constructor parameter.
diff --git a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/FieldInjectionResource.java b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/FieldInjectionResource.java
index 768c1c6..a8a978a 100644
--- a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/FieldInjectionResource.java
+++ b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/FieldInjectionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.integration.j376;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.validation.Valid;
-import javax.ws.rs.BeanParam;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.validation.Valid;
+import jakarta.ws.rs.BeanParam;
 
 /**
  * Resource to test CDI injection into JAX-RS resource via field.
diff --git a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/FormDataBean.java b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/FormDataBean.java
index 819c498..ad1e9d5 100644
--- a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/FormDataBean.java
+++ b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/FormDataBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.tests.integration.j376;
 
-import javax.ws.rs.FormParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.annotation.PostConstruct;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 
 /**
  * Test bean containingboth JAX-RS and CDI injection points.
@@ -59,7 +59,7 @@
     }
 
     /**
-     * Exposes the state of injected {@code UriInfo} in the time of the call of {@link javax.annotation.PostConstruct}
+     * Exposes the state of injected {@code UriInfo} in the time of the call of {@link jakarta.annotation.PostConstruct}
      * annotated method. The returned value will be used in test to ensure, that {@code UriInfo} is injected in time
      *
      * @return path injected via {@code UriInfo} at the time-point of the {@link #postConstruct()} method call.
diff --git a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/MethodInjectionResource.java b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/MethodInjectionResource.java
index a38c9b0..0c65b10 100644
--- a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/MethodInjectionResource.java
+++ b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/MethodInjectionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,14 +17,14 @@
 package org.glassfish.jersey.tests.integration.j376;
 
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.validation.Valid;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.validation.Valid;
 
 /**
  * Resource to test CDI injection into JAX-RS resource via setter.
diff --git a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/MyApplication.java b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/MyApplication.java
index e45b2de..a74a527 100644
--- a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/MyApplication.java
+++ b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.j376;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 import java.util.HashSet;
 import java.util.Set;
 
diff --git a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/SecondBean.java b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/SecondBean.java
index b815903..1bfcb0c 100644
--- a/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/SecondBean.java
+++ b/tests/integration/j-376/src/main/java/org/glassfish/jersey/tests/integration/j376/SecondBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.j376;
 
-import javax.enterprise.context.RequestScoped;
+import jakarta.enterprise.context.RequestScoped;
 
 /**
  * Bean to be injected into another bean by CDI.
diff --git a/tests/integration/j-376/src/test/java/org/glassfish/jersey/tests/integration/j376/J376Test.java b/tests/integration/j-376/src/test/java/org/glassfish/jersey/tests/integration/j376/J376Test.java
index 784069d..dc5f276 100644
--- a/tests/integration/j-376/src/test/java/org/glassfish/jersey/tests/integration/j376/J376Test.java
+++ b/tests/integration/j-376/src/test/java/org/glassfish/jersey/tests/integration/j376/J376Test.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.j376;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
 
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
diff --git a/tests/integration/j-441/ear/pom.xml b/tests/integration/j-441/ear/pom.xml
index 5a47f6e..6250fbe 100644
--- a/tests/integration/j-441/ear/pom.xml
+++ b/tests/integration/j-441/ear/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <artifactId>j-441-ear</artifactId>
diff --git a/tests/integration/j-441/pom.xml b/tests/integration/j-441/pom.xml
index b081f95..972a4c1 100644
--- a/tests/integration/j-441/pom.xml
+++ b/tests/integration/j-441/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>j-441</artifactId>
diff --git a/tests/integration/j-441/war1/pom.xml b/tests/integration/j-441/war1/pom.xml
index f778fa4..3988f06 100644
--- a/tests/integration/j-441/war1/pom.xml
+++ b/tests/integration/j-441/war1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -40,14 +40,14 @@
         </dependency>
 
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
 
diff --git a/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/CdiResource.java b/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/CdiResource.java
index 9f31ab4..b428167 100644
--- a/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/CdiResource.java
+++ b/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/CdiResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.j441.one;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.servlet.ServletContext;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.servlet.ServletContext;
 
 /**
  * CDI backed JAX-RS resource.
diff --git a/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/CustomExceptionMapper.java b/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/CustomExceptionMapper.java
index b3832a2..c6b6b2d 100644
--- a/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/CustomExceptionMapper.java
+++ b/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/CustomExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.j441.one;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 /**
  * JAX-RS provider added just to make sure the application
diff --git a/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/MyApplication.java b/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/MyApplication.java
index cb0cbab..d11cc38 100644
--- a/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/MyApplication.java
+++ b/tests/integration/j-441/war1/src/main/java/org/glassfish/jersey/tests/integration/j441/one/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.j441.one;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/j-441/war1/src/test/java/org/glassfish/jersey/tests/integration/j441/one/ContextPathTest.java b/tests/integration/j-441/war1/src/test/java/org/glassfish/jersey/tests/integration/j441/one/ContextPathTest.java
index d6320f6..f7f7c68 100644
--- a/tests/integration/j-441/war1/src/test/java/org/glassfish/jersey/tests/integration/j441/one/ContextPathTest.java
+++ b/tests/integration/j-441/war1/src/test/java/org/glassfish/jersey/tests/integration/j441/one/ContextPathTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.j441.one;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/j-441/war2/pom.xml b/tests/integration/j-441/war2/pom.xml
index 1e0f5e3..a670bcc 100644
--- a/tests/integration/j-441/war2/pom.xml
+++ b/tests/integration/j-441/war2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -40,14 +40,14 @@
         </dependency>
 
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
 
diff --git a/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/CdiResource.java b/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/CdiResource.java
index ae673c0..a60eacf 100644
--- a/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/CdiResource.java
+++ b/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/CdiResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.j441.two;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.servlet.ServletContext;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.servlet.ServletContext;
 
 /**
  * CDI backed JAX-RS resource.
diff --git a/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/CustomExceptionMapper.java b/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/CustomExceptionMapper.java
index dfe7cd3..374531b 100644
--- a/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/CustomExceptionMapper.java
+++ b/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/CustomExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.j441.two;
 
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 /**
  * JAX-RS provider added just to make sure the application
diff --git a/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/MyApplication.java b/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/MyApplication.java
index 9157532..1600112 100644
--- a/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/MyApplication.java
+++ b/tests/integration/j-441/war2/src/main/java/org/glassfish/jersey/tests/integration/j441/two/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.j441.two;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/j-441/war2/src/test/java/org/glassfish/jersey/tests/integration/j441/two/ContextPathTest.java b/tests/integration/j-441/war2/src/test/java/org/glassfish/jersey/tests/integration/j441/two/ContextPathTest.java
index b7b2c78..fac1637 100644
--- a/tests/integration/j-441/war2/src/test/java/org/glassfish/jersey/tests/integration/j441/two/ContextPathTest.java
+++ b/tests/integration/j-441/war2/src/test/java/org/glassfish/jersey/tests/integration/j441/two/ContextPathTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.j441.two;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/j-59/ear/pom.xml b/tests/integration/j-59/ear/pom.xml
index 0251ff9..143fdc0 100644
--- a/tests/integration/j-59/ear/pom.xml
+++ b/tests/integration/j-59/ear/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/j-59/lib/pom.xml b/tests/integration/j-59/lib/pom.xml
index 052236e..1021639 100644
--- a/tests/integration/j-59/lib/pom.xml
+++ b/tests/integration/j-59/lib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/tests/integration/j-59/lib/src/main/java/org/glassfish/jersey/tests/integration/j59/ejb/lib/LocalBeanWithRemoteInterface.java b/tests/integration/j-59/lib/src/main/java/org/glassfish/jersey/tests/integration/j59/ejb/lib/LocalBeanWithRemoteInterface.java
index 81e7883..83b9073 100644
--- a/tests/integration/j-59/lib/src/main/java/org/glassfish/jersey/tests/integration/j59/ejb/lib/LocalBeanWithRemoteInterface.java
+++ b/tests/integration/j-59/lib/src/main/java/org/glassfish/jersey/tests/integration/j59/ejb/lib/LocalBeanWithRemoteInterface.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.j59.ejb.lib;
 
-import javax.ejb.LocalBean;
-import javax.ejb.Remote;
-import javax.ejb.Stateless;
+import jakarta.ejb.LocalBean;
+import jakarta.ejb.Remote;
+import jakarta.ejb.Stateless;
 
 /**
  * Local stateless session bean implementing a remote interface.
diff --git a/tests/integration/j-59/pom.xml b/tests/integration/j-59/pom.xml
index 5595d11..8f10570 100644
--- a/tests/integration/j-59/pom.xml
+++ b/tests/integration/j-59/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>j-59</artifactId>
diff --git a/tests/integration/j-59/war/pom.xml b/tests/integration/j-59/war/pom.xml
index 598d2e1..6336bd3 100644
--- a/tests/integration/j-59/war/pom.xml
+++ b/tests/integration/j-59/war/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -38,8 +38,8 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/j-59/war/src/main/java/org/glassfish/jersey/tests/integration/j59/cdi/web/CdiBackedResource.java b/tests/integration/j-59/war/src/main/java/org/glassfish/jersey/tests/integration/j59/cdi/web/CdiBackedResource.java
index 1e7a067..6210ac4 100644
--- a/tests/integration/j-59/war/src/main/java/org/glassfish/jersey/tests/integration/j59/cdi/web/CdiBackedResource.java
+++ b/tests/integration/j-59/war/src/main/java/org/glassfish/jersey/tests/integration/j59/cdi/web/CdiBackedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.integration.j59.cdi.web;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
 
 import javax.jws.WebResult;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.tests.integration.j59.ejb.lib.LocalBeanWithRemoteInterface;
 
diff --git a/tests/integration/j-59/war/src/main/java/org/glassfish/jersey/tests/integration/j59/cdi/web/JaxRsConfiguration.java b/tests/integration/j-59/war/src/main/java/org/glassfish/jersey/tests/integration/j59/cdi/web/JaxRsConfiguration.java
index cf57aa0..529995d 100644
--- a/tests/integration/j-59/war/src/main/java/org/glassfish/jersey/tests/integration/j59/cdi/web/JaxRsConfiguration.java
+++ b/tests/integration/j-59/war/src/main/java/org/glassfish/jersey/tests/integration/j59/cdi/web/JaxRsConfiguration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 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;
 
 /**
  * CDI extension lookup issue reproducer application configuration.
diff --git a/tests/integration/j-59/war/src/test/java/org/glassfish/jersey/tests/integration/j59/cdi/web/NameBeanTest.java b/tests/integration/j-59/war/src/test/java/org/glassfish/jersey/tests/integration/j59/cdi/web/NameBeanTest.java
index 8a1abf8..6090f3a 100644
--- a/tests/integration/j-59/war/src/test/java/org/glassfish/jersey/tests/integration/j59/cdi/web/NameBeanTest.java
+++ b/tests/integration/j-59/war/src/test/java/org/glassfish/jersey/tests/integration/j59/cdi/web/NameBeanTest.java
@@ -18,9 +18,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/integration/jackson-14/pom.xml b/tests/integration/jackson-14/pom.xml
index aeffbc0..5a3a8dc 100644
--- a/tests/integration/jackson-14/pom.xml
+++ b/tests/integration/jackson-14/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tests/integration/jackson-14/src/test/java/org/glassfish/jersey/integration/jackson14/Jackson14DependencyTest.java b/tests/integration/jackson-14/src/test/java/org/glassfish/jersey/integration/jackson14/Jackson14DependencyTest.java
index f1e6fa6..f05be49 100644
--- a/tests/integration/jackson-14/src/test/java/org/glassfish/jersey/integration/jackson14/Jackson14DependencyTest.java
+++ b/tests/integration/jackson-14/src/test/java/org/glassfish/jersey/integration/jackson14/Jackson14DependencyTest.java
@@ -22,12 +22,12 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 
 public class Jackson14DependencyTest {
diff --git a/tests/integration/jaxrs-component-inject/pom.xml b/tests/integration/jaxrs-component-inject/pom.xml
index 6eb2de6..217752a 100644
--- a/tests/integration/jaxrs-component-inject/pom.xml
+++ b/tests/integration/jaxrs-component-inject/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jaxrs-component-inject</artifactId>
@@ -54,7 +54,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/PrintingErrorHandler.java b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/PrintingErrorHandler.java
index a8769f3..49ebd54 100644
--- a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/PrintingErrorHandler.java
+++ b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/PrintingErrorHandler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,10 +20,10 @@
 import java.io.StringWriter;
 import java.io.Writer;
 
-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.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Exception mapper printing the {@link Status#NOT_ACCEPTABLE} error.
diff --git a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/Resource.java b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/Resource.java
index 6c2a965..4a6cc8b 100644
--- a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/Resource.java
+++ b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,18 +18,18 @@
 
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Providers;
 
 /**
  * Resource with {@link Context} injection points.
diff --git a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/StringBeanEntityProvider.java b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/StringBeanEntityProvider.java
index b8520ab..0c39173 100644
--- a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/StringBeanEntityProvider.java
+++ b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/StringBeanEntityProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,12 +22,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Provider for JAX-RS types {@link MessageBodyReader} and {@link MessageBodyWriter}.
diff --git a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/StringBeanEntityProviderWithInjectables.java b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/StringBeanEntityProviderWithInjectables.java
index 9b8506f..420f00e 100644
--- a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/StringBeanEntityProviderWithInjectables.java
+++ b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/StringBeanEntityProviderWithInjectables.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,19 +22,19 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 /**
  * Provider with {@link Context} injection points.
diff --git a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/TSAppConfig.java b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/TSAppConfig.java
index 04101c2..4d9fcd5 100644
--- a/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/TSAppConfig.java
+++ b/tests/integration/jaxrs-component-inject/src/main/java/org/glassfish/jersey/tests/jaxrs/inject/TSAppConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,15 +20,15 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.container.ResourceContext;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.container.ResourceContext;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.ext.Providers;
 
 /**
  * Application Configuration with {@link Context} injection points.
diff --git a/tests/integration/jaxrs-component-inject/src/main/webapp/WEB-INF/web.xml b/tests/integration/jaxrs-component-inject/src/main/webapp/WEB-INF/web.xml
index 5c07843..4a12608 100644
--- a/tests/integration/jaxrs-component-inject/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jaxrs-component-inject/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>CTSJAXRSContextServer</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.jaxrs.inject.TSAppConfig</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jaxrs-component-inject/src/test/java/org/glassfish/jersey/tests/jaxrs/inject/ApplicationInjectITCase.java b/tests/integration/jaxrs-component-inject/src/test/java/org/glassfish/jersey/tests/jaxrs/inject/ApplicationInjectITCase.java
index f68c289..873915f 100644
--- a/tests/integration/jaxrs-component-inject/src/test/java/org/glassfish/jersey/tests/jaxrs/inject/ApplicationInjectITCase.java
+++ b/tests/integration/jaxrs-component-inject/src/test/java/org/glassfish/jersey/tests/jaxrs/inject/ApplicationInjectITCase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.jaxrs.inject;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.test.JerseyTest;
@@ -30,7 +30,7 @@
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
- * Tests {@link javax.ws.rs.core.Context} injection into JAX-RS components Provider, Resource, Application.
+ * Tests {@link jakarta.ws.rs.core.Context} injection into JAX-RS components Provider, Resource, Application.
  *
  * @author Petr Bouda
  */
diff --git a/tests/integration/jersey-1107/pom.xml b/tests/integration/jersey-1107/pom.xml
index 9a0e4f9..e9f49dd 100644
--- a/tests/integration/jersey-1107/pom.xml
+++ b/tests/integration/jersey-1107/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-1107</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1107/src/main/java/org/glassfish/jersey/tests/integration/jersey1107/Jersey1107.java b/tests/integration/jersey-1107/src/main/java/org/glassfish/jersey/tests/integration/jersey1107/Jersey1107.java
index 7073d75..e8647cc 100644
--- a/tests/integration/jersey-1107/src/main/java/org/glassfish/jersey/tests/integration/jersey1107/Jersey1107.java
+++ b/tests/integration/jersey-1107/src/main/java/org/glassfish/jersey/tests/integration/jersey1107/Jersey1107.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,15 +23,15 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/jersey-1107/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-1107/src/main/webapp/WEB-INF/web.xml
index 5c144f8..9074cae 100644
--- a/tests/integration/jersey-1107/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-1107/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>testServlet1</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey1107.Jersey1107</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-1107/src/test/java/org/glassfish/jersey/tests/integration/jersey1107/ApplicationHandlerITCase.java b/tests/integration/jersey-1107/src/test/java/org/glassfish/jersey/tests/integration/jersey1107/ApplicationHandlerITCase.java
index 28420c6..7e5fa30 100644
--- a/tests/integration/jersey-1107/src/test/java/org/glassfish/jersey/tests/integration/jersey1107/ApplicationHandlerITCase.java
+++ b/tests/integration/jersey-1107/src/test/java/org/glassfish/jersey/tests/integration/jersey1107/ApplicationHandlerITCase.java
@@ -22,7 +22,7 @@
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-1223/pom.xml b/tests/integration/jersey-1223/pom.xml
index 4812315..50f517f 100644
--- a/tests/integration/jersey-1223/pom.xml
+++ b/tests/integration/jersey-1223/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>jersey-1223</artifactId>
@@ -58,7 +58,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1223/src/main/java/org/glassfish/jersey/tests/integration/jersey1223/Jersey1223.java b/tests/integration/jersey-1223/src/main/java/org/glassfish/jersey/tests/integration/jersey1223/Jersey1223.java
index 60fcd3c..938234b 100644
--- a/tests/integration/jersey-1223/src/main/java/org/glassfish/jersey/tests/integration/jersey1223/Jersey1223.java
+++ b/tests/integration/jersey-1223/src/main/java/org/glassfish/jersey/tests/integration/jersey1223/Jersey1223.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/jersey-1223/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-1223/src/main/webapp/WEB-INF/web.xml
index 1634824..df1cba5 100644
--- a/tests/integration/jersey-1223/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-1223/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,7 +30,7 @@
         <servlet-name>testServlet1</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey1223.Jersey1223</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-1604/pom.xml b/tests/integration/jersey-1604/pom.xml
index d9c841e..6046f62 100644
--- a/tests/integration/jersey-1604/pom.xml
+++ b/tests/integration/jersey-1604/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>jersey-1604</artifactId>
@@ -61,7 +61,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1604/src/main/java/org/glassfish/jersey/tests/integration/jersey1604/Jersey1604.java b/tests/integration/jersey-1604/src/main/java/org/glassfish/jersey/tests/integration/jersey1604/Jersey1604.java
index d4a2bbd..984c1b6 100644
--- a/tests/integration/jersey-1604/src/main/java/org/glassfish/jersey/tests/integration/jersey1604/Jersey1604.java
+++ b/tests/integration/jersey-1604/src/main/java/org/glassfish/jersey/tests/integration/jersey1604/Jersey1604.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.DELETE;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 /**
  * Application class with test resource that sets {@code Connection} header to {@code close}.
diff --git a/tests/integration/jersey-1604/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-1604/src/main/webapp/WEB-INF/web.xml
index 91aaa79..be78d75 100644
--- a/tests/integration/jersey-1604/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-1604/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,7 +30,7 @@
         <servlet-name>testServlet1</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey1604.Jersey1604</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-1604/src/test/java/org/glassfish/jersey/tests/integration/jersey1604/ConnectionCloseITCase.java b/tests/integration/jersey-1604/src/test/java/org/glassfish/jersey/tests/integration/jersey1604/ConnectionCloseITCase.java
index b4e79b8..b5f5644 100644
--- a/tests/integration/jersey-1604/src/test/java/org/glassfish/jersey/tests/integration/jersey1604/ConnectionCloseITCase.java
+++ b/tests/integration/jersey-1604/src/test/java/org/glassfish/jersey/tests/integration/jersey1604/ConnectionCloseITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey1604;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/integration/jersey-1667/pom.xml b/tests/integration/jersey-1667/pom.xml
index 24f3932..278c698 100644
--- a/tests/integration/jersey-1667/pom.xml
+++ b/tests/integration/jersey-1667/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-1667</artifactId>
@@ -34,13 +34,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-servlet-core</artifactId>
         </dependency>
@@ -67,7 +60,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1667/src/main/java/org/glassfish/jersey/tests/integration/jersey1667/Issue1667Resource.java b/tests/integration/jersey-1667/src/main/java/org/glassfish/jersey/tests/integration/jersey1667/Issue1667Resource.java
index 46ba64c..072852b 100644
--- a/tests/integration/jersey-1667/src/main/java/org/glassfish/jersey/tests/integration/jersey1667/Issue1667Resource.java
+++ b/tests/integration/jersey-1667/src/main/java/org/glassfish/jersey/tests/integration/jersey1667/Issue1667Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey1667;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
 import org.glassfish.jersey.media.multipart.FormDataParam;
diff --git a/tests/integration/jersey-1667/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-1667/src/main/webapp/WEB-INF/web.xml
index 5897705..2266ab7 100644
--- a/tests/integration/jersey-1667/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-1667/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey1667Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey1667.Jersey1667</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-1667/src/test/java/org/glassfish/jersey/tests/integration/jersey1667/Jersey1667ITCase.java b/tests/integration/jersey-1667/src/test/java/org/glassfish/jersey/tests/integration/jersey1667/Jersey1667ITCase.java
index 0475085..f6697c1 100644
--- a/tests/integration/jersey-1667/src/test/java/org/glassfish/jersey/tests/integration/jersey1667/Jersey1667ITCase.java
+++ b/tests/integration/jersey-1667/src/test/java/org/glassfish/jersey/tests/integration/jersey1667/Jersey1667ITCase.java
@@ -18,11 +18,11 @@
 
 import java.util.Arrays;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.media.multipart.FormDataBodyPart;
diff --git a/tests/integration/jersey-1829/pom.xml b/tests/integration/jersey-1829/pom.xml
index fab58b9..2775fcf 100644
--- a/tests/integration/jersey-1829/pom.xml
+++ b/tests/integration/jersey-1829/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.1.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>jersey-1829</artifactId>
@@ -58,7 +58,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1829/src/main/java/org/glassfish/jersey/tests/integration/jersey1829/Jersey1829.java b/tests/integration/jersey-1829/src/main/java/org/glassfish/jersey/tests/integration/jersey1829/Jersey1829.java
index e2398f2..1045ec8 100644
--- a/tests/integration/jersey-1829/src/main/java/org/glassfish/jersey/tests/integration/jersey1829/Jersey1829.java
+++ b/tests/integration/jersey-1829/src/main/java/org/glassfish/jersey/tests/integration/jersey1829/Jersey1829.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 /**
  * Application class with test resource that returns custom status reason phrase.
diff --git a/tests/integration/jersey-1829/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-1829/src/main/webapp/WEB-INF/web.xml
index 5e51210..faa2d0b 100644
--- a/tests/integration/jersey-1829/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-1829/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,7 +30,7 @@
         <servlet-name>testServlet1</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey1829.Jersey1829</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-1829/src/test/java/org/glassfish/jersey/tests/integration/jersey1829/ApplicationHandlerITCase.java b/tests/integration/jersey-1829/src/test/java/org/glassfish/jersey/tests/integration/jersey1829/ApplicationHandlerITCase.java
index b983ea2..48ea38d 100644
--- a/tests/integration/jersey-1829/src/test/java/org/glassfish/jersey/tests/integration/jersey1829/ApplicationHandlerITCase.java
+++ b/tests/integration/jersey-1829/src/test/java/org/glassfish/jersey/tests/integration/jersey1829/ApplicationHandlerITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey1829;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-1883/pom.xml b/tests/integration/jersey-1883/pom.xml
index d3c8e3e..b06b1c1 100644
--- a/tests/integration/jersey-1883/pom.xml
+++ b/tests/integration/jersey-1883/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-1883</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/Life.java b/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/Life.java
index c283df7..58ad984 100644
--- a/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/Life.java
+++ b/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/Life.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.jersey1883;
 
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application mixed with resource.
diff --git a/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/MyApplication.java b/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/MyApplication.java
index 34dec5f..188fc2c 100644
--- a/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/MyApplication.java
+++ b/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.Collections;
 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;
 
 /**
  * Explicitly register {@code @Singleton} resource.
diff --git a/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/NoLife.java b/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/NoLife.java
index 7fc0bc4..41330a9 100644
--- a/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/NoLife.java
+++ b/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/NoLife.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey1883;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.annotation.PostConstruct;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Explicitly registered singleton resource by {@link MyApplication}.
diff --git a/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/SingletonLife.java b/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/SingletonLife.java
index a5821b1..1db95b1 100644
--- a/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/SingletonLife.java
+++ b/tests/integration/jersey-1883/src/main/java/org/glassfish/jersey/tests/integration/jersey1883/SingletonLife.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.jersey1883;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Singleton;
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
+import jakarta.annotation.PostConstruct;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application mixed with resource - singleton class.
diff --git a/tests/integration/jersey-1883/src/test/java/org/glassfish/jersey/tests/integration/jersey1883/Jersey1883ITCase.java b/tests/integration/jersey-1883/src/test/java/org/glassfish/jersey/tests/integration/jersey1883/Jersey1883ITCase.java
index 9e0610e..5f25ab9 100644
--- a/tests/integration/jersey-1883/src/test/java/org/glassfish/jersey/tests/integration/jersey1883/Jersey1883ITCase.java
+++ b/tests/integration/jersey-1883/src/test/java/org/glassfish/jersey/tests/integration/jersey1883/Jersey1883ITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey1883;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/jersey-1928/pom.xml b/tests/integration/jersey-1928/pom.xml
index c672f24..daea1a5 100644
--- a/tests/integration/jersey-1928/pom.xml
+++ b/tests/integration/jersey-1928/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>jersey-1928</artifactId>
@@ -57,7 +57,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1928/src/main/java/org/glassfish/jersey/tests/integration/jersey1928/Jersey1928.java b/tests/integration/jersey-1928/src/main/java/org/glassfish/jersey/tests/integration/jersey1928/Jersey1928.java
index dde2159..3d473f8 100644
--- a/tests/integration/jersey-1928/src/main/java/org/glassfish/jersey/tests/integration/jersey1928/Jersey1928.java
+++ b/tests/integration/jersey-1928/src/main/java/org/glassfish/jersey/tests/integration/jersey1928/Jersey1928.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Application;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/jersey-1928/src/test/java/org/glassfish/jersey/tests/integration/jersey1928/Jersey1928ITCase.java b/tests/integration/jersey-1928/src/test/java/org/glassfish/jersey/tests/integration/jersey1928/Jersey1928ITCase.java
index 0ae62bd..ded21d7 100644
--- a/tests/integration/jersey-1928/src/test/java/org/glassfish/jersey/tests/integration/jersey1928/Jersey1928ITCase.java
+++ b/tests/integration/jersey-1928/src/test/java/org/glassfish/jersey/tests/integration/jersey1928/Jersey1928ITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey1928;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-1960/pom.xml b/tests/integration/jersey-1960/pom.xml
index d7370ce..468385f 100644
--- a/tests/integration/jersey-1960/pom.xml
+++ b/tests/integration/jersey-1960/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-1960</artifactId>
@@ -34,9 +34,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -63,7 +63,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/EchoResource.java b/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/EchoResource.java
index 13cf6e9..49fd173 100644
--- a/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/EchoResource.java
+++ b/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/EchoResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey1960;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/Jersey1960App.java b/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/Jersey1960App.java
index b075db7..572051b 100644
--- a/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/Jersey1960App.java
+++ b/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/Jersey1960App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application for the JERSEY-1960 reproducer test.
diff --git a/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/RequestFilter.java b/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/RequestFilter.java
index ecd167d..0e54170 100644
--- a/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/RequestFilter.java
+++ b/tests/integration/jersey-1960/src/main/java/org/glassfish/jersey/tests/integration/jersey1960/RequestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,16 +19,16 @@
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/jersey-1960/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-1960/src/main/webapp/WEB-INF/web.xml
index 8ba90c2..d024b40 100644
--- a/tests/integration/jersey-1960/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-1960/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey1960Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey1960.Jersey1960App</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-1960/src/test/java/org/glassfish/jersey/tests/integration/jersey1960/Jersey1960ITCase.java b/tests/integration/jersey-1960/src/test/java/org/glassfish/jersey/tests/integration/jersey1960/Jersey1960ITCase.java
index cb52a3f..a524196 100644
--- a/tests/integration/jersey-1960/src/test/java/org/glassfish/jersey/tests/integration/jersey1960/Jersey1960ITCase.java
+++ b/tests/integration/jersey-1960/src/test/java/org/glassfish/jersey/tests/integration/jersey1960/Jersey1960ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey1960;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-1964/pom.xml b/tests/integration/jersey-1964/pom.xml
index 6d4d53b..1bd2cc1 100644
--- a/tests/integration/jersey-1964/pom.xml
+++ b/tests/integration/jersey-1964/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-1964</artifactId>
@@ -45,6 +45,12 @@
             <groupId>org.glassfish.jersey.ext</groupId>
             <artifactId>jersey-metainf-services</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -64,7 +70,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-1964/src/main/java/org/glassfish/jersey/tests/integration/jersey1964/Issue1964Resource.java b/tests/integration/jersey-1964/src/main/java/org/glassfish/jersey/tests/integration/jersey1964/Issue1964Resource.java
index 839fc53..b1d5975 100644
--- a/tests/integration/jersey-1964/src/main/java/org/glassfish/jersey/tests/integration/jersey1964/Issue1964Resource.java
+++ b/tests/integration/jersey-1964/src/main/java/org/glassfish/jersey/tests/integration/jersey1964/Issue1964Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey1964;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-1964/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-1964/src/main/webapp/WEB-INF/web.xml
index 7736f49..23f7ed3 100644
--- a/tests/integration/jersey-1964/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-1964/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey1964Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey1964.Jersey1964</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-1964/src/test/java/org/glassfish/jersey/tests/integration/jersey1964/Jersey1964ITCase.java b/tests/integration/jersey-1964/src/test/java/org/glassfish/jersey/tests/integration/jersey1964/Jersey1964ITCase.java
index 874390c..1f058d9 100644
--- a/tests/integration/jersey-1964/src/test/java/org/glassfish/jersey/tests/integration/jersey1964/Jersey1964ITCase.java
+++ b/tests/integration/jersey-1964/src/test/java/org/glassfish/jersey/tests/integration/jersey1964/Jersey1964ITCase.java
@@ -18,11 +18,11 @@
 
 import java.net.ConnectException;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2031/pom.xml b/tests/integration/jersey-2031/pom.xml
index e59cdbd..0577609 100644
--- a/tests/integration/jersey-2031/pom.xml
+++ b/tests/integration/jersey-2031/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2031</artifactId>
@@ -44,9 +44,9 @@
             <artifactId>jersey-mvc-jsp</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/jersey-2031/src/main/java/org/glassfish/jersey/tests/integration/jersey2031/Issue2031Resource.java b/tests/integration/jersey-2031/src/main/java/org/glassfish/jersey/tests/integration/jersey2031/Issue2031Resource.java
index 1e9fa59..a6a9f8e 100644
--- a/tests/integration/jersey-2031/src/main/java/org/glassfish/jersey/tests/integration/jersey2031/Issue2031Resource.java
+++ b/tests/integration/jersey-2031/src/main/java/org/glassfish/jersey/tests/integration/jersey2031/Issue2031Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey2031;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.server.mvc.Template;
 import org.glassfish.jersey.server.mvc.Viewable;
diff --git a/tests/integration/jersey-2031/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2031/src/main/webapp/WEB-INF/web.xml
index d0c8e60..3426090 100644
--- a/tests/integration/jersey-2031/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2031/src/main/webapp/WEB-INF/web.xml
@@ -23,7 +23,7 @@
         <filter-name>jersey2031</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2031.Jersey2031</param-value>
         </init-param>
     </filter>
diff --git a/tests/integration/jersey-2031/src/test/java/org/glassfish/jersey/tests/integration/jersey2031/Jersey2031ITCase.java b/tests/integration/jersey-2031/src/test/java/org/glassfish/jersey/tests/integration/jersey2031/Jersey2031ITCase.java
index 3038675..fd7ba8f 100644
--- a/tests/integration/jersey-2031/src/test/java/org/glassfish/jersey/tests/integration/jersey2031/Jersey2031ITCase.java
+++ b/tests/integration/jersey-2031/src/test/java/org/glassfish/jersey/tests/integration/jersey2031/Jersey2031ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2031;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2136/pom.xml b/tests/integration/jersey-2136/pom.xml
index 5d28b9e..01cc34a 100644
--- a/tests/integration/jersey-2136/pom.xml
+++ b/tests/integration/jersey-2136/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2136</artifactId>
diff --git a/tests/integration/jersey-2136/src/main/java/org/glassfish/jersey/tests/integration/jersey2136/Issue2136Resource.java b/tests/integration/jersey-2136/src/main/java/org/glassfish/jersey/tests/integration/jersey2136/Issue2136Resource.java
index ede5954..7ec02c3 100644
--- a/tests/integration/jersey-2136/src/main/java/org/glassfish/jersey/tests/integration/jersey2136/Issue2136Resource.java
+++ b/tests/integration/jersey-2136/src/main/java/org/glassfish/jersey/tests/integration/jersey2136/Issue2136Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2136;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-2136/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2136/src/main/webapp/WEB-INF/web.xml
index 2c67157..77c12b8 100644
--- a/tests/integration/jersey-2136/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2136/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2136Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2136.Jersey2136</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2136/src/test/java/org/glassfish/jersey/tests/integration/jersey2136/Jersey2136ITCase.java b/tests/integration/jersey-2136/src/test/java/org/glassfish/jersey/tests/integration/jersey2136/Jersey2136ITCase.java
index 026939f..479b743 100644
--- a/tests/integration/jersey-2136/src/test/java/org/glassfish/jersey/tests/integration/jersey2136/Jersey2136ITCase.java
+++ b/tests/integration/jersey-2136/src/test/java/org/glassfish/jersey/tests/integration/jersey2136/Jersey2136ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2136;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2137/pom.xml b/tests/integration/jersey-2137/pom.xml
index 476471e..b767dbc 100644
--- a/tests/integration/jersey-2137/pom.xml
+++ b/tests/integration/jersey-2137/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2137</artifactId>
@@ -43,8 +43,8 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/Account.java b/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/Account.java
index 2e68823..fc1441d 100644
--- a/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/Account.java
+++ b/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/Account.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,8 +17,8 @@
 package org.glassfish.jersey.tests.integration.jersey2137;
 
 import java.io.Serializable;
-import javax.persistence.Entity;
-import javax.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
 
 /**
  * Entity bean that maintains information on account balance.
diff --git a/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/CdiTransactionalNoRollbackResource.java b/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/CdiTransactionalNoRollbackResource.java
index 5bd8eef..75f49e3 100644
--- a/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/CdiTransactionalNoRollbackResource.java
+++ b/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/CdiTransactionalNoRollbackResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,23 +16,23 @@
 
 package org.glassfish.jersey.tests.integration.jersey2137;
 
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
-import javax.enterprise.context.RequestScoped;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.Transactional;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import jakarta.transaction.Transactional;
 
 /**
  * Request scoped transactional CDI bean registered as JAX-RS resource class.
- * Part of JERSEY-2137 reproducer. {@link javax.ws.rs.WebApplicationException}
+ * Part of JERSEY-2137 reproducer. {@link jakarta.ws.rs.WebApplicationException}
  * thrown in the resource method below should drive the response as specified
  * in the JAX-RS spec regardless
- * on the {@link javax.transaction.Transactional#dontRollbackOn()} value.
+ * on the {@link jakarta.transaction.Transactional#dontRollbackOn()} value.
  *
  * @author Jakub Podlesak
  */
diff --git a/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/CdiTransactionalResource.java b/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/CdiTransactionalResource.java
index 66dc5b0..12db508 100644
--- a/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/CdiTransactionalResource.java
+++ b/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/CdiTransactionalResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,23 +16,23 @@
 
 package org.glassfish.jersey.tests.integration.jersey2137;
 
-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.QueryParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+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.QueryParam;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
-import javax.enterprise.context.RequestScoped;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.Transactional;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import jakarta.transaction.Transactional;
 
 /**
  * Request scoped transactional CDI bean registered as JAX-RS resource class.
- * Part of JERSEY-2137 reproducer. {@link javax.ws.rs.WebApplicationException}
+ * Part of JERSEY-2137 reproducer. {@link jakarta.ws.rs.WebApplicationException}
  * thrown in the resource method below should drive the response as specified
  * in the JAX-RS spec.
  *
diff --git a/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/TestApplication.java b/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/TestApplication.java
index 48e3a8e..553a8cc 100644
--- a/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/TestApplication.java
+++ b/tests/integration/jersey-2137/src/main/java/org/glassfish/jersey/tests/integration/jersey2137/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * JAX-RS application to configure resources for JERSEY-2137 reproducer.
diff --git a/tests/integration/jersey-2137/src/test/java/org/glassfish/jersey/tests/integration/jersey2137/WaeExceptionMappingTest.java b/tests/integration/jersey-2137/src/test/java/org/glassfish/jersey/tests/integration/jersey2137/WaeExceptionMappingTest.java
index f5c3301..5a1a631 100644
--- a/tests/integration/jersey-2137/src/test/java/org/glassfish/jersey/tests/integration/jersey2137/WaeExceptionMappingTest.java
+++ b/tests/integration/jersey-2137/src/test/java/org/glassfish/jersey/tests/integration/jersey2137/WaeExceptionMappingTest.java
@@ -18,12 +18,12 @@
 
 import java.net.URI;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 import org.glassfish.jersey.test.JerseyTest;
 
 import org.junit.jupiter.api.Test;
diff --git a/tests/integration/jersey-2154/pom.xml b/tests/integration/jersey-2154/pom.xml
index f144267..63056f6 100644
--- a/tests/integration/jersey-2154/pom.xml
+++ b/tests/integration/jersey-2154/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2154</artifactId>
@@ -43,8 +43,8 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.enterprise</groupId>
-            <artifactId>cdi-api</artifactId>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/CdiResource.java b/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/CdiResource.java
index 7368bd4..2b95cc1 100644
--- a/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/CdiResource.java
+++ b/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/CdiResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.integration.jersey2154;
 
-import javax.ejb.EJB;
-import javax.enterprise.context.RequestScoped;
+import jakarta.ejb.EJB;
+import jakarta.enterprise.context.RequestScoped;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * Request scoped CDI bean injected with EJB bean.
- * Part of JERSEY-2154 reproducer. {@link javax.ejb.EJBException}
+ * Part of JERSEY-2154 reproducer. {@link jakarta.ejb.EJBException}
  * thrown in the injected EJB bean should get unwrapped
  * even when no EJB-backed JAX-RS resources have been registered.
  *
diff --git a/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/EjbBean.java b/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/EjbBean.java
index 3522a34..cbca039 100644
--- a/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/EjbBean.java
+++ b/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/EjbBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey2154;
 
-import javax.ejb.EJBException;
-import javax.ejb.Stateless;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ejb.EJBException;
+import jakarta.ejb.Stateless;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
 /**
  * EJB bean to reproduce JERSEY-2154. Bellow generated {@link WebApplicationException}
diff --git a/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/TestApplication.java b/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/TestApplication.java
index 7e5bb35..76b5831 100644
--- a/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/TestApplication.java
+++ b/tests/integration/jersey-2154/src/main/java/org/glassfish/jersey/tests/integration/jersey2154/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * JAX-RS application to configure resources for JERSEY-2154 reproducer.
diff --git a/tests/integration/jersey-2154/src/test/java/org/glassfish/jersey/tests/integration/jersey2154/EjbExceptionMappingTest.java b/tests/integration/jersey-2154/src/test/java/org/glassfish/jersey/tests/integration/jersey2154/EjbExceptionMappingTest.java
index c5713a6..7f4abf0 100644
--- a/tests/integration/jersey-2154/src/test/java/org/glassfish/jersey/tests/integration/jersey2154/EjbExceptionMappingTest.java
+++ b/tests/integration/jersey-2154/src/test/java/org/glassfish/jersey/tests/integration/jersey2154/EjbExceptionMappingTest.java
@@ -17,13 +17,13 @@
 package org.glassfish.jersey.tests.integration.jersey2154;
 
 import java.net.URI;
-import javax.ejb.EJBException;
+import jakarta.ejb.EJBException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 import org.glassfish.jersey.test.JerseyTest;
 
 import org.junit.jupiter.api.Test;
diff --git a/tests/integration/jersey-2160/pom.xml b/tests/integration/jersey-2160/pom.xml
index 0a63b00..0d34282 100644
--- a/tests/integration/jersey-2160/pom.xml
+++ b/tests/integration/jersey-2160/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2160</artifactId>
@@ -34,9 +34,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -63,7 +63,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/Issue2160ReproducerResource.java b/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/Issue2160ReproducerResource.java
index 49ae234..8f01b33 100644
--- a/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/Issue2160ReproducerResource.java
+++ b/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/Issue2160ReproducerResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.jersey2160;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.hk2.api.ProxyCtl;
 
diff --git a/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/Jersey2160App.java b/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/Jersey2160App.java
index e1bd118..5199601 100644
--- a/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/Jersey2160App.java
+++ b/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/Jersey2160App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 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;
 
 import java.util.HashSet;
 
diff --git a/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/RequestFilter.java b/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/RequestFilter.java
index b1bfac0..beb4bef 100644
--- a/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/RequestFilter.java
+++ b/tests/integration/jersey-2160/src/main/java/org/glassfish/jersey/tests/integration/jersey2160/RequestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 /**
  * Filter that set a property on actual request. The property value
diff --git a/tests/integration/jersey-2160/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2160/src/main/webapp/WEB-INF/web.xml
index 3b97459..320d69b 100644
--- a/tests/integration/jersey-2160/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2160/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2160Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2160.Jersey2160App</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2160/src/test/java/org/glassfish/jersey/tests/integration/jersey2160/Jersey2160ITCase.java b/tests/integration/jersey-2160/src/test/java/org/glassfish/jersey/tests/integration/jersey2160/Jersey2160ITCase.java
index 12556db..460779b 100644
--- a/tests/integration/jersey-2160/src/test/java/org/glassfish/jersey/tests/integration/jersey2160/Jersey2160ITCase.java
+++ b/tests/integration/jersey-2160/src/test/java/org/glassfish/jersey/tests/integration/jersey2160/Jersey2160ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2160;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2164/pom.xml b/tests/integration/jersey-2164/pom.xml
index 1402af4..57d3e21 100644
--- a/tests/integration/jersey-2164/pom.xml
+++ b/tests/integration/jersey-2164/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2164</artifactId>
@@ -37,10 +37,6 @@
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-servlet-core</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson</artifactId>
-        </dependency>
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -60,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2164/src/main/java/org/glassfish/jersey/tests/integration/jersey2164/Issue2164Resource.java b/tests/integration/jersey-2164/src/main/java/org/glassfish/jersey/tests/integration/jersey2164/Issue2164Resource.java
index 40b9da4..f3f1c9c 100644
--- a/tests/integration/jersey-2164/src/main/java/org/glassfish/jersey/tests/integration/jersey2164/Issue2164Resource.java
+++ b/tests/integration/jersey-2164/src/main/java/org/glassfish/jersey/tests/integration/jersey2164/Issue2164Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-2164/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2164/src/main/webapp/WEB-INF/web.xml
index 8b77a93..a19396a 100644
--- a/tests/integration/jersey-2164/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2164/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2164Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2164.Jersey2164</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2164/src/test/java/org/glassfish/jersey/tests/integration/jersey2164/Jersey2164ITCase.java b/tests/integration/jersey-2164/src/test/java/org/glassfish/jersey/tests/integration/jersey2164/Jersey2164ITCase.java
index 683a69e..cd7d2c6 100644
--- a/tests/integration/jersey-2164/src/test/java/org/glassfish/jersey/tests/integration/jersey2164/Jersey2164ITCase.java
+++ b/tests/integration/jersey-2164/src/test/java/org/glassfish/jersey/tests/integration/jersey2164/Jersey2164ITCase.java
@@ -20,8 +20,8 @@
 import java.net.HttpURLConnection;
 import java.net.URL;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.message.internal.ReaderWriter;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-2167/pom.xml b/tests/integration/jersey-2167/pom.xml
index edb9c40..1005ef7 100644
--- a/tests/integration/jersey-2167/pom.xml
+++ b/tests/integration/jersey-2167/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2167</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/Issue2167Resource.java b/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/Issue2167Resource.java
index cb15851..2520da4 100644
--- a/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/Issue2167Resource.java
+++ b/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/Issue2167Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey2167;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
diff --git a/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/MyBinder.java b/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/MyBinder.java
index d1c9d95..9faf5a6 100644
--- a/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/MyBinder.java
+++ b/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/MyBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2167;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.server.spi.internal.ValueParamProvider;
diff --git a/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/MyValueParamProvider.java b/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/MyValueParamProvider.java
index 852bec3..7330155 100644
--- a/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/MyValueParamProvider.java
+++ b/tests/integration/jersey-2167/src/main/java/org/glassfish/jersey/tests/integration/jersey2167/MyValueParamProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,9 +18,9 @@
 
 import java.util.function.Function;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.server.ContainerRequest;
 import org.glassfish.jersey.server.internal.inject.AbstractValueParamProvider;
diff --git a/tests/integration/jersey-2167/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2167/src/main/webapp/WEB-INF/web.xml
index be1fb9d..1430718 100644
--- a/tests/integration/jersey-2167/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2167/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2167Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2167.Jersey2167App</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2167/src/test/java/org/glassfish/jersey/tests/integration/jersey2167/Jersey2167ITCase.java b/tests/integration/jersey-2167/src/test/java/org/glassfish/jersey/tests/integration/jersey2167/Jersey2167ITCase.java
index 354a3eb..6012155 100644
--- a/tests/integration/jersey-2167/src/test/java/org/glassfish/jersey/tests/integration/jersey2167/Jersey2167ITCase.java
+++ b/tests/integration/jersey-2167/src/test/java/org/glassfish/jersey/tests/integration/jersey2167/Jersey2167ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2167;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.TestProperties;
diff --git a/tests/integration/jersey-2176/pom.xml b/tests/integration/jersey-2176/pom.xml
index 71965c4..24aa77b 100644
--- a/tests/integration/jersey-2176/pom.xml
+++ b/tests/integration/jersey-2176/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2176</artifactId>
@@ -39,9 +39,9 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -63,7 +63,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Issue2176ReproducerResource.java b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Issue2176ReproducerResource.java
index 0728fda..275839d 100644
--- a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Issue2176ReproducerResource.java
+++ b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Issue2176ReproducerResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.integration.jersey2176;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SendErrorApp.java b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SendErrorApp.java
index 905cd03..3d1b7c4 100644
--- a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SendErrorApp.java
+++ b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SendErrorApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey2176;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 /**
  * Configure {@link org.glassfish.jersey.server.ServerProperties#RESPONSE_SET_STATUS_OVER_SEND_ERROR} by {@code true} -
- * method {@link javax.servlet.http.HttpServletResponse#sendError} will be called in case of errors
+ * method {@link jakarta.servlet.http.HttpServletResponse#sendError} will be called in case of errors
  * (status {@code 4xx} or {@code 5xx}).
  *
  * @author Libor Kramolis
diff --git a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SetStatusApp.java b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SetStatusApp.java
index 82c42c2..956ab53 100644
--- a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SetStatusApp.java
+++ b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SetStatusApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey2176;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 /**
  * Configure {@link org.glassfish.jersey.server.ServerProperties#RESPONSE_SET_STATUS_OVER_SEND_ERROR} by {@code true} -
- * method {@link javax.servlet.http.HttpServletResponse#setStatus} will be called in case of errors
+ * method {@link jakarta.servlet.http.HttpServletResponse#setStatus} will be called in case of errors
  * (status {@code 4xx} or {@code 5xx}).
  *
  * @author Libor Kramolis
diff --git a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/MyWriterInterceptor.java b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/MyWriterInterceptor.java
index 6eb257d..eb20f24 100644
--- a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/MyWriterInterceptor.java
+++ b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/MyWriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,8 +21,8 @@
 import java.io.OutputStream;
 import java.nio.charset.Charset;
 
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/TraceResponseFilter.java b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/TraceResponseFilter.java
index abd8b07..ddb6b60 100644
--- a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/TraceResponseFilter.java
+++ b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/TraceResponseFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,16 +18,16 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.HttpHeaders;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-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.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/TraceResponseWrapper.java b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/TraceResponseWrapper.java
index 39a7b0e..c4c1bad 100644
--- a/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/TraceResponseWrapper.java
+++ b/tests/integration/jersey-2176/src/main/java/org/glassfish/jersey/tests/integration/jersey2176/TraceResponseWrapper.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey2176;
 
-import javax.servlet.ServletOutputStream;
-import javax.servlet.WriteListener;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -46,19 +46,19 @@
     public ServletOutputStream getOutputStream() throws IOException {
         return new ServletOutputStream() {
             @Override
-            public boolean isReady() {
-                return true;
-            }
-
-            @Override
-            public void setWriteListener(WriteListener writeListener) {
-
-            }
-
-            @Override
             public void write(final int b) throws IOException {
                 localStream.write(b);
             }
+
+            @Override
+            public void setWriteListener(jakarta.servlet.WriteListener listener) {
+                // noop
+            }
+
+            @Override
+            public boolean isReady() {
+                return true;
+            }
         };
     }
 
diff --git a/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176ITCaseBase.java b/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176ITCaseBase.java
index e1ccf74..8c23d5b 100644
--- a/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176ITCaseBase.java
+++ b/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176ITCaseBase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey2176;
 
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SendErrorITCase.java b/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SendErrorITCase.java
index 51da398..79551b3 100644
--- a/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SendErrorITCase.java
+++ b/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SendErrorITCase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2176;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 import java.net.URI;
 
 /**
diff --git a/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SetStatusITCase.java b/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SetStatusITCase.java
index 90fbf4d..e20cae9 100644
--- a/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SetStatusITCase.java
+++ b/tests/integration/jersey-2176/src/test/java/org/glassfish/jersey/tests/integration/jersey2176/Jersey2176SetStatusITCase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2176;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 import java.net.URI;
 
 /**
diff --git a/tests/integration/jersey-2184/pom.xml b/tests/integration/jersey-2184/pom.xml
index 6034d94..d4f0303 100644
--- a/tests/integration/jersey-2184/pom.xml
+++ b/tests/integration/jersey-2184/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2184</artifactId>
@@ -40,9 +40,9 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -64,7 +64,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2184/src/main/java/org/glassfish/jersey/tests/integration/jersey2184/App.java b/tests/integration/jersey-2184/src/main/java/org/glassfish/jersey/tests/integration/jersey2184/App.java
index bcd6c5d..cd4a4f2 100644
--- a/tests/integration/jersey-2184/src/main/java/org/glassfish/jersey/tests/integration/jersey2184/App.java
+++ b/tests/integration/jersey-2184/src/main/java/org/glassfish/jersey/tests/integration/jersey2184/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 /**
  * Test Application subclass for JERSEY-2184 integration test.
diff --git a/tests/integration/jersey-2184/src/main/java/org/glassfish/jersey/tests/integration/jersey2184/MonkeyResource.java b/tests/integration/jersey-2184/src/main/java/org/glassfish/jersey/tests/integration/jersey2184/MonkeyResource.java
index 33d34b6..bd37cdf 100644
--- a/tests/integration/jersey-2184/src/main/java/org/glassfish/jersey/tests/integration/jersey2184/MonkeyResource.java
+++ b/tests/integration/jersey-2184/src/main/java/org/glassfish/jersey/tests/integration/jersey2184/MonkeyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey2184;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test resource for the servlet3-webapp example.
diff --git a/tests/integration/jersey-2184/src/test/java/org/glassfish/jersey/tests/integration/jersey2184/Jersey2184ITCase.java b/tests/integration/jersey-2184/src/test/java/org/glassfish/jersey/tests/integration/jersey2184/Jersey2184ITCase.java
index ecfc37b..bd5fd1f 100644
--- a/tests/integration/jersey-2184/src/test/java/org/glassfish/jersey/tests/integration/jersey2184/Jersey2184ITCase.java
+++ b/tests/integration/jersey-2184/src/test/java/org/glassfish/jersey/tests/integration/jersey2184/Jersey2184ITCase.java
@@ -18,8 +18,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.test.JerseyTest;
@@ -62,7 +62,7 @@
     }
 
     /**
-     * Tests if {@link javax.servlet.ServletContext} has been correctly injected into {@link App} constructor parameter;
+     * Tests if {@link jakarta.servlet.ServletContext} has been correctly injected into {@link App} constructor parameter;
      * The resource under this URL is being loaded dynamically based on a context parameter in the web.xml,
      * so if injection fails, the resource will not be available.
      */
diff --git a/tests/integration/jersey-2255/pom.xml b/tests/integration/jersey-2255/pom.xml
index 25590a3..ae7df01 100644
--- a/tests/integration/jersey-2255/pom.xml
+++ b/tests/integration/jersey-2255/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2255</artifactId>
@@ -64,7 +64,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2255/src/main/java/org/glassfish/jersey/tests/integration/jersey2255/Issue2255Resource.java b/tests/integration/jersey-2255/src/main/java/org/glassfish/jersey/tests/integration/jersey2255/Issue2255Resource.java
index 0ac2f37..e95494d 100644
--- a/tests/integration/jersey-2255/src/main/java/org/glassfish/jersey/tests/integration/jersey2255/Issue2255Resource.java
+++ b/tests/integration/jersey-2255/src/main/java/org/glassfish/jersey/tests/integration/jersey2255/Issue2255Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,12 +23,12 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.inject.AnnotationLiteral;
 import org.glassfish.jersey.message.filtering.EntityFiltering;
diff --git a/tests/integration/jersey-2255/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2255/src/main/webapp/WEB-INF/web.xml
index b6b050c..836e85d 100644
--- a/tests/integration/jersey-2255/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2255/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2255Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2255.Jersey2255</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2255/src/test/java/org/glassfish/jersey/tests/integration/jersey2255/Jersey2255ITCase.java b/tests/integration/jersey-2255/src/test/java/org/glassfish/jersey/tests/integration/jersey2255/Jersey2255ITCase.java
index 061db6b..5c88a45 100644
--- a/tests/integration/jersey-2255/src/test/java/org/glassfish/jersey/tests/integration/jersey2255/Jersey2255ITCase.java
+++ b/tests/integration/jersey-2255/src/test/java/org/glassfish/jersey/tests/integration/jersey2255/Jersey2255ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2255;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.TestProperties;
diff --git a/tests/integration/jersey-2322/pom.xml b/tests/integration/jersey-2322/pom.xml
index 95edf39..fc5f567 100644
--- a/tests/integration/jersey-2322/pom.xml
+++ b/tests/integration/jersey-2322/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2322</artifactId>
@@ -58,13 +58,21 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>**/*</exclude>
+                    </excludes>
+                    <testExcludes>
+                        <testExclude>**/*</testExclude>
+                    </testExcludes>
+                </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2322/src/main/java/org/glassfish/jersey/tests/integration/jersey2322/Issue2322Resource.java b/tests/integration/jersey-2322/src/main/java/org/glassfish/jersey/tests/integration/jersey2322/Issue2322Resource.java
index c006a22..4972dbd 100644
--- a/tests/integration/jersey-2322/src/main/java/org/glassfish/jersey/tests/integration/jersey2322/Issue2322Resource.java
+++ b/tests/integration/jersey-2322/src/main/java/org/glassfish/jersey/tests/integration/jersey2322/Issue2322Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey2322;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-2322/src/main/java/org/glassfish/jersey/tests/integration/jersey2322/MyObjectMapperProvider.java b/tests/integration/jersey-2322/src/main/java/org/glassfish/jersey/tests/integration/jersey2322/MyObjectMapperProvider.java
index 71f89e8..e88ec29 100644
--- a/tests/integration/jersey-2322/src/main/java/org/glassfish/jersey/tests/integration/jersey2322/MyObjectMapperProvider.java
+++ b/tests/integration/jersey-2322/src/main/java/org/glassfish/jersey/tests/integration/jersey2322/MyObjectMapperProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,8 +20,8 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/jersey-2322/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2322/src/main/webapp/WEB-INF/web.xml
index 727ad27..24f0cee 100644
--- a/tests/integration/jersey-2322/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2322/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2322Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2322.Jersey2322</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2322/src/test/java/org/glassfish/jersey/tests/integration/jersey2322/Jersey2322ITCase.java b/tests/integration/jersey-2322/src/test/java/org/glassfish/jersey/tests/integration/jersey2322/Jersey2322ITCase.java
index f25b9ce..ab1e434 100644
--- a/tests/integration/jersey-2322/src/test/java/org/glassfish/jersey/tests/integration/jersey2322/Jersey2322ITCase.java
+++ b/tests/integration/jersey-2322/src/test/java/org/glassfish/jersey/tests/integration/jersey2322/Jersey2322ITCase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey2322;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-2335/pom.xml b/tests/integration/jersey-2335/pom.xml
index 1cbaa54..6a0a032 100644
--- a/tests/integration/jersey-2335/pom.xml
+++ b/tests/integration/jersey-2335/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2335</artifactId>
@@ -60,7 +60,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/ConstructorInjectedProvider.java b/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/ConstructorInjectedProvider.java
index 5dbc195..82b8586 100644
--- a/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/ConstructorInjectedProvider.java
+++ b/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/ConstructorInjectedProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,14 +21,14 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/FieldInjectedProvider.java b/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/FieldInjectedProvider.java
index 425c822..5b80091 100644
--- a/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/FieldInjectedProvider.java
+++ b/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/FieldInjectedProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,14 +21,14 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.Providers;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Providers;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/Issue2335Resource.java b/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/Issue2335Resource.java
index 1af12ad..d21b158 100644
--- a/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/Issue2335Resource.java
+++ b/tests/integration/jersey-2335/src/main/java/org/glassfish/jersey/tests/integration/jersey2335/Issue2335Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey2335;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Test resource that provides a simple text response.
diff --git a/tests/integration/jersey-2335/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter b/tests/integration/jersey-2335/src/main/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyWriter
similarity index 100%
rename from tests/integration/jersey-2335/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter
rename to tests/integration/jersey-2335/src/main/resources/META-INF/services/jakarta.ws.rs.ext.MessageBodyWriter
diff --git a/tests/integration/jersey-2335/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2335/src/main/webapp/WEB-INF/web.xml
index 26d8b4a..5b2fa11 100644
--- a/tests/integration/jersey-2335/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2335/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2335Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2335.Jersey2335</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2335/src/test/java/org/glassfish/jersey/tests/integration/jersey2335/Jersey2335ITCase.java b/tests/integration/jersey-2335/src/test/java/org/glassfish/jersey/tests/integration/jersey2335/Jersey2335ITCase.java
index cabb45e..0eb8599 100644
--- a/tests/integration/jersey-2335/src/test/java/org/glassfish/jersey/tests/integration/jersey2335/Jersey2335ITCase.java
+++ b/tests/integration/jersey-2335/src/test/java/org/glassfish/jersey/tests/integration/jersey2335/Jersey2335ITCase.java
@@ -18,11 +18,11 @@
 
 import java.net.ConnectException;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2421/pom.xml b/tests/integration/jersey-2421/pom.xml
index 1f23afd..8705c2e 100644
--- a/tests/integration/jersey-2421/pom.xml
+++ b/tests/integration/jersey-2421/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2421</artifactId>
diff --git a/tests/integration/jersey-2421/src/test/java/org/glassfish/jersey/tests/integration/jersey2421/Jersey2421Test.java b/tests/integration/jersey-2421/src/test/java/org/glassfish/jersey/tests/integration/jersey2421/Jersey2421Test.java
index 1bf3cb7..bae7758 100644
--- a/tests/integration/jersey-2421/src/test/java/org/glassfish/jersey/tests/integration/jersey2421/Jersey2421Test.java
+++ b/tests/integration/jersey-2421/src/test/java/org/glassfish/jersey/tests/integration/jersey2421/Jersey2421Test.java
@@ -20,12 +20,12 @@
 import java.io.OutputStream;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Configuration;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Configuration;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientRequest;
diff --git a/tests/integration/jersey-2551/pom.xml b/tests/integration/jersey-2551/pom.xml
index 0a590dc..f767620 100644
--- a/tests/integration/jersey-2551/pom.xml
+++ b/tests/integration/jersey-2551/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2551</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2551/src/main/java/org/glassfish/jersey/tests/integration/jersey2551/Resource.java b/tests/integration/jersey-2551/src/main/java/org/glassfish/jersey/tests/integration/jersey2551/Resource.java
index 04dbe89..972d04b 100644
--- a/tests/integration/jersey-2551/src/main/java/org/glassfish/jersey/tests/integration/jersey2551/Resource.java
+++ b/tests/integration/jersey-2551/src/main/java/org/glassfish/jersey/tests/integration/jersey2551/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey2551;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.hk2.api.ServiceLocator;
 
diff --git a/tests/integration/jersey-2551/src/main/java/org/glassfish/jersey/tests/integration/jersey2551/ServiceLocatorGenerator.java b/tests/integration/jersey-2551/src/main/java/org/glassfish/jersey/tests/integration/jersey2551/ServiceLocatorGenerator.java
index 610ba43..afef9be 100644
--- a/tests/integration/jersey-2551/src/main/java/org/glassfish/jersey/tests/integration/jersey2551/ServiceLocatorGenerator.java
+++ b/tests/integration/jersey-2551/src/main/java/org/glassfish/jersey/tests/integration/jersey2551/ServiceLocatorGenerator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2551;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.hk2.api.DynamicConfigurationService;
 import org.glassfish.hk2.api.ServiceLocator;
diff --git a/tests/integration/jersey-2551/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2551/src/main/webapp/WEB-INF/web.xml
index ea1bd52..92519f5 100644
--- a/tests/integration/jersey-2551/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2551/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2551Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2551.Jersey2551</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2551/src/test/java/org/glassfish/jersey/tests/integration/jersey2551/Jersey2551ITCase.java b/tests/integration/jersey-2551/src/test/java/org/glassfish/jersey/tests/integration/jersey2551/Jersey2551ITCase.java
index 03c0028..b50f8a5 100644
--- a/tests/integration/jersey-2551/src/test/java/org/glassfish/jersey/tests/integration/jersey2551/Jersey2551ITCase.java
+++ b/tests/integration/jersey-2551/src/test/java/org/glassfish/jersey/tests/integration/jersey2551/Jersey2551ITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2551;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2612/pom.xml b/tests/integration/jersey-2612/pom.xml
index 4b28481..c8b9abf 100644
--- a/tests/integration/jersey-2612/pom.xml
+++ b/tests/integration/jersey-2612/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2612</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamBinder.java b/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamBinder.java
index a8808f6..428eec6 100644
--- a/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamBinder.java
+++ b/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamBinder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey2612;
 
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 
diff --git a/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamConverterProvider.java b/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamConverterProvider.java
index 92849cf..c1ec97b 100644
--- a/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamConverterProvider.java
+++ b/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamConverterProvider.java
@@ -22,11 +22,11 @@
 import java.util.Optional;
 import java.util.Set;
 
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Providers;
diff --git a/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamFeature.java b/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamFeature.java
index d6af4d1..5220283 100644
--- a/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamFeature.java
+++ b/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/OptionalParamFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2612;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 public class OptionalParamFeature implements Feature {
 
diff --git a/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/Resource.java b/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/Resource.java
index bc8cd89..9e0d8f6 100644
--- a/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/Resource.java
+++ b/tests/integration/jersey-2612/src/main/java/org/glassfish/jersey/tests/integration/jersey2612/Resource.java
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.jersey2612;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+
 import java.util.Optional;
-import java.util.function.Function;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-2612/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2612/src/main/webapp/WEB-INF/web.xml
index f506807..6ccd874 100644
--- a/tests/integration/jersey-2612/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2612/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey2612Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2612.Jersey2612</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2612/src/test/java/org/glassfish/jersey/tests/integration/jersey2612/Jersey2612ITCase.java b/tests/integration/jersey-2612/src/test/java/org/glassfish/jersey/tests/integration/jersey2612/Jersey2612ITCase.java
index d50dda8..32b37d6 100644
--- a/tests/integration/jersey-2612/src/test/java/org/glassfish/jersey/tests/integration/jersey2612/Jersey2612ITCase.java
+++ b/tests/integration/jersey-2612/src/test/java/org/glassfish/jersey/tests/integration/jersey2612/Jersey2612ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2612;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2637/pom.xml b/tests/integration/jersey-2637/pom.xml
index 351f75d..1f04049 100644
--- a/tests/integration/jersey-2637/pom.xml
+++ b/tests/integration/jersey-2637/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2637</artifactId>
@@ -36,9 +36,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -64,7 +64,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2637/src/main/java/org/glassfish/jersey/tests/integration/jersey2637/ParamEatingFilter.java b/tests/integration/jersey-2637/src/main/java/org/glassfish/jersey/tests/integration/jersey2637/ParamEatingFilter.java
index d1522c6..65ba05c 100644
--- a/tests/integration/jersey-2637/src/main/java/org/glassfish/jersey/tests/integration/jersey2637/ParamEatingFilter.java
+++ b/tests/integration/jersey-2637/src/main/java/org/glassfish/jersey/tests/integration/jersey2637/ParamEatingFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/jersey-2637/src/main/java/org/glassfish/jersey/tests/integration/jersey2637/Resource.java b/tests/integration/jersey-2637/src/main/java/org/glassfish/jersey/tests/integration/jersey2637/Resource.java
index 39401cf..e45b474 100644
--- a/tests/integration/jersey-2637/src/main/java/org/glassfish/jersey/tests/integration/jersey2637/Resource.java
+++ b/tests/integration/jersey-2637/src/main/java/org/glassfish/jersey/tests/integration/jersey2637/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey2637;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-2637/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2637/src/main/webapp/WEB-INF/web.xml
index 051d43b..51abef0 100644
--- a/tests/integration/jersey-2637/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2637/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -32,7 +32,7 @@
         <servlet-name>default</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2637.Jersey2637</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
@@ -46,7 +46,7 @@
         <servlet-name>enabled</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2637.Jersey2637</param-value>
         </init-param>
         <init-param>
@@ -64,7 +64,7 @@
         <servlet-name>disabled</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2637.Jersey2637</param-value>
         </init-param>
         <init-param>
diff --git a/tests/integration/jersey-2637/src/test/java/org/glassfish/jersey/tests/integration/jersey2637/Jersey2637DisabledITCase.java b/tests/integration/jersey-2637/src/test/java/org/glassfish/jersey/tests/integration/jersey2637/Jersey2637DisabledITCase.java
index f2dcca3..d215f29 100644
--- a/tests/integration/jersey-2637/src/test/java/org/glassfish/jersey/tests/integration/jersey2637/Jersey2637DisabledITCase.java
+++ b/tests/integration/jersey-2637/src/test/java/org/glassfish/jersey/tests/integration/jersey2637/Jersey2637DisabledITCase.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey2637;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
@@ -31,7 +31,7 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Reproducer tests for JERSEY-2637 - Query params cannot be injected using {@link javax.ws.rs.FormParam}.
+ * Reproducer tests for JERSEY-2637 - Query params cannot be injected using {@link jakarta.ws.rs.FormParam}.
  */
 public class Jersey2637DisabledITCase extends JerseyTest {
 
diff --git a/tests/integration/jersey-2637/src/test/java/org/glassfish/jersey/tests/integration/jersey2637/Jersey2637EnabledITCase.java b/tests/integration/jersey-2637/src/test/java/org/glassfish/jersey/tests/integration/jersey2637/Jersey2637EnabledITCase.java
index 8cd4f0b..48d884e 100644
--- a/tests/integration/jersey-2637/src/test/java/org/glassfish/jersey/tests/integration/jersey2637/Jersey2637EnabledITCase.java
+++ b/tests/integration/jersey-2637/src/test/java/org/glassfish/jersey/tests/integration/jersey2637/Jersey2637EnabledITCase.java
@@ -18,10 +18,10 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
@@ -34,7 +34,7 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Reproducer tests for JERSEY-2637 - Query params can be injected using {@link javax.ws.rs.FormParam}.
+ * Reproducer tests for JERSEY-2637 - Query params can be injected using {@link jakarta.ws.rs.FormParam}.
  */
 public class Jersey2637EnabledITCase extends JerseyTest {
 
diff --git a/tests/integration/jersey-2654/pom.xml b/tests/integration/jersey-2654/pom.xml
index 8bf40b0..3034e36 100644
--- a/tests/integration/jersey-2654/pom.xml
+++ b/tests/integration/jersey-2654/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2654</artifactId>
@@ -55,7 +55,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2654/src/main/java/org/glassfish/jersey/tests/integration/jersey2654/ServletFilterTestResource.java b/tests/integration/jersey-2654/src/main/java/org/glassfish/jersey/tests/integration/jersey2654/ServletFilterTestResource.java
index 3c367e4..718adb5 100644
--- a/tests/integration/jersey-2654/src/main/java/org/glassfish/jersey/tests/integration/jersey2654/ServletFilterTestResource.java
+++ b/tests/integration/jersey-2654/src/main/java/org/glassfish/jersey/tests/integration/jersey2654/ServletFilterTestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,11 +17,11 @@
 package org.glassfish.jersey.tests.integration.jersey2654;
 
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Response;
 
 /**
  * Test resource to be called within an ServletContainer registered as servlet filter.
diff --git a/tests/integration/jersey-2654/src/main/java/org/glassfish/jersey/tests/integration/jersey2654/TestApplication.java b/tests/integration/jersey-2654/src/main/java/org/glassfish/jersey/tests/integration/jersey2654/TestApplication.java
index 57bcad9..4f443b2 100644
--- a/tests/integration/jersey-2654/src/main/java/org/glassfish/jersey/tests/integration/jersey2654/TestApplication.java
+++ b/tests/integration/jersey-2654/src/main/java/org/glassfish/jersey/tests/integration/jersey2654/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application to configure resources for JERSEY-2525 reproducer.
diff --git a/tests/integration/jersey-2654/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2654/src/main/webapp/WEB-INF/web.xml
index a75c20f..6c8be4f 100644
--- a/tests/integration/jersey-2654/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2654/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
         <filter-name>MyApplication</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2654.TestApplication</param-value>
         </init-param>
     </filter>
diff --git a/tests/integration/jersey-2654/src/test/java/org/glassfish/jersey/tests/integration/jersey2654/Jersey2654ITCase.java b/tests/integration/jersey-2654/src/test/java/org/glassfish/jersey/tests/integration/jersey2654/Jersey2654ITCase.java
index e2afbc8..a6ae409 100644
--- a/tests/integration/jersey-2654/src/test/java/org/glassfish/jersey/tests/integration/jersey2654/Jersey2654ITCase.java
+++ b/tests/integration/jersey-2654/src/test/java/org/glassfish/jersey/tests/integration/jersey2654/Jersey2654ITCase.java
@@ -24,7 +24,7 @@
 import java.io.PrintWriter;
 import java.net.Socket;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/integration/jersey-2673/pom.xml b/tests/integration/jersey-2673/pom.xml
index 3f52a65..e228add 100644
--- a/tests/integration/jersey-2673/pom.xml
+++ b/tests/integration/jersey-2673/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2673</artifactId>
@@ -39,11 +39,23 @@
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
             <artifactId>jersey-bean-validation</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>jakarta.el</groupId>
+                    <artifactId>jakarta.el-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jackson</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
diff --git a/tests/integration/jersey-2673/src/main/java/org/glassfish/jersey/tests/integration/jersey2673/Resource.java b/tests/integration/jersey-2673/src/main/java/org/glassfish/jersey/tests/integration/jersey2673/Resource.java
index 326a39e..b227ba0 100644
--- a/tests/integration/jersey-2673/src/main/java/org/glassfish/jersey/tests/integration/jersey2673/Resource.java
+++ b/tests/integration/jersey-2673/src/main/java/org/glassfish/jersey/tests/integration/jersey2673/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.jersey2673;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
 
-import javax.validation.Valid;
+import jakarta.validation.Valid;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/jersey-2673/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2673/src/main/webapp/WEB-INF/web.xml
index 712879e..5af6ca0 100644
--- a/tests/integration/jersey-2673/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2673/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>jersey</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2673.Jersey2673</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2673/src/test/java/org/glassfish/jersey/tests/integration/jersey2673/Jersey2673ITCase.java b/tests/integration/jersey-2673/src/test/java/org/glassfish/jersey/tests/integration/jersey2673/Jersey2673ITCase.java
index 48911ef..d1aa7fb 100644
--- a/tests/integration/jersey-2673/src/test/java/org/glassfish/jersey/tests/integration/jersey2673/Jersey2673ITCase.java
+++ b/tests/integration/jersey-2673/src/test/java/org/glassfish/jersey/tests/integration/jersey2673/Jersey2673ITCase.java
@@ -18,9 +18,9 @@
 
 import java.util.List;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.validation.ValidationError;
diff --git a/tests/integration/jersey-2689/pom.xml b/tests/integration/jersey-2689/pom.xml
index f46fb72..deb934a 100644
--- a/tests/integration/jersey-2689/pom.xml
+++ b/tests/integration/jersey-2689/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2689</artifactId>
@@ -40,6 +40,12 @@
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
             <artifactId>jersey-bean-validation</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>jakarta.el</groupId>
+                    <artifactId>jakarta.el-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -57,23 +63,27 @@
             <artifactId>jackson-databind</artifactId>
             <version>${jackson.version}</version>
         </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.jaxrs</groupId>
-            <artifactId>jackson-jaxrs-json-provider</artifactId>
-            <version>${jackson.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>jakarta.activation</groupId>
-                    <artifactId>jakarta.activation-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.fasterxml.jackson.jaxrs</groupId>-->
+<!--            <artifactId>jackson-jaxrs-json-provider</artifactId>-->
+<!--            <version>${jackson.version}</version>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-external</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-jackson</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 
     <build>
@@ -92,5 +102,4 @@
             </plugin>
         </plugins>
     </build>
-
 </project>
diff --git a/tests/integration/jersey-2689/src/main/java/org/glassfish/jersey/tests/integration/jersey2689/Jersey2689.java b/tests/integration/jersey-2689/src/main/java/org/glassfish/jersey/tests/integration/jersey2689/Jersey2689.java
index fc18355..5493b6d 100644
--- a/tests/integration/jersey-2689/src/main/java/org/glassfish/jersey/tests/integration/jersey2689/Jersey2689.java
+++ b/tests/integration/jersey-2689/src/main/java/org/glassfish/jersey/tests/integration/jersey2689/Jersey2689.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.jersey2689;
 
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
 
 /**
  * @author Oscar Guindzberg
diff --git a/tests/integration/jersey-2689/src/main/java/org/glassfish/jersey/tests/integration/jersey2689/Resource.java b/tests/integration/jersey-2689/src/main/java/org/glassfish/jersey/tests/integration/jersey2689/Resource.java
index 6e97b9e..d7cca88 100644
--- a/tests/integration/jersey-2689/src/main/java/org/glassfish/jersey/tests/integration/jersey2689/Resource.java
+++ b/tests/integration/jersey-2689/src/main/java/org/glassfish/jersey/tests/integration/jersey2689/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey2689;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
 
-import javax.validation.Valid;
+import jakarta.validation.Valid;
 
 @Path("/")
 public class Resource {
diff --git a/tests/integration/jersey-2689/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2689/src/main/webapp/WEB-INF/web.xml
index 3842845..ad424f8 100644
--- a/tests/integration/jersey-2689/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2689/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>testServlet1</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2689.Jersey2689</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2689/src/test/java/org/glassfish/jersey/tests/integration/jersey2689/Jersey2689ITCase.java b/tests/integration/jersey-2689/src/test/java/org/glassfish/jersey/tests/integration/jersey2689/Jersey2689ITCase.java
index b773a5f..e0fb780 100644
--- a/tests/integration/jersey-2689/src/test/java/org/glassfish/jersey/tests/integration/jersey2689/Jersey2689ITCase.java
+++ b/tests/integration/jersey-2689/src/test/java/org/glassfish/jersey/tests/integration/jersey2689/Jersey2689ITCase.java
@@ -22,10 +22,11 @@
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
@@ -38,7 +39,6 @@
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
 
 /**
  * Tests for JERSEY-2689: Problem with validation errors on primitive type arrays.
diff --git a/tests/integration/jersey-2704/pom.xml b/tests/integration/jersey-2704/pom.xml
index 787108f..5dc92da 100644
--- a/tests/integration/jersey-2704/pom.xml
+++ b/tests/integration/jersey-2704/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2704</artifactId>
@@ -45,6 +45,12 @@
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-external</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 
     <build>
@@ -58,7 +64,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2704/src/main/java/org/glassfish/jersey/tests/integration/jersey2704/ServiceLocatorSetup.java b/tests/integration/jersey-2704/src/main/java/org/glassfish/jersey/tests/integration/jersey2704/ServiceLocatorSetup.java
index 3eb8be8..5eda03d 100644
--- a/tests/integration/jersey-2704/src/main/java/org/glassfish/jersey/tests/integration/jersey2704/ServiceLocatorSetup.java
+++ b/tests/integration/jersey-2704/src/main/java/org/glassfish/jersey/tests/integration/jersey2704/ServiceLocatorSetup.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2704;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 
 import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
diff --git a/tests/integration/jersey-2704/src/main/java/org/glassfish/jersey/tests/integration/jersey2704/TestResource.java b/tests/integration/jersey-2704/src/main/java/org/glassfish/jersey/tests/integration/jersey2704/TestResource.java
index dc07f94..bbb2931 100644
--- a/tests/integration/jersey-2704/src/main/java/org/glassfish/jersey/tests/integration/jersey2704/TestResource.java
+++ b/tests/integration/jersey-2704/src/main/java/org/glassfish/jersey/tests/integration/jersey2704/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.jersey2704;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 
diff --git a/tests/integration/jersey-2704/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2704/src/main/webapp/WEB-INF/web.xml
index 44a2543..851df09 100644
--- a/tests/integration/jersey-2704/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2704/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
         <servlet-name>test</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2704.TestApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-2704/src/test/java/org/glassfish/jersey/tests/integration/jersey2704/Jersey2704ITCase.java b/tests/integration/jersey-2704/src/test/java/org/glassfish/jersey/tests/integration/jersey2704/Jersey2704ITCase.java
index c5b2c43..7ab7186 100644
--- a/tests/integration/jersey-2704/src/test/java/org/glassfish/jersey/tests/integration/jersey2704/Jersey2704ITCase.java
+++ b/tests/integration/jersey-2704/src/test/java/org/glassfish/jersey/tests/integration/jersey2704/Jersey2704ITCase.java
@@ -20,7 +20,7 @@
 import java.net.HttpURLConnection;
 import java.net.URL;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-2776/pom.xml b/tests/integration/jersey-2776/pom.xml
index 44f59b3..c9fdda3 100644
--- a/tests/integration/jersey-2776/pom.xml
+++ b/tests/integration/jersey-2776/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2776</artifactId>
@@ -37,7 +37,7 @@
 
     <dependencies>
         <!-- For testing multipart support with another http client -->
-        <!-- The order of these imports are important as it's the first dependency that has a javax.ws.rs.ext.RuntimeDelegate in
+        <!-- The order of these imports are important as it's the first dependency that has a jakarta.ws.rs.ext.RuntimeDelegate in
              the services that will be used. -->
         <dependency>
             <groupId>org.apache.cxf</groupId>
diff --git a/tests/integration/jersey-2776/src/main/java/org/glassfish/jersey/tests/integration/jersey2776/TestApplication.java b/tests/integration/jersey-2776/src/main/java/org/glassfish/jersey/tests/integration/jersey2776/TestApplication.java
index 3739ba3..1509588 100644
--- a/tests/integration/jersey-2776/src/main/java/org/glassfish/jersey/tests/integration/jersey2776/TestApplication.java
+++ b/tests/integration/jersey-2776/src/main/java/org/glassfish/jersey/tests/integration/jersey2776/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2776;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.media.multipart.MultiPartFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/jersey-2776/src/main/java/org/glassfish/jersey/tests/integration/jersey2776/TestResource.java b/tests/integration/jersey-2776/src/main/java/org/glassfish/jersey/tests/integration/jersey2776/TestResource.java
index 1f05e91..e291864 100644
--- a/tests/integration/jersey-2776/src/main/java/org/glassfish/jersey/tests/integration/jersey2776/TestResource.java
+++ b/tests/integration/jersey-2776/src/main/java/org/glassfish/jersey/tests/integration/jersey2776/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey2776;
 
-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.MediaType;
+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.MediaType;
 
 import org.glassfish.jersey.media.multipart.FormDataBodyPart;
 import org.glassfish.jersey.media.multipart.FormDataParam;
diff --git a/tests/integration/jersey-2776/src/test/java/org/glassfish/jersey/tests/integration/jersey2776/Jersey2776ITCase.java b/tests/integration/jersey-2776/src/test/java/org/glassfish/jersey/tests/integration/jersey2776/Jersey2776ITCase.java
index ac57a93..b432102 100644
--- a/tests/integration/jersey-2776/src/test/java/org/glassfish/jersey/tests/integration/jersey2776/Jersey2776ITCase.java
+++ b/tests/integration/jersey-2776/src/test/java/org/glassfish/jersey/tests/integration/jersey2776/Jersey2776ITCase.java
@@ -18,12 +18,12 @@
 
 import java.nio.charset.StandardCharsets;
 
-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.Application;
-import javax.ws.rs.core.MediaType;
+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.Application;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.multipart.internal.MultiPartReaderClientSide;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-2794/pom.xml b/tests/integration/jersey-2794/pom.xml
index e9a8b55..f35e413 100644
--- a/tests/integration/jersey-2794/pom.xml
+++ b/tests/integration/jersey-2794/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2794</artifactId>
@@ -63,7 +63,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2794/src/main/java/org/glassfish/jersey/tests/integration/jersey2794/TestApplication.java b/tests/integration/jersey-2794/src/main/java/org/glassfish/jersey/tests/integration/jersey2794/TestApplication.java
index 615df07..370e39a 100644
--- a/tests/integration/jersey-2794/src/main/java/org/glassfish/jersey/tests/integration/jersey2794/TestApplication.java
+++ b/tests/integration/jersey-2794/src/main/java/org/glassfish/jersey/tests/integration/jersey2794/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2794;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.media.multipart.MultiPartFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/jersey-2794/src/main/java/org/glassfish/jersey/tests/integration/jersey2794/TestResource.java b/tests/integration/jersey-2794/src/main/java/org/glassfish/jersey/tests/integration/jersey2794/TestResource.java
index aa8b89f..12dce34 100644
--- a/tests/integration/jersey-2794/src/main/java/org/glassfish/jersey/tests/integration/jersey2794/TestResource.java
+++ b/tests/integration/jersey-2794/src/main/java/org/glassfish/jersey/tests/integration/jersey2794/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.InputStream;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.media.multipart.FormDataParam;
 
diff --git a/tests/integration/jersey-2794/src/test/java/org/glassfish/jersey/tests/integration/jersey2794/Jersey2794ITCase.java b/tests/integration/jersey-2794/src/test/java/org/glassfish/jersey/tests/integration/jersey2794/Jersey2794ITCase.java
index 27f2ffb..80eca2d 100644
--- a/tests/integration/jersey-2794/src/test/java/org/glassfish/jersey/tests/integration/jersey2794/Jersey2794ITCase.java
+++ b/tests/integration/jersey-2794/src/test/java/org/glassfish/jersey/tests/integration/jersey2794/Jersey2794ITCase.java
@@ -28,7 +28,7 @@
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-2846/pom.xml b/tests/integration/jersey-2846/pom.xml
index b4263ca..58df897 100644
--- a/tests/integration/jersey-2846/pom.xml
+++ b/tests/integration/jersey-2846/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2846</artifactId>
@@ -63,7 +63,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2846/src/main/java/org/glassfish/jersey/tests/integration/jersey2846/TestApplication.java b/tests/integration/jersey-2846/src/main/java/org/glassfish/jersey/tests/integration/jersey2846/TestApplication.java
index 42dafbe..a695db6 100644
--- a/tests/integration/jersey-2846/src/main/java/org/glassfish/jersey/tests/integration/jersey2846/TestApplication.java
+++ b/tests/integration/jersey-2846/src/main/java/org/glassfish/jersey/tests/integration/jersey2846/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2846;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.media.multipart.MultiPartFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/jersey-2846/src/main/java/org/glassfish/jersey/tests/integration/jersey2846/TestResource.java b/tests/integration/jersey-2846/src/main/java/org/glassfish/jersey/tests/integration/jersey2846/TestResource.java
index 7356fcf..9d5d737 100644
--- a/tests/integration/jersey-2846/src/main/java/org/glassfish/jersey/tests/integration/jersey2846/TestResource.java
+++ b/tests/integration/jersey-2846/src/main/java/org/glassfish/jersey/tests/integration/jersey2846/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.io.File;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.media.multipart.FormDataParam;
 
diff --git a/tests/integration/jersey-2846/src/test/java/org/glassfish/jersey/tests/integration/jersey2846/Jersey2846ITCase.java b/tests/integration/jersey-2846/src/test/java/org/glassfish/jersey/tests/integration/jersey2846/Jersey2846ITCase.java
index 7656af8..4286aef 100644
--- a/tests/integration/jersey-2846/src/test/java/org/glassfish/jersey/tests/integration/jersey2846/Jersey2846ITCase.java
+++ b/tests/integration/jersey-2846/src/test/java/org/glassfish/jersey/tests/integration/jersey2846/Jersey2846ITCase.java
@@ -26,10 +26,10 @@
 import java.util.Arrays;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.media.multipart.FormDataBodyPart;
diff --git a/tests/integration/jersey-2878/pom.xml b/tests/integration/jersey-2878/pom.xml
index aa32183..9811834 100644
--- a/tests/integration/jersey-2878/pom.xml
+++ b/tests/integration/jersey-2878/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2878</artifactId>
@@ -64,7 +64,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2878/src/main/java/org/glassfish/jersey/tests/integration/jersey2878/TestApplication.java b/tests/integration/jersey-2878/src/main/java/org/glassfish/jersey/tests/integration/jersey2878/TestApplication.java
index 03a5b18..e7ca5d5 100644
--- a/tests/integration/jersey-2878/src/main/java/org/glassfish/jersey/tests/integration/jersey2878/TestApplication.java
+++ b/tests/integration/jersey-2878/src/main/java/org/glassfish/jersey/tests/integration/jersey2878/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2878;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/jersey-2878/src/main/java/org/glassfish/jersey/tests/integration/jersey2878/TestResource.java b/tests/integration/jersey-2878/src/main/java/org/glassfish/jersey/tests/integration/jersey2878/TestResource.java
index b3414ba..d5d94fb 100644
--- a/tests/integration/jersey-2878/src/main/java/org/glassfish/jersey/tests/integration/jersey2878/TestResource.java
+++ b/tests/integration/jersey-2878/src/main/java/org/glassfish/jersey/tests/integration/jersey2878/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey2878;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * A simple resource that returns a string.
diff --git a/tests/integration/jersey-2878/src/test/java/org/glassfish/jersey/tests/integration/jersey2878/Jersey2878ITCase.java b/tests/integration/jersey-2878/src/test/java/org/glassfish/jersey/tests/integration/jersey2878/Jersey2878ITCase.java
index 2a15d4a..3f9e10f 100644
--- a/tests/integration/jersey-2878/src/test/java/org/glassfish/jersey/tests/integration/jersey2878/Jersey2878ITCase.java
+++ b/tests/integration/jersey-2878/src/test/java/org/glassfish/jersey/tests/integration/jersey2878/Jersey2878ITCase.java
@@ -21,11 +21,11 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientResponseContext;
-import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientResponseContext;
+import jakarta.ws.rs.client.ClientResponseFilter;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-2892/pom.xml b/tests/integration/jersey-2892/pom.xml
index e9cc76e..5137972 100644
--- a/tests/integration/jersey-2892/pom.xml
+++ b/tests/integration/jersey-2892/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-2892</artifactId>
@@ -70,7 +70,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-2892/src/main/java/org/glassfish/jersey/tests/integration/jersey2892/TestApplication.java b/tests/integration/jersey-2892/src/main/java/org/glassfish/jersey/tests/integration/jersey2892/TestApplication.java
index 78b6f39..ad5a541 100644
--- a/tests/integration/jersey-2892/src/main/java/org/glassfish/jersey/tests/integration/jersey2892/TestApplication.java
+++ b/tests/integration/jersey-2892/src/main/java/org/glassfish/jersey/tests/integration/jersey2892/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey2892;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.message.filtering.EntityFilteringFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/jersey-2892/src/main/java/org/glassfish/jersey/tests/integration/jersey2892/TestResource.java b/tests/integration/jersey-2892/src/main/java/org/glassfish/jersey/tests/integration/jersey2892/TestResource.java
index dc6593c..471625d 100644
--- a/tests/integration/jersey-2892/src/main/java/org/glassfish/jersey/tests/integration/jersey2892/TestResource.java
+++ b/tests/integration/jersey-2892/src/main/java/org/glassfish/jersey/tests/integration/jersey2892/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.jersey2892;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlTransient;
 
 /**
  * A resource that provides a means to test whether repeating classes in object graph are correctly filtered out.
diff --git a/tests/integration/jersey-2892/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-2892/src/main/webapp/WEB-INF/web.xml
index d52a435..1f1ae9b 100644
--- a/tests/integration/jersey-2892/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-2892/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,7 +24,7 @@
         <servlet-name>jerseyMoxyFilteringFeature</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2892.TestApplication</param-value>
         </init-param>
         <init-param>
@@ -42,7 +42,7 @@
         <servlet-name>jerseyJacksonFilteringFeature</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey2892.TestApplication</param-value>
         </init-param>
         <init-param>
diff --git a/tests/integration/jersey-2892/src/test/java/org/glassfish/jersey/tests/integration/jersey2892/AbstractJerseyEntityFilteringITCase.java b/tests/integration/jersey-2892/src/test/java/org/glassfish/jersey/tests/integration/jersey2892/AbstractJerseyEntityFilteringITCase.java
index 73ac0a3..89ce16d 100644
--- a/tests/integration/jersey-2892/src/test/java/org/glassfish/jersey/tests/integration/jersey2892/AbstractJerseyEntityFilteringITCase.java
+++ b/tests/integration/jersey-2892/src/test/java/org/glassfish/jersey/tests/integration/jersey2892/AbstractJerseyEntityFilteringITCase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey2892;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-3662/pom.xml b/tests/integration/jersey-3662/pom.xml
index 727cc4c..8b4e3d7 100644
--- a/tests/integration/jersey-3662/pom.xml
+++ b/tests/integration/jersey-3662/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -52,4 +52,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/tests/integration/jersey-3662/src/test/java/org/glassfish/jersey/tests/integration/jersey3662/Junit5Test.java b/tests/integration/jersey-3662/src/test/java/org/glassfish/jersey/tests/integration/jersey3662/Junit5Test.java
index ac3251e..c971a46 100644
--- a/tests/integration/jersey-3662/src/test/java/org/glassfish/jersey/tests/integration/jersey3662/Junit5Test.java
+++ b/tests/integration/jersey-3662/src/test/java/org/glassfish/jersey/tests/integration/jersey3662/Junit5Test.java
@@ -18,10 +18,10 @@
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jersey-3670/pom.xml b/tests/integration/jersey-3670/pom.xml
index ccc2631..47891e9 100644
--- a/tests/integration/jersey-3670/pom.xml
+++ b/tests/integration/jersey-3670/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-3670</artifactId>
diff --git a/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyApplication.java b/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyApplication.java
index 711cf96..2ea7707 100644
--- a/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyApplication.java
+++ b/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.jersey3670;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
diff --git a/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyConverterProvider.java b/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyConverterProvider.java
index e0053f6..0028c2f 100644
--- a/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyConverterProvider.java
+++ b/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyConverterProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey3670;
 
-import javax.annotation.Priority;
-import javax.ws.rs.ext.ParamConverter;
-import javax.ws.rs.ext.ParamConverterProvider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.ext.ParamConverter;
+import jakarta.ws.rs.ext.ParamConverterProvider;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
diff --git a/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyResource.java b/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyResource.java
index d7aeb6a..dca242d 100644
--- a/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyResource.java
+++ b/tests/integration/jersey-3670/src/main/java/org/glassfish/jersey/tests/integration/jersey3670/MyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.jersey3670;
 
-import javax.validation.executable.ExecutableType;
-import javax.validation.executable.ValidateOnExecution;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.validation.executable.ExecutableType;
+import jakarta.validation.executable.ValidateOnExecution;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 @Path("/param/{value}")
 @ValidateOnExecution(type = ExecutableType.NONE)
diff --git a/tests/integration/jersey-3670/src/test/java/org/glassfish/jersey/tests/integration/jersey3670/ExternalApplicationParamConverterTest.java b/tests/integration/jersey-3670/src/test/java/org/glassfish/jersey/tests/integration/jersey3670/ExternalApplicationParamConverterTest.java
index 963b4b5..b2198a8 100644
--- a/tests/integration/jersey-3670/src/test/java/org/glassfish/jersey/tests/integration/jersey3670/ExternalApplicationParamConverterTest.java
+++ b/tests/integration/jersey-3670/src/test/java/org/glassfish/jersey/tests/integration/jersey3670/ExternalApplicationParamConverterTest.java
@@ -22,7 +22,7 @@
 import org.glassfish.jersey.test.spi.TestContainerFactory;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git a/tests/integration/jersey-3796/pom.xml b/tests/integration/jersey-3796/pom.xml
index ebca552..009c29e 100644
--- a/tests/integration/jersey-3796/pom.xml
+++ b/tests/integration/jersey-3796/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-3796</artifactId>
@@ -44,6 +44,12 @@
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jackson</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
+        </dependency>
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -70,7 +76,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyApplication.java b/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyApplication.java
index 59b19b0..c1df871 100644
--- a/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyApplication.java
+++ b/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import org.glassfish.jersey.server.ResourceConfig;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 /**
  *  The very basic instance of application to init the test
diff --git a/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyProvider.java b/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyProvider.java
index bf93908..920082e 100644
--- a/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyProvider.java
+++ b/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.integration.jersey3796;
 
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
 import java.util.HashMap;
 import java.util.Map;
 
diff --git a/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyResource.java b/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyResource.java
index 2a5ea74..644a197 100644
--- a/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyResource.java
+++ b/tests/integration/jersey-3796/src/main/java/org/glassfish/jersey/tests/integration/jersey3796/MyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey3796;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 import java.util.HashMap;
 import java.util.Map;
 
diff --git a/tests/integration/jersey-3796/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-3796/src/main/webapp/WEB-INF/web.xml
index 3ec7e3a..91318c1 100644
--- a/tests/integration/jersey-3796/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-3796/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey3796Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey3796.MyApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-3796/src/test/java/org/glassfish/jersey/tests/integration/jersey3796/Jersey3796ITCase.java b/tests/integration/jersey-3796/src/test/java/org/glassfish/jersey/tests/integration/jersey3796/Jersey3796ITCase.java
index ebe4c52..7a63311 100644
--- a/tests/integration/jersey-3796/src/test/java/org/glassfish/jersey/tests/integration/jersey3796/Jersey3796ITCase.java
+++ b/tests/integration/jersey-3796/src/test/java/org/glassfish/jersey/tests/integration/jersey3796/Jersey3796ITCase.java
@@ -25,8 +25,8 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 import java.util.Map;
 
 /**
diff --git a/tests/integration/jersey-3992/pom.xml b/tests/integration/jersey-3992/pom.xml
index 3c9a95a..3480a73 100644
--- a/tests/integration/jersey-3992/pom.xml
+++ b/tests/integration/jersey-3992/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-3992</artifactId>
diff --git a/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/MainApplication.java b/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/MainApplication.java
index 70c1939..0a8563c 100644
--- a/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/MainApplication.java
+++ b/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/MainApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,23 +22,21 @@
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.Logger;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.BeanManager;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.inject.spi.BeanManager;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application to configure resources.
  *
  * @author Jonathan Benoit
  */
-@ApplicationPath("main")
 @ApplicationScoped
 public class MainApplication extends Application {
 
diff --git a/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/UserResource.java b/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/UserResource.java
index 91edf6a8..716c77e 100644
--- a/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/UserResource.java
+++ b/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/UserResource.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2018, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,8 +17,8 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  *
diff --git a/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/UserResourceImpl.java b/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/UserResourceImpl.java
index 218d60c..2cf7582 100644
--- a/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/UserResourceImpl.java
+++ b/tests/integration/jersey-3992/src/main/java/org/glassfish/jersey/tests/cdi/resources/UserResourceImpl.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2018, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2018 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -16,8 +17,8 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  *
diff --git a/tests/integration/jersey-3992/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java b/tests/integration/jersey-3992/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
index 212a115..a20d5d0 100644
--- a/tests/integration/jersey-3992/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
+++ b/tests/integration/jersey-3992/src/test/java/org/glassfish/jersey/tests/cdi/resources/CdiTest.java
@@ -19,8 +19,8 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.UriBuilder;
 import org.glassfish.jersey.test.JerseyTest;
 import org.jboss.weld.environment.se.Weld;
 import org.junit.jupiter.api.AfterEach;
diff --git a/tests/integration/jersey-3992/src/test/java/org/glassfish/jersey/tests/cdi/resources/InheritanceTest.java b/tests/integration/jersey-3992/src/test/java/org/glassfish/jersey/tests/cdi/resources/InheritanceTest.java
index a05656b..0d32a08 100644
--- a/tests/integration/jersey-3992/src/test/java/org/glassfish/jersey/tests/cdi/resources/InheritanceTest.java
+++ b/tests/integration/jersey-3992/src/test/java/org/glassfish/jersey/tests/cdi/resources/InheritanceTest.java
@@ -1,5 +1,6 @@
 /*
- * Copyright (c) 2018, 2022 Payara Foundation and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018 Payara Foundation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +17,8 @@
 
 package org.glassfish.jersey.tests.cdi.resources;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 import org.junit.jupiter.api.Test;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.CoreMatchers.is;
diff --git a/tests/integration/jersey-4003/pom.xml b/tests/integration/jersey-4003/pom.xml
index 28219b7..732e332 100644
--- a/tests/integration/jersey-4003/pom.xml
+++ b/tests/integration/jersey-4003/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tests/integration/jersey-4003/src/test/java/org/glassfish/jersey/tests/integration/jersey4003/LostResponseTest.java b/tests/integration/jersey-4003/src/test/java/org/glassfish/jersey/tests/integration/jersey4003/LostResponseTest.java
index 2bc3a12..394995c 100644
--- a/tests/integration/jersey-4003/src/test/java/org/glassfish/jersey/tests/integration/jersey4003/LostResponseTest.java
+++ b/tests/integration/jersey-4003/src/test/java/org/glassfish/jersey/tests/integration/jersey4003/LostResponseTest.java
@@ -16,11 +16,28 @@
 
 package org.glassfish.jersey.tests.integration.jersey4003;
 
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.client.HttpUrlConnectorProvider;
+import org.glassfish.jersey.client.JerseyClientBuilder;
+import org.glassfish.jersey.client.JerseyCompletionStageRxInvoker;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import org.mockito.Mockito;
+
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.client.ResponseProcessingException;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
-import java.net.Proxy;
 import java.net.URL;
 import java.util.concurrent.CompletionStage;
 import java.util.concurrent.CountDownLatch;
@@ -29,23 +46,6 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.client.ResponseProcessingException;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.glassfish.jersey.client.ClientConfig;
-import org.glassfish.jersey.client.HttpUrlConnectorProvider;
-import org.glassfish.jersey.client.JerseyClientBuilder;
-import org.glassfish.jersey.client.JerseyCompletionStageRxInvoker;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-
 public class LostResponseTest {
 
     private static final String DUMMY_URL = "http://foo";
diff --git a/tests/integration/jersey-4099/pom.xml b/tests/integration/jersey-4099/pom.xml
index bcceb3c..2d1eb20 100644
--- a/tests/integration/jersey-4099/pom.xml
+++ b/tests/integration/jersey-4099/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-4099</artifactId>
@@ -80,5 +80,4 @@
             </plugin>
         </plugins>
     </build>
-
 </project>
diff --git a/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyApplication.java b/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyApplication.java
index 0a440ca..a0e5fa5 100644
--- a/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyApplication.java
+++ b/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyApplication.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 Christian Kaltepoth. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -19,7 +20,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 public class MyApplication extends Application {
 
diff --git a/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyPriority100Mapper.java b/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyPriority100Mapper.java
index 461c838..5946bb0 100644
--- a/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyPriority100Mapper.java
+++ b/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyPriority100Mapper.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 Christian Kaltepoth. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -15,9 +16,9 @@
  */
 package org.glassfish.jersey.tests.integration.jersey4099;
 
-import javax.annotation.Priority;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * This mapper has a lower priority and should always be selected
diff --git a/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyPriority200Mapper.java b/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyPriority200Mapper.java
index 3bcb8bc..c30a9a5 100644
--- a/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyPriority200Mapper.java
+++ b/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyPriority200Mapper.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 Christian Kaltepoth. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -15,9 +16,9 @@
  */
 package org.glassfish.jersey.tests.integration.jersey4099;
 
-import javax.annotation.Priority;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 /**
  * Mapper with higher priority should lose against the other one
diff --git a/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyResource.java b/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyResource.java
index 2fe8a6b..791e1f7 100644
--- a/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyResource.java
+++ b/tests/integration/jersey-4099/src/main/java/org/glassfish/jersey/tests/integration/jersey4099/MyResource.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 Christian Kaltepoth. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -15,9 +16,9 @@
  */
 package org.glassfish.jersey.tests.integration.jersey4099;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @RequestScoped
 @Path("/exception")
diff --git a/tests/integration/jersey-4321/pom.xml b/tests/integration/jersey-4321/pom.xml
index 10409f2..b991dad 100644
--- a/tests/integration/jersey-4321/pom.xml
+++ b/tests/integration/jersey-4321/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tests/integration/jersey-4321/src/test/java/org/glassfish/jersey/tests/integration/jersey4321/StreamingTest.java b/tests/integration/jersey-4321/src/test/java/org/glassfish/jersey/tests/integration/jersey4321/StreamingTest.java
index 5c4be42..c3f2993 100644
--- a/tests/integration/jersey-4321/src/test/java/org/glassfish/jersey/tests/integration/jersey4321/StreamingTest.java
+++ b/tests/integration/jersey-4321/src/test/java/org/glassfish/jersey/tests/integration/jersey4321/StreamingTest.java
@@ -23,13 +23,13 @@
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.jupiter.api.Test;
 
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 import java.io.IOException;
 import java.io.InputStream;
 
diff --git a/tests/integration/jersey-4507/pom.xml b/tests/integration/jersey-4507/pom.xml
index 02a5836..dc20389 100644
--- a/tests/integration/jersey-4507/pom.xml
+++ b/tests/integration/jersey-4507/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tests/integration/jersey-4507/src/test/java/org/glassfish/jersey/tests/integration/jersey4507/SSETest.java b/tests/integration/jersey-4507/src/test/java/org/glassfish/jersey/tests/integration/jersey4507/SSETest.java
index f111e44..f3f78e7 100644
--- a/tests/integration/jersey-4507/src/test/java/org/glassfish/jersey/tests/integration/jersey4507/SSETest.java
+++ b/tests/integration/jersey-4507/src/test/java/org/glassfish/jersey/tests/integration/jersey4507/SSETest.java
@@ -31,8 +31,8 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Callable;
diff --git a/tests/integration/jersey-4542/pom.xml b/tests/integration/jersey-4542/pom.xml
index 894379e..d106b98 100644
--- a/tests/integration/jersey-4542/pom.xml
+++ b/tests/integration/jersey-4542/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tests/integration/jersey-4542/src/main/java/org.glassfish.jersey.tests.integration.jersey4542/ValidationInflector.java b/tests/integration/jersey-4542/src/main/java/org.glassfish.jersey.tests.integration.jersey4542/ValidationInflector.java
index 61934e0..2ad1c70 100644
--- a/tests/integration/jersey-4542/src/main/java/org.glassfish.jersey.tests.integration.jersey4542/ValidationInflector.java
+++ b/tests/integration/jersey-4542/src/main/java/org.glassfish.jersey.tests.integration.jersey4542/ValidationInflector.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestContext;
 
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
 
 import org.glassfish.jersey.message.internal.ReaderWriter;
 import org.glassfish.jersey.process.Inflector;
diff --git a/tests/integration/jersey-4542/src/test/java/org.glassfish.jersey.tests.integration.jersey4542/ProgrammaticValidationTest.java b/tests/integration/jersey-4542/src/test/java/org.glassfish.jersey.tests.integration.jersey4542/ProgrammaticValidationTest.java
index 41ff2e3..eb61641 100644
--- a/tests/integration/jersey-4542/src/test/java/org.glassfish.jersey.tests.integration.jersey4542/ProgrammaticValidationTest.java
+++ b/tests/integration/jersey-4542/src/test/java/org.glassfish.jersey.tests.integration.jersey4542/ProgrammaticValidationTest.java
@@ -19,10 +19,10 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/jersey-4697/pom.xml b/tests/integration/jersey-4697/pom.xml
index af77014..7672011 100644
--- a/tests/integration/jersey-4697/pom.xml
+++ b/tests/integration/jersey-4697/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -42,4 +42,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/tests/integration/jersey-4697/src/test/java/org/glassfish/jersey/tests/integration/jersey4697/MonitoringEventListenerTest.java b/tests/integration/jersey-4697/src/test/java/org/glassfish/jersey/tests/integration/jersey4697/MonitoringEventListenerTest.java
index cfc4d23..2cd56a2 100644
--- a/tests/integration/jersey-4697/src/test/java/org/glassfish/jersey/tests/integration/jersey4697/MonitoringEventListenerTest.java
+++ b/tests/integration/jersey-4697/src/test/java/org/glassfish/jersey/tests/integration/jersey4697/MonitoringEventListenerTest.java
@@ -24,17 +24,17 @@
 import java.util.Collection;
 import java.util.Map;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import javax.management.JMX;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 import javax.management.openmbean.CompositeDataSupport;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.internal.inject.InjectionManager;
 import org.glassfish.jersey.internal.inject.Providers;
diff --git a/tests/integration/jersey-4722/pom.xml b/tests/integration/jersey-4722/pom.xml
index dd13226..f5b7834 100644
--- a/tests/integration/jersey-4722/pom.xml
+++ b/tests/integration/jersey-4722/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -39,7 +39,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
         </dependency>
 
         <dependency>
@@ -59,4 +59,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/tests/integration/jersey-4722/src/main/java/org/glassfish/jersey/tests/integration/jersey4722/Resource4722.java b/tests/integration/jersey-4722/src/main/java/org/glassfish/jersey/tests/integration/jersey4722/Resource4722.java
index 616a451..4dcce45 100644
--- a/tests/integration/jersey-4722/src/main/java/org/glassfish/jersey/tests/integration/jersey4722/Resource4722.java
+++ b/tests/integration/jersey-4722/src/main/java/org/glassfish/jersey/tests/integration/jersey4722/Resource4722.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey4722;
 
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 @Path("/")
 public class Resource4722 {
diff --git a/tests/integration/jersey-4722/src/test/java/org/glassfish/jersey/tests/integration/jersey4722/Jersey4722Test.java b/tests/integration/jersey-4722/src/test/java/org/glassfish/jersey/tests/integration/jersey4722/Jersey4722Test.java
index 74a367bd..fef3ef5 100644
--- a/tests/integration/jersey-4722/src/test/java/org/glassfish/jersey/tests/integration/jersey4722/Jersey4722Test.java
+++ b/tests/integration/jersey-4722/src/test/java/org/glassfish/jersey/tests/integration/jersey4722/Jersey4722Test.java
@@ -26,10 +26,10 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 public class Jersey4722Test extends JerseyTest {
     @Override
diff --git a/tests/integration/jersey-4949/pom.xml b/tests/integration/jersey-4949/pom.xml
index 09530be..d36f702 100644
--- a/tests/integration/jersey-4949/pom.xml
+++ b/tests/integration/jersey-4949/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-4949</artifactId>
diff --git a/tests/integration/jersey-4949/src/main/java/org/glassfish/jersey/tests/integration/jersey4949/Issue4949Resource.java b/tests/integration/jersey-4949/src/main/java/org/glassfish/jersey/tests/integration/jersey4949/Issue4949Resource.java
index b6d34a7..96bed00 100644
--- a/tests/integration/jersey-4949/src/main/java/org/glassfish/jersey/tests/integration/jersey4949/Issue4949Resource.java
+++ b/tests/integration/jersey-4949/src/main/java/org/glassfish/jersey/tests/integration/jersey4949/Issue4949Resource.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.jersey4949;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Test resource.
diff --git a/tests/integration/jersey-4949/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-4949/src/main/webapp/WEB-INF/web.xml
index b337657..32f1990 100644
--- a/tests/integration/jersey-4949/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-4949/src/main/webapp/WEB-INF/web.xml
@@ -23,7 +23,7 @@
         <servlet-name>jersey4949Servlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey4949.Jersey4949</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-4949/src/test/java/org/glassfish/jersey/tests/integration/jersey4949/Jersey4949ITCase.java b/tests/integration/jersey-4949/src/test/java/org/glassfish/jersey/tests/integration/jersey4949/Jersey4949ITCase.java
index 592a761..fad2de5 100644
--- a/tests/integration/jersey-4949/src/test/java/org/glassfish/jersey/tests/integration/jersey4949/Jersey4949ITCase.java
+++ b/tests/integration/jersey-4949/src/test/java/org/glassfish/jersey/tests/integration/jersey4949/Jersey4949ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.jersey4949;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/jersey-5087/pom.xml b/tests/integration/jersey-5087/pom.xml
new file mode 100644
index 0000000..ed7ddc0
--- /dev/null
+++ b/tests/integration/jersey-5087/pom.xml
@@ -0,0 +1,333 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2022, 2023 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>project</artifactId>
+        <groupId>org.glassfish.jersey.tests.integration</groupId>
+        <version>3.0.99-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>jersey-5087</artifactId>
+    <packaging>war</packaging>
+    <name>jersey-tests-integration-jersey-5087</name>
+
+    <description>dependencyConvergence rule check</description>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.glassfish.jersey</groupId>
+                <artifactId>jersey-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.bundles</groupId>
+            <artifactId>jaxrs-ri</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.connectors</groupId>
+            <artifactId>jersey-apache-connector</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.connectors</groupId>
+            <artifactId>jersey-apache5-connector</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.connectors</groupId>
+            <artifactId>jersey-helidon-connector</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.connectors</groupId>
+            <artifactId>jersey-grizzly-connector</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.connectors</groupId>
+            <artifactId>jersey-jetty-connector</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.connectors</groupId>
+            <artifactId>jersey-jdk-connector</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.connectors</groupId>
+            <artifactId>jersey-netty-connector</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-jetty-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-grizzly2-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-grizzly2-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-jetty-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-jdk-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-netty-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-servlet-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-simple-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers.glassfish</groupId>
+            <artifactId>jersey-gf-ejb</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-bean-validation</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-entity-filtering</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-metainf-services</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.microprofile</groupId>
+            <artifactId>jersey-mp-config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-mvc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-mvc-bean-validation</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-mvc-freemarker</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-mvc-jsp</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-mvc-mustache</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-proxy-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-spring6</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-declarative-linking</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-wadl-doclet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.cdi</groupId>
+            <artifactId>jersey-weld2-se</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.cdi</groupId>
+            <artifactId>jersey-cdi1x</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.cdi</groupId>
+            <artifactId>jersey-cdi1x-transaction</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.cdi</groupId>
+            <artifactId>jersey-cdi1x-validation</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.cdi</groupId>
+            <artifactId>jersey-cdi1x-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.cdi</groupId>
+            <artifactId>jersey-cdi1x-ban-custom-hk2-binding</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.cdi</groupId>
+            <artifactId>jersey-cdi-rs-inject</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.rx</groupId>
+            <artifactId>jersey-rx-client-guava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.rx</groupId>
+            <artifactId>jersey-rx-client-rxjava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.rx</groupId>
+            <artifactId>jersey-rx-client-rxjava2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.microprofile</groupId>
+            <artifactId>jersey-mp-rest-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-jaxb</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-jackson</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-jettison</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-processing</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-binding</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-kryo</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-moxy</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-multipart</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-sse</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.security</groupId>
+            <artifactId>oauth1-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.security</groupId>
+            <artifactId>oauth1-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.security</groupId>
+            <artifactId>oauth1-signature</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.security</groupId>
+            <artifactId>oauth2-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.inject</groupId>
+            <artifactId>jersey-hk2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.inject</groupId>
+            <artifactId>jersey-cdi2-se</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework</groupId>
+            <artifactId>jersey-test-framework-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-bundle</artifactId>
+            <type>pom</type>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-external</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-inmemory</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-jdk-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-simple</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-jetty</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework</groupId>
+            <artifactId>jersey-test-framework-util</artifactId>
+        </dependency>
+
+    </dependencies>
+
+    <properties>
+        <maven.test.skip>true</maven.test.skip> <!-- do not run any tests here, it's useless,
+        dependencies clash is being tested even before compilation. -->
+    </properties>
+</project>
\ No newline at end of file
diff --git a/tests/integration/jetty-response-close/src/main/java/org/glassfish/jersey/tests/jettyresponseclose/Resource.java b/tests/integration/jersey-5087/src/main/java/org/glassfish/jersey/tests/integration/jersey5087/Jersey5087.java
similarity index 68%
copy from tests/integration/jetty-response-close/src/main/java/org/glassfish/jersey/tests/jettyresponseclose/Resource.java
copy to tests/integration/jersey-5087/src/main/java/org/glassfish/jersey/tests/integration/jersey5087/Jersey5087.java
index 9ab1e33..05f4d67 100644
--- a/tests/integration/jetty-response-close/src/main/java/org/glassfish/jersey/tests/jettyresponseclose/Resource.java
+++ b/tests/integration/jersey-5087/src/main/java/org/glassfish/jersey/tests/integration/jersey5087/Jersey5087.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,15 +14,13 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.tests.jettyresponseclose;
+package org.glassfish.jersey.tests.integration.jersey5087;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import org.glassfish.jersey.server.ResourceConfig;
 
-@Path("/")
-public class Resource {
-    @GET
-    public String get() {
-        return Resource.class.getName();
+public class Jersey5087 extends ResourceConfig {
+
+    public Jersey5087() {
+        register(Resource5087.class);
     }
 }
diff --git a/tests/integration/jetty-response-close/src/main/java/org/glassfish/jersey/tests/jettyresponseclose/Resource.java b/tests/integration/jersey-5087/src/main/java/org/glassfish/jersey/tests/integration/jersey5087/Resource5087.java
similarity index 71%
rename from tests/integration/jetty-response-close/src/main/java/org/glassfish/jersey/tests/jettyresponseclose/Resource.java
rename to tests/integration/jersey-5087/src/main/java/org/glassfish/jersey/tests/integration/jersey5087/Resource5087.java
index 9ab1e33..ce32dc3 100644
--- a/tests/integration/jetty-response-close/src/main/java/org/glassfish/jersey/tests/jettyresponseclose/Resource.java
+++ b/tests/integration/jersey-5087/src/main/java/org/glassfish/jersey/tests/integration/jersey5087/Resource5087.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,15 +14,17 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.tests.jettyresponseclose;
+package org.glassfish.jersey.tests.integration.jersey5087;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 @Path("/")
-public class Resource {
+public class Resource5087 {
+
     @GET
-    public String get() {
-        return Resource.class.getName();
+    public String getResource() {
+        return "OK";
     }
+
 }
diff --git a/tests/integration/jersey-5087/src/test/java/org/glassfish/jersey/tests/integration/jersey5087/Jersey5087Test.java b/tests/integration/jersey-5087/src/test/java/org/glassfish/jersey/tests/integration/jersey5087/Jersey5087Test.java
new file mode 100644
index 0000000..8c1b3be
--- /dev/null
+++ b/tests/integration/jersey-5087/src/test/java/org/glassfish/jersey/tests/integration/jersey5087/Jersey5087Test.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2022 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.tests.integration.jersey5087;
+
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.server.ServerProperties;
+import org.glassfish.jersey.test.DeploymentContext;
+import org.glassfish.jersey.test.JerseyTest;
+import org.glassfish.jersey.test.ServletDeploymentContext;
+import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.EnumSet;
+
+public class Jersey5087Test extends JerseyTest {
+
+    @Override
+    protected ResourceConfig configure() {
+        return new Jersey5087();
+    }
+
+    @Override
+    protected TestContainerFactory getTestContainerFactory() {
+        return new GrizzlyWebTestContainerFactory();
+    }
+
+    @Override
+    protected DeploymentContext configureDeployment() {
+        return ServletDeploymentContext.newInstance(Jersey5087.class);
+    }
+
+    @Test
+    public void testDependenciesClash() {
+        final String response = target().request().get(String.class);
+        Assert.assertEquals("OK", response);
+    }
+}
diff --git a/tests/integration/jersey-780/pom.xml b/tests/integration/jersey-780/pom.xml
index 471b7ee..9152e17 100644
--- a/tests/integration/jersey-780/pom.xml
+++ b/tests/integration/jersey-780/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-780</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/jersey-780/src/main/java/org/glassfish/jersey/tests/integration/jersey780/HelloWorldResource.java b/tests/integration/jersey-780/src/main/java/org/glassfish/jersey/tests/integration/jersey780/HelloWorldResource.java
index 9049c36..889934d 100644
--- a/tests/integration/jersey-780/src/main/java/org/glassfish/jersey/tests/integration/jersey780/HelloWorldResource.java
+++ b/tests/integration/jersey-780/src/main/java/org/glassfish/jersey/tests/integration/jersey780/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.jersey780;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/jersey-780/src/main/java/org/glassfish/jersey/tests/integration/jersey780/Jersey780.java b/tests/integration/jersey-780/src/main/java/org/glassfish/jersey/tests/integration/jersey780/Jersey780.java
index 5ea850a..84ca874 100644
--- a/tests/integration/jersey-780/src/main/java/org/glassfish/jersey/tests/integration/jersey780/Jersey780.java
+++ b/tests/integration/jersey-780/src/main/java/org/glassfish/jersey/tests/integration/jersey780/Jersey780.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.Collections;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/jersey-780/src/main/webapp/WEB-INF/web.xml b/tests/integration/jersey-780/src/main/webapp/WEB-INF/web.xml
index 007d609..c1624f6 100644
--- a/tests/integration/jersey-780/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/jersey-780/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
         <servlet-name>testServlet1</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.jersey780.Jersey780</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/jersey-780/src/test/java/org/glassfish/jersey/tests/integration/jersey780/HelloWorldResourceITCase.java b/tests/integration/jersey-780/src/test/java/org/glassfish/jersey/tests/integration/jersey780/HelloWorldResourceITCase.java
index a849fd4..fa9761a 100644
--- a/tests/integration/jersey-780/src/test/java/org/glassfish/jersey/tests/integration/jersey780/HelloWorldResourceITCase.java
+++ b/tests/integration/jersey-780/src/test/java/org/glassfish/jersey/tests/integration/jersey780/HelloWorldResourceITCase.java
@@ -21,7 +21,7 @@
 import java.util.Arrays;
 import java.util.List;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/jetty-response-close/pom.xml b/tests/integration/jetty-response-close/pom.xml
deleted file mode 100644
index 22a2d32..0000000
--- a/tests/integration/jetty-response-close/pom.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2020, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>project</artifactId>
-        <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>jetty-response-close</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-jetty-http</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-server</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-server</artifactId>
-            <!-- Test Backward compatibility with this version -->
-            <version>9.4.17.v20190418</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-engine</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <properties>
-        <surefire.security.argline>-Djava.security.manager -Djava.security.policy=${project.build.directory}/test-classes/surefire.policy</surefire.security.argline>
-        <surefire.mvn.plugin.version>3.0.0-M5</surefire.mvn.plugin.version>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <forkMode>none</forkMode>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
\ No newline at end of file
diff --git a/tests/integration/jetty-response-close/src/test/java/org/glassfish/jersey/tests/jettyresponseclose/JettyHttpContainerCloseTest.java b/tests/integration/jetty-response-close/src/test/java/org/glassfish/jersey/tests/jettyresponseclose/JettyHttpContainerCloseTest.java
deleted file mode 100644
index eb8a3ca..0000000
--- a/tests/integration/jetty-response-close/src/test/java/org/glassfish/jersey/tests/jettyresponseclose/JettyHttpContainerCloseTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.jettyresponseclose;
-
-import org.eclipse.jetty.server.Server;
-import org.glassfish.jersey.jetty.JettyHttpContainer;
-import org.glassfish.jersey.jetty.JettyHttpContainerFactory;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
-import java.net.URI;
-
-public class JettyHttpContainerCloseTest {
-
-    private static Server server;
-    private static JettyHttpContainer container;
-    private static final String URL = "http://localhost:9080";
-
-    @BeforeAll
-    public static void setup() {
-        server = JettyHttpContainerFactory.createServer(URI.create(URL),
-                new ResourceConfig(Resource.class));
-        container = (JettyHttpContainer) server.getHandler();
-    }
-
-    @AfterAll
-    public static void teardown() throws Exception {
-        container.doStop();
-    }
-
-    @Test
-    public void testResponseClose() {
-        try (Response response = ClientBuilder.newClient().target(URL).request().get()) {
-            Assertions.assertEquals(200, response.getStatus());
-            Assertions.assertEquals(Resource.class.getName(), response.readEntity(String.class));
-
-        }
-    }
-}
diff --git a/tests/integration/jetty-response-close/src/test/resources/surefire.policy b/tests/integration/jetty-response-close/src/test/resources/surefire.policy
deleted file mode 100644
index f012633..0000000
--- a/tests/integration/jetty-response-close/src/test/resources/surefire.policy
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-// we do not care about java lib itself
-grant codebase "file:${java.home}/-" {
-  permission java.security.AllPermission;
-};
-
-// we do not care about our dependencies
-grant codebase "file:${settings.localRepository}/-" {
-  permission java.security.AllPermission;
-};
-
-grant codebase "file:${user.home}/-" {
-    permission java.io.FilePermission "<<ALL FILES>>", "read";
-};
-
-grant {
-    permission java.lang.management.ManagementPermission "monitor";
-    permission java.util.PropertyPermission "*", "read, write";
-    permission java.util.logging.LoggingPermission "control";
-    permission java.lang.RuntimePermission "setIO";
-    permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
-
-    permission java.lang.RuntimePermission "accessDeclaredMembers";
-    permission java.lang.RuntimePermission "modifyThread";
-    permission java.io.FilePermission "<<ALL FILES>>", "read";
-
-    permission java.lang.RuntimePermission "getenv.JETTY_AVAILABLE_PROCESSORS";
-    permission java.net.SocketPermission "localhost", "accept,connect,listen,resolve";
-    permission java.lang.RuntimePermission "setContextClassLoader";
-};
diff --git a/tests/integration/microprofile/config/helidon/pom.xml b/tests/integration/microprofile/config/helidon/pom.xml
index b28b805..853a70a 100644
--- a/tests/integration/microprofile/config/helidon/pom.xml
+++ b/tests/integration/microprofile/config/helidon/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>microprofile-config-project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration.microprofile</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -42,18 +42,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>io.helidon.config</groupId>
-            <artifactId>helidon-config</artifactId>
-            <version>${helidon.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>io.helidon.microprofile.config</groupId>
-            <artifactId>helidon-microprofile-config</artifactId>
-            <version>${helidon.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.glassfish.jersey.test-framework</groupId>
             <artifactId>jersey-test-framework-core</artifactId>
             <scope>test</scope>
@@ -89,4 +77,54 @@
         </plugins>
     </build>
 
+    <profiles>
+        <profile>
+            <id>TestExclude</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/tests/integration/config/*Test.java</testExclude>
+                            </testExcludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>smallrye-dependency</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>io.smallrye.config</groupId>
+                    <artifactId>smallrye-config</artifactId>
+                    <version>${smallrye.config.version}</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+        <profile>
+            <id>helidon-config-dependency</id>
+            <activation>
+                <jdk>[17,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>io.helidon.microprofile.config</groupId>
+                    <artifactId>helidon-microprofile-config</artifactId>
+                    <version>${helidon.config.version}</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+
 </project>
diff --git a/tests/integration/microprofile/config/helidon/src/main/java/webapp/WEB-INF/web.xml b/tests/integration/microprofile/config/helidon/src/main/java/webapp/WEB-INF/web.xml
index b27c40e..7a6d44f 100644
--- a/tests/integration/microprofile/config/helidon/src/main/java/webapp/WEB-INF/web.xml
+++ b/tests/integration/microprofile/config/helidon/src/main/java/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>helidonConfigApplicationServlet</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.config.MyApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/microprofile/config/helidon/src/test/java/org/glassfish/jersey/tests/integration/config/HelidonConfigApplicationTest.java b/tests/integration/microprofile/config/helidon/src/test/java/org/glassfish/jersey/tests/integration/config/HelidonConfigApplicationTest.java
index 4c6dd4e..79dcd7e 100644
--- a/tests/integration/microprofile/config/helidon/src/test/java/org/glassfish/jersey/tests/integration/config/HelidonConfigApplicationTest.java
+++ b/tests/integration/microprofile/config/helidon/src/test/java/org/glassfish/jersey/tests/integration/config/HelidonConfigApplicationTest.java
@@ -24,8 +24,8 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 
 public class HelidonConfigApplicationTest extends JerseyTest {
 
diff --git a/tests/integration/microprofile/config/pom.xml b/tests/integration/microprofile/config/pom.xml
index abd26ca..7863a8a 100644
--- a/tests/integration/microprofile/config/pom.xml
+++ b/tests/integration/microprofile/config/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>microprofile-integration-project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration.microprofile</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
diff --git a/tests/integration/microprofile/config/webapp/pom.xml b/tests/integration/microprofile/config/webapp/pom.xml
index 9d417a5..d7e961f 100644
--- a/tests/integration/microprofile/config/webapp/pom.xml
+++ b/tests/integration/microprofile/config/webapp/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>microprofile-config-project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration.microprofile</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tests/integration/microprofile/config/webapp/src/main/java/org/glassfish/jersey/tests/integration/config/MyApplication.java b/tests/integration/microprofile/config/webapp/src/main/java/org/glassfish/jersey/tests/integration/config/MyApplication.java
index 1f12a24..5cef514 100644
--- a/tests/integration/microprofile/config/webapp/src/main/java/org/glassfish/jersey/tests/integration/config/MyApplication.java
+++ b/tests/integration/microprofile/config/webapp/src/main/java/org/glassfish/jersey/tests/integration/config/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import org.glassfish.jersey.server.ResourceConfig;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 @ApplicationPath("/")
 public class MyApplication
diff --git a/tests/integration/microprofile/config/webapp/src/main/java/org/glassfish/jersey/tests/integration/config/MyResource.java b/tests/integration/microprofile/config/webapp/src/main/java/org/glassfish/jersey/tests/integration/config/MyResource.java
index eafefd5..4dc6612 100644
--- a/tests/integration/microprofile/config/webapp/src/main/java/org/glassfish/jersey/tests/integration/config/MyResource.java
+++ b/tests/integration/microprofile/config/webapp/src/main/java/org/glassfish/jersey/tests/integration/config/MyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,10 +19,10 @@
 
 import org.glassfish.jersey.server.ResourceConfig;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Response;
 
 @Path("config")
 public class MyResource {
diff --git a/tests/integration/microprofile/pom.xml b/tests/integration/microprofile/pom.xml
index e0c5057..07a66be 100644
--- a/tests/integration/microprofile/pom.xml
+++ b/tests/integration/microprofile/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
@@ -33,7 +33,7 @@
     <modules>
         <module>config</module>
         <module>rest-client</module>
-        <module>rest-client14-compatibility</module>
+        <module>rest-client-tck</module>
     </modules>
 
     <build>
diff --git a/tests/integration/microprofile/rest-client-tck/pom.xml b/tests/integration/microprofile/rest-client-tck/pom.xml
new file mode 100644
index 0000000..496f1ca
--- /dev/null
+++ b/tests/integration/microprofile/rest-client-tck/pom.xml
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2019, 2023 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>microprofile-integration-project</artifactId>
+        <groupId>org.glassfish.jersey.tests.integration.microprofile</groupId>
+        <version>3.0.99-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>jersey-rest-client-tck</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.microprofile</groupId>
+            <artifactId>jersey-mp-rest-client</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <!-- Overrides CDI from parent pom -->
+        <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.ejb</groupId>
+            <artifactId>jakarta.ejb-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.weld.se</groupId>
+            <artifactId>weld-se-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!--<dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <version>4.0.1</version>
+        </dependency>-->
+        <dependency>
+            <groupId>io.smallrye.config</groupId>
+            <artifactId>smallrye-config</artifactId>
+            <version>${smallrye.config.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.microprofile.rest.client</groupId>
+            <artifactId>microprofile-rest-client-tck</artifactId>
+            <version>${microprofile.rest.client.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>${testng6.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.github.tomakehurst</groupId>
+            <artifactId>wiremock</artifactId>
+            <version>${wiremock.version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-server</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-servlet</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-servlets</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-webapp</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-proxy</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>${guava.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-server</artifactId>
+            <version>${jetty.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlet</artifactId>
+            <version>${jetty.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-servlets</artifactId>
+            <version>${jetty.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-webapp</artifactId>
+            <version>${jetty.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-proxy</artifactId>
+            <version>${jetty.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.arquillian.testng</groupId>
+            <artifactId>arquillian-testng-container</artifactId>
+            <version>${arquillian.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.arquillian.container</groupId>
+            <artifactId>arquillian-container-test-spi</artifactId>
+            <version>${arquillian.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.arquillian.container</groupId>
+            <artifactId>arquillian-weld-embedded</artifactId>
+            <version>${arquillian.weld.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework</groupId>
+            <artifactId>jersey-test-framework-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+            <artifactId>jersey-test-framework-provider-bundle</artifactId>
+            <type>pom</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.connectors</groupId>
+            <artifactId>jersey-apache-connector</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.ext.cdi</groupId>
+            <artifactId>jersey-weld2-se</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>${junit4.version}</version>
+        </dependency>
+    </dependencies>
+
+    <profiles>
+        <profile>
+            <id>testRunner</id>
+            <activation>
+                <property>
+                    <name>skipTests</name>
+                    <value>!true</value>
+                </property>
+                <jdk>[11,)</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <dependencies>
+                            <dependency>
+                                <groupId>org.apache.maven.surefire</groupId>
+                                <artifactId>surefire-junit47</artifactId>
+                                <version>${surefire.mvn.plugin.version}</version>
+                            </dependency>
+                            <dependency>
+                                <groupId>org.apache.maven.surefire</groupId>
+                                <artifactId>surefire-testng</artifactId>
+                                <version>${surefire.mvn.plugin.version}</version>
+                            </dependency>
+                        </dependencies>
+                        <configuration>
+                            <threadCount>1</threadCount>
+                            <suiteXmlFiles>
+                                <suiteXmlFile>tck-suite.xml</suiteXmlFile>
+                            </suiteXmlFiles>
+<!--                            <argLine>-verbose:class</argLine>-->
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>uk.co.deliverymind</groupId>
+                        <artifactId>wiremock-maven-plugin</artifactId>
+                        <version>${wiremock.mvn.plugin.version}</version>
+                        <executions>
+                            <execution>
+                                <phase>test-compile</phase>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                                <configuration>
+                                    <dir>target/classes</dir>
+                                    <params>--port=8765</params>
+                                    <!-- Enable verbose for more detailed output-->
+                                    <!-- <params>&#45;&#45;verbose</params>-->
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+    <properties>
+        <surefire.security.argline>-Djava.security.manager -Djava.security.policy=${project.build.directory}/test-classes/server.policy</surefire.security.argline>
+        <jetty.version>${jetty9.version}</jetty.version>
+    </properties>
+
+
+</project>
diff --git a/tests/integration/microprofile/rest-client/src/test/resources/arquillian.xml b/tests/integration/microprofile/rest-client-tck/src/test/resources/arquillian.xml
similarity index 92%
rename from tests/integration/microprofile/rest-client/src/test/resources/arquillian.xml
rename to tests/integration/microprofile/rest-client-tck/src/test/resources/arquillian.xml
index e748760..c9668db 100644
--- a/tests/integration/microprofile/rest-client/src/test/resources/arquillian.xml
+++ b/tests/integration/microprofile/rest-client-tck/src/test/resources/arquillian.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java b/tests/integration/microprofile/rest-client-tck/src/test/resources/server.policy
similarity index 81%
copy from ext/spring5/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
copy to tests/integration/microprofile/rest-client-tck/src/test/resources/server.policy
index 0afc246..d68fabe 100644
--- a/ext/spring5/src/test/java/org/glassfish/jersey/server/spring/NoComponent.java
+++ b/tests/integration/microprofile/rest-client-tck/src/test/resources/server.policy
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,8 +14,6 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.server.spring;
-
-public class NoComponent {
-
-}
+grant {
+  permission java.security.AllPermission;
+};
diff --git a/tests/integration/microprofile/rest-client/tck-suite.xml b/tests/integration/microprofile/rest-client-tck/tck-suite.xml
similarity index 100%
rename from tests/integration/microprofile/rest-client/tck-suite.xml
rename to tests/integration/microprofile/rest-client-tck/tck-suite.xml
diff --git a/tests/integration/microprofile/rest-client/pom.xml b/tests/integration/microprofile/rest-client/pom.xml
index 1d60120..c09534a 100644
--- a/tests/integration/microprofile/rest-client/pom.xml
+++ b/tests/integration/microprofile/rest-client/pom.xml
@@ -23,16 +23,17 @@
     <parent>
         <artifactId>microprofile-integration-project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration.microprofile</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>jersey-rest-client-tck</artifactId>
+    <artifactId>jersey-rest-client</artifactId>
 
     <dependencies>
         <dependency>
             <groupId>org.glassfish.jersey.ext.microprofile</groupId>
             <artifactId>jersey-mp-rest-client</artifactId>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <!-- Overrides CDI from parent pom -->
@@ -41,89 +42,11 @@
             <artifactId>jakarta.enterprise.cdi-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>jakarta.xml.bind</groupId>
-            <artifactId>jakarta.xml.bind-api</artifactId>
-            <!--<scope>provided</scope>
-            <optional>true</optional>-->
-        </dependency>
-        <dependency>
             <groupId>org.jboss.weld.se</groupId>
             <artifactId>weld-se-core</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>io.smallrye</groupId>
-            <artifactId>smallrye-config</artifactId>
-            <version>${smallrye.config.version}</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.enterprise</groupId>
-                    <artifactId>cdi-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.microprofile.rest.client</groupId>
-            <artifactId>microprofile-rest-client-tck</artifactId>
-            <version>${microprofile.rest.client.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-            <version>${testng6.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>${junit4.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.github.tomakehurst</groupId>
-            <artifactId>wiremock</artifactId>
-            <version>${wiremock.version}</version>
-            <scope>test</scope>
-            <!-- Remove when a new higher version depends on Guava 24+ -->
-            <exclusions>
-                <exclusion>
-                    <groupId>com.google.guava</groupId>
-                    <artifactId>guava</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>${guava.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jboss.arquillian.testng</groupId>
-            <artifactId>arquillian-testng-container</artifactId>
-            <version>${arquillian.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jboss.arquillian.container</groupId>
-            <artifactId>arquillian-container-test-spi</artifactId>
-            <version>${arquillian.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jboss.arquillian.container</groupId>
-            <artifactId>arquillian-weld-embedded</artifactId>
-            <version>${arquillian.weld.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.glassfish.jersey.test-framework</groupId>
             <artifactId>jersey-test-framework-core</artifactId>
             <scope>test</scope>
@@ -140,84 +63,50 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-servlet</artifactId>
-            <version>${jetty.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.glassfish.jersey.ext.cdi</groupId>
             <artifactId>jersey-weld2-se</artifactId>
             <scope>test</scope>
         </dependency>
     </dependencies>
-    
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-bom</artifactId>
-                <version>${jetty.version}</version>
-                <type>pom</type>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
 
     <profiles>
         <profile>
-            <id>testRunner</id>
+            <id>TestExclude</id>
             <activation>
-                <property>
-                    <name>skipTests</name>
-                    <value>!true</value>
-                </property>
+                <jdk>1.8</jdk>
             </activation>
             <build>
                 <plugins>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <dependencies>
-                            <dependency>
-                                <groupId>org.apache.maven.surefire</groupId>
-                                <artifactId>surefire-junit-platform</artifactId>
-                                <version>${surefire.mvn.plugin.version}</version>
-                            </dependency>
-                            <dependency>
-                                <groupId>org.apache.maven.surefire</groupId>
-                                <artifactId>surefire-testng</artifactId>
-                                <version>${surefire.mvn.plugin.version}</version>
-                            </dependency>
-                        </dependencies>
+                        <artifactId>maven-compiler-plugin</artifactId>
                         <configuration>
-                            <threadCount>1</threadCount>
-                            <suiteXmlFiles>
-                                <suiteXmlFile>tck-suite.xml</suiteXmlFile>
-                            </suiteXmlFiles>
+                            <testExcludes>
+                                <testExclude>org/glassfish/jersey/test/microprofile/restclient/ConsumesAndProducesTest.java</testExclude>
+                                <testExclude>org/glassfish/jersey/test/microprofile/restclient/ConnectorTest.java</testExclude>
+                                <testExclude>org/glassfish/jersey/test/microprofile/restclient/InboundHeadersProviderTest.java</testExclude>
+                                <testExclude>org/glassfish/jersey/test/microprofile/restclient/RestClientModelTest.java</testExclude>
+                                <testExclude>org/glassfish/jersey/restclient/PathParamTest.java</testExclude>
+                            </testExcludes>
                         </configuration>
                     </plugin>
-                    <plugin>
-                        <groupId>uk.co.deliverymind</groupId>
-                        <artifactId>wiremock-maven-plugin</artifactId>
-                        <version>${wiremock.mvn.plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <phase>test-compile</phase>
-                                <goals>
-                                    <goal>run</goal>
-                                </goals>
-                                <configuration>
-                                    <dir>target/classes</dir>
-                                    <params>--port=8765</params>
-                                    <!-- Enable verbose for more detailed output-->
-                                    <!-- <params>&#45;&#45;verbose</params>-->
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
                 </plugins>
             </build>
         </profile>
+        <profile>
+            <id>smallrye-dependency</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>io.smallrye.config</groupId>
+                    <artifactId>smallrye-config</artifactId>
+                    <version>${smallrye.config.version}</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
     </profiles>
 
     <properties>
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/message/internal/StringMessageProvider.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/message/internal/StringMessageProvider.java
deleted file mode 100644
index d275e40..0000000
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/message/internal/StringMessageProvider.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2019, 2023 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.message.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-
-import javax.inject.Singleton;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-
-import org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider;
-
-/*
- * This class was copied from Jersey Common 2.26 due to TCK workaround reasons.
- */
-
-/**
- *
- * @author Paul Sandoz
- */
-@Produces
-@Consumes
-@Singleton
-final class StringMessageProvider extends AbstractMessageReaderWriterProvider<String> {
-
-    @Override
-    public boolean isReadable(Class<?> type, Type genericType, Annotation annotations[], MediaType mediaType) {
-        return type == String.class;
-    }
-
-    @Override
-    public String readFrom(
-            Class<String> type,
-            Type genericType,
-            Annotation annotations[],
-            MediaType mediaType,
-            MultivaluedMap<String, String> httpHeaders,
-            InputStream entityStream) throws IOException {
-        return ReaderWriter.readFromAsString(entityStream, mediaType);
-    }
-
-    @Override
-    public boolean isWriteable(Class<?> type, Type genericType, Annotation annotations[], MediaType mediaType) {
-        return type == String.class;
-    }
-
-    @Override
-    public long getSize(String s, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) {
-        return s.length();
-    }
-
-    @Override
-    public void writeTo(
-            String t,
-            Class<?> type,
-            Type genericType,
-            Annotation annotations[],
-            MediaType mediaType,
-            MultivaluedMap<String, Object> httpHeaders,
-            OutputStream entityStream) throws IOException {
-        ReaderWriter.writeToAsString(t, entityStream, mediaType);
-    }
-}
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/PathParamTest.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/PathParamTest.java
index 58b4dca..3975cd4 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/PathParamTest.java
+++ b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/PathParamTest.java
@@ -22,15 +22,15 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.json.Json;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
+import jakarta.json.Json;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.MediaType;
 import java.net.URI;
 import java.util.Collections;
 
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ApplicationResource.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ApplicationResource.java
similarity index 82%
rename from tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ApplicationResource.java
rename to tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ApplicationResource.java
index a781d45..1c7d2c0 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ApplicationResource.java
+++ b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ApplicationResource.java
@@ -14,23 +14,23 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.restclient;
+package org.glassfish.jersey.test.microprofile.restclient;
 
 import java.util.List;
 import java.util.Map;
 
-import javax.json.JsonValue;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-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.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
+import jakarta.json.JsonValue;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+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.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Created by David Kral.
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ApplicationResourceImpl.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ApplicationResourceImpl.java
similarity index 92%
rename from tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ApplicationResourceImpl.java
rename to tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ApplicationResourceImpl.java
index d098f63..56dc5bd 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ApplicationResourceImpl.java
+++ b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ApplicationResourceImpl.java
@@ -14,16 +14,16 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.restclient;
+package org.glassfish.jersey.test.microprofile.restclient;
 
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.json.Json;
-import javax.json.JsonValue;
-import javax.ws.rs.core.MediaType;
+import jakarta.json.Json;
+import jakarta.json.JsonValue;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Created by David Kral.
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ConnectorTest.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ConnectorTest.java
similarity index 95%
rename from tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ConnectorTest.java
rename to tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ConnectorTest.java
index a516052..ddacaa0 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ConnectorTest.java
+++ b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ConnectorTest.java
@@ -14,7 +14,7 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.restclient;
+package org.glassfish.jersey.test.microprofile.restclient;
 
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -31,7 +31,7 @@
 import org.glassfish.jersey.test.TestProperties;
 import org.junit.jupiter.api.Test;
 
-import static org.testng.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Created by David Kral.
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ConsumesAndProducesTest.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ConsumesAndProducesTest.java
similarity index 91%
rename from tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ConsumesAndProducesTest.java
rename to tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ConsumesAndProducesTest.java
index 0c5f7a2..bdd024b 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/ConsumesAndProducesTest.java
+++ b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/ConsumesAndProducesTest.java
@@ -14,20 +14,20 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.restclient;
+package org.glassfish.jersey.test.microprofile.restclient;
 
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.List;
 
-import javax.json.Json;
-import javax.json.JsonValue;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.json.Json;
+import jakarta.json.JsonValue;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.ClientRequestContext;
+import jakarta.ws.rs.client.ClientRequestFilter;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.eclipse.microprofile.rest.client.RestClientBuilder;
 import org.glassfish.jersey.server.ResourceConfig;
@@ -35,8 +35,8 @@
 import org.glassfish.jersey.test.TestProperties;
 import org.junit.jupiter.api.Test;
 
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/CorrectInterface.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/CorrectInterface.java
similarity index 86%
rename from tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/CorrectInterface.java
rename to tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/CorrectInterface.java
index 8a15121..07cf4c1 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/CorrectInterface.java
+++ b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/CorrectInterface.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -14,13 +14,13 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.restclient;
+package org.glassfish.jersey.test.microprofile.restclient;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 import org.eclipse.microprofile.rest.client.annotation.ClientHeaderParam;
 
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/InboundHeadersProviderTest.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/InboundHeadersProviderTest.java
similarity index 92%
rename from tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/InboundHeadersProviderTest.java
rename to tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/InboundHeadersProviderTest.java
index 922de9e..082e949 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/InboundHeadersProviderTest.java
+++ b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/InboundHeadersProviderTest.java
@@ -14,7 +14,7 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.restclient;
+package org.glassfish.jersey.test.microprofile.restclient;
 
 import java.net.URI;
 import java.util.Collections;
@@ -24,16 +24,16 @@
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutorService;
 
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
 
 import org.eclipse.microprofile.rest.client.RestClientBuilder;
 import org.eclipse.microprofile.rest.client.annotation.RegisterClientHeaders;
diff --git a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/RestClientModelTest.java b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/RestClientModelTest.java
similarity index 97%
rename from tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/RestClientModelTest.java
rename to tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/RestClientModelTest.java
index 737d109..469b215 100644
--- a/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/restclient/RestClientModelTest.java
+++ b/tests/integration/microprofile/rest-client/src/test/java/org/glassfish/jersey/test/microprofile/restclient/RestClientModelTest.java
@@ -14,7 +14,7 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.jersey.restclient;
+package org.glassfish.jersey.test.microprofile.restclient;
 
 import java.net.URI;
 import java.net.URISyntaxException;
diff --git a/tests/integration/microprofile/rest-client14-compatibility/pom.xml b/tests/integration/microprofile/rest-client14-compatibility/pom.xml
deleted file mode 100644
index 46db608..0000000
--- a/tests/integration/microprofile/rest-client14-compatibility/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2021, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>microprofile-integration-project</artifactId>
-        <groupId>org.glassfish.jersey.tests.integration.microprofile</groupId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>jersey-rest-client14-compatibility</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.jersey.ext.microprofile</groupId>
-            <artifactId>jersey-mp-rest-client</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>jakarta.enterprise</groupId>
-                    <artifactId>jakarta.enterprise.cdi-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>javax.enterprise</groupId>
-                    <artifactId>cdi-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse.microprofile.rest.client</groupId>
-                    <artifactId>microprofile-rest-client-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <!-- Overrides CDI from parent pom -->
-        <dependency>
-            <groupId>jakarta.enterprise</groupId>
-            <artifactId>jakarta.enterprise.cdi-api</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.microprofile.rest.client</groupId>
-            <artifactId>microprofile-rest-client-api</artifactId>
-            <!-- specifically this version we check with the backward compatibility -->
-            <version>1.4.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.ext.cdi</groupId>
-            <artifactId>jersey-weld2-se</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jboss.weld.se</groupId>
-            <artifactId>weld-se-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.ext.cdi</groupId>
-            <artifactId>jersey-cdi1x</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>io.smallrye.config</groupId>
-            <artifactId>smallrye-config</artifactId>
-            <version>1.8.4</version> <!-- Workswith CQ 22471 -->
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.enterprise</groupId>
-                    <artifactId>cdi-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework</groupId>
-            <artifactId>jersey-test-framework-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-bundle</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/tests/integration/microprofile/rest-client14-compatibility/src/test/java/org/glassfish/jersey/tests/restclient/compatibility/Compatibility14Test.java b/tests/integration/microprofile/rest-client14-compatibility/src/test/java/org/glassfish/jersey/tests/restclient/compatibility/Compatibility14Test.java
deleted file mode 100644
index bb58885..0000000
--- a/tests/integration/microprofile/rest-client14-compatibility/src/test/java/org/glassfish/jersey/tests/restclient/compatibility/Compatibility14Test.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.restclient.compatibility;
-
-import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
-import org.eclipse.microprofile.rest.client.inject.RestClient;
-import org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.ServerProperties;
-import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.TestProperties;
-import org.jboss.weld.environment.se.Weld;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Assumptions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-
-public class Compatibility14Test extends JerseyTest {
-    private Weld weld;
-
-    @BeforeEach
-    public void setup() {
-        Assumptions.assumeTrue(Hk2InjectionManagerFactory.isImmediateStrategy());
-    }
-
-    @BeforeEach
-    @Override
-    public void setUp() throws Exception {
-        if (Hk2InjectionManagerFactory.isImmediateStrategy()) {
-            weld = new Weld();
-            weld.initialize();
-            super.setUp();
-        }
-    }
-
-    @AfterEach
-    @Override
-    public void tearDown() throws Exception {
-        if (Hk2InjectionManagerFactory.isImmediateStrategy()) {
-            weld.shutdown();
-            super.tearDown();
-        }
-    }
-
-    @RegisterRestClient
-    public static interface CompatibilityClient {
-        @GET
-        public String get();
-    }
-
-    @Path("/resource")
-    @RequestScoped
-    public static class CompatibilityResource {
-
-        @Inject
-        @RestClient
-        CompatibilityClient client;
-
-        @GET
-        public String get() {
-            return client.get();
-        }
-    }
-
-    @Path("/inner")
-    public static class InnerResource implements CompatibilityClient {
-
-        public String get() {
-            return "INNER";
-        }
-    }
-
-    @Override
-    protected Application configure() {
-        set(TestProperties.RECORD_LOG_LEVEL, Level.WARNING.intValue());
-        return new ResourceConfig(InnerResource.class, CompatibilityResource.class)
-                .property(ServerProperties.WADL_FEATURE_DISABLE, true);
-    }
-
-    @Test
-    public void testCompatibility() {
-        final String loggerName = "org.glassfish.jersey.microprofile.restclient.VersionSupport";
-
-        try (Response r = target("/resource").request().get()) {
-            String entity = r.readEntity(String.class);
-            Assertions.assertEquals(new InnerResource().get(), entity);
-        }
-
-        int warningCounts = 0;
-        for (final LogRecord logRecord : getLoggedRecords()) {
-            if (loggerName.equals(logRecord.getLoggerName()) && logRecord.getLevel() == Level.WARNING) {
-                warningCounts++;
-            }
-        }
-
-        Assertions.assertEquals(3, warningCounts);
-    }
-}
diff --git a/tests/integration/microprofile/rest-client14-compatibility/src/test/resources/META-INF/beans.xml b/tests/integration/microprofile/rest-client14-compatibility/src/test/resources/META-INF/beans.xml
deleted file mode 100644
index 70897bd..0000000
--- a/tests/integration/microprofile/rest-client14-compatibility/src/test/resources/META-INF/beans.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
-	   http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
-       bean-discovery-mode="annotated">
-</beans>
diff --git a/tests/integration/microprofile/rest-client14-compatibility/src/test/resources/META-INF/microprofile-config.properties b/tests/integration/microprofile/rest-client14-compatibility/src/test/resources/META-INF/microprofile-config.properties
deleted file mode 100644
index 616d545..0000000
--- a/tests/integration/microprofile/rest-client14-compatibility/src/test/resources/META-INF/microprofile-config.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
-org.glassfish.jersey.tests.restclient.compatibility.Compatibility14Test$CompatibilityClient/mp-rest/uri=http://localhost:9998/inner
-org.glassfish.jersey.tests.restclient.compatibility.Compatibility14Test$CompatibilityClient/mp-rest/followRedirects=true
-org.glassfish.jersey.tests.restclient.compatibility.Compatibility14Test$CompatibilityClient/mp-rest/queryParamStyle=COMMA_SEPARATED
-org.glassfish.jersey.tests.restclient.compatibility.Compatibility14Test$CompatibilityClient/mp-rest/proxyAddress=http://localhost:1010/nowehere
\ No newline at end of file
diff --git a/tests/integration/pom.xml b/tests/integration/pom.xml
index aeeba2c..4f5245f 100644
--- a/tests/integration/pom.xml
+++ b/tests/integration/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests.integration</groupId>
@@ -34,55 +34,21 @@
 
     <modules>
         <module>asm</module>
-        <module>async-jersey-filter</module>
         <module>cdi-integration</module>
         <module>client-connector-provider</module>
         <module>ejb-multimodule</module>
         <module>ejb-multimodule-reload</module>
         <module>ejb-test-webapp</module>
-        <module>externalproperties</module>
         <module>j-376</module>
         <module>j-441</module>
         <module>j-59</module>
         <module>jackson-14</module>
-        <module>jaxrs-component-inject</module>
-        <module>jersey-1107</module>
-        <module>jersey-1223</module>
-        <module>jersey-1604</module>
-        <module>jersey-1667</module>
-        <module>jersey-1829</module>
-        <module>jersey-1883</module>
-        <module>jersey-1928</module>
-        <module>jersey-1960</module>
-        <module>jersey-1964</module>
-        <module>jersey-2031</module>
         <module>jersey-2136</module>
         <module>jersey-2137</module>
         <module>jersey-2154</module>
-        <module>jersey-2160</module>
-        <module>jersey-2164</module>
-        <module>jersey-2167</module>
-        <module>jersey-2176</module>
-        <module>jersey-2184</module>
-        <module>jersey-2255</module>
-        <module>jersey-2322</module>
-        <module>jersey-2335</module>
         <module>jersey-2421</module>
-        <module>jersey-2551</module>
-        <module>jersey-2612</module>
-        <module>jersey-2637</module>
-        <module>jersey-2654</module>
-        <module>jersey-2673</module>
-        <module>jersey-2689</module>
-        <module>jersey-2704</module>
         <module>jersey-2776</module>
-        <module>jersey-2794</module>
-        <module>jersey-2846</module>
-        <module>jersey-2878</module>
-        <module>jersey-2892</module>
-	<module>jersey-3662</module>
-	<module>jersey-3796</module>
-        <module>jersey-780</module>
+        <module>jersey-3662</module>
         <module>jersey-3670</module>
         <module>jersey-3992</module>
         <module>jersey-4003</module>
@@ -92,55 +58,9 @@
         <module>jersey-4542</module>
         <module>jersey-4697</module>
         <module>jersey-4722</module>
-        <module>jersey-4949</module>
-        <module>jetty-response-close</module>
         <module>microprofile</module>
-        <module>portability-jersey-1</module>
-        <module>portability-jersey-2</module>
-        <module>property-check</module>
-        <module>security-digest</module>
-        <module>servlet-2.5-autodiscovery-1</module>
-        <module>servlet-2.5-autodiscovery-2</module>
-        <module>servlet-2.5-filter</module>
-        <module>servlet-2.5-inflector-1</module>
-        <module>servlet-2.5-init-1</module>
-        <module>servlet-2.5-init-2</module>
-        <module>servlet-2.5-init-3</module>
-        <module>servlet-2.5-init-4</module>
-        <module>servlet-2.5-init-5</module>
-        <module>servlet-2.5-init-6</module>
-        <module>servlet-2.5-init-7</module>
-        <module>servlet-2.5-init-8</module>
-        <module>servlet-2.5-mvc-1</module>
-        <module>servlet-2.5-mvc-2</module>
-        <module>servlet-2.5-mvc-3</module>
-        <module>servlet-2.5-reload</module>
-        <module>servlet-3-async</module>
-        <module>servlet-3-chunked-io</module>
-        <module>servlet-3-filter</module>
-        <module>servlet-3-gf-async</module>
-        <module>servlet-3-inflector-1</module>
-        <module>servlet-3-init-1</module>
-        <module>servlet-3-init-2</module>
-        <module>servlet-3-init-3</module>
-        <module>servlet-3-init-4</module>
-        <module>servlet-3-init-5</module>
-        <module>servlet-3-init-6</module>
-        <module>servlet-3-init-7</module>
-        <module>servlet-3-init-8</module>
-        <module>servlet-3-init-9</module>
-        <module>servlet-3-init-provider</module>
-        <module>servlet-3-params</module>
-        <module>servlet-3-sse-1</module>
-        <module>servlet-4.0-mvc-1</module>
-        <module>servlet-request-wrapper-binding-2</module>
-        <module>servlet-request-wrapper-binding</module>
-        <module>servlet-tests</module>
-        <module>sonar-test</module>
-        <module>spring4</module>
-        <module>spring5</module>
-        <module>tracing-support</module>
         <module>reactive-streams</module>
+        <module>jersey-5087</module>
     </modules>
 
     <profiles>
@@ -151,7 +71,8 @@
                 <jersey.config.test.container.port>9998</jersey.config.test.container.port>
             </properties>
             <activation>
-                <activeByDefault>true</activeByDefault>
+                <jdk>[1.8,)</jdk>
+<!--                <activeByDefault>true</activeByDefault> does not work ?!-->
             </activation>
         </profile>
         <profile>
@@ -201,7 +122,99 @@
                 </pluginManagement>
             </build>
         </profile>
-
+        <profile>
+            <id>Jetty11</id>
+            <activation>
+                <jdk>[11,)</jdk>
+            </activation>
+            <modules>
+                <module>async-jersey-filter</module>
+                <module>externalproperties</module>
+                <module>jaxrs-component-inject</module>
+                <module>jersey-780</module>
+                <module>jersey-1107</module>
+                <module>jersey-1223</module>
+                <module>jersey-1604</module>
+                <module>jersey-1667</module>
+<!--                <module>jersey-1829</module> Jakartification-->
+                <module>jersey-1883</module>
+                <module>jersey-1928</module>
+                <module>jersey-1960</module>
+                <module>jersey-1964</module>
+                <module>jersey-2031</module>
+                <module>jersey-2160</module>
+                <module>jersey-2164</module>
+                <module>jersey-2167</module>
+                <module>jersey-2176</module>
+                <module>jersey-2184</module>
+                <module>jersey-2255</module>
+                <module>jersey-2322</module>
+                <module>jersey-2335</module>
+                <module>jersey-2551</module>
+                <module>jersey-2612</module>
+                <module>jersey-2637</module>
+                <module>jersey-2654</module>
+                <module>jersey-2673</module>
+                <module>jersey-2689</module>
+                <module>jersey-2704</module>
+                <module>jersey-2794</module>
+                <module>jersey-2846</module>
+                <module>jersey-2878</module>
+                <module>jersey-2892</module>
+                <module>jersey-3796</module>
+                <module>jersey-4949</module>
+                <module>property-check</module>
+                <module>security-digest</module>
+                <module>servlet-2.5-autodiscovery-1</module>
+                <module>servlet-2.5-autodiscovery-2</module>
+                <module>servlet-2.5-filter</module>
+                <module>servlet-2.5-inflector-1</module>
+                <module>servlet-2.5-init-1</module>
+                <module>servlet-2.5-init-2</module>
+                <module>servlet-2.5-init-3</module>
+                <module>servlet-2.5-init-4</module>
+                <module>servlet-2.5-init-5</module>
+                <module>servlet-2.5-init-6</module>
+                <module>servlet-2.5-init-7</module>
+                <module>servlet-2.5-init-8</module>
+                <module>servlet-2.5-mvc-1</module>
+                <module>servlet-2.5-mvc-2</module>
+                <module>servlet-2.5-mvc-3</module>
+                <module>servlet-2.5-reload</module>
+                <module>servlet-3-async</module>
+                <module>servlet-3-chunked-io</module>
+                <module>servlet-3-filter</module>
+                <module>servlet-3-gf-async</module>
+                <module>servlet-3-inflector-1</module>
+                <module>servlet-3-init-1</module>
+                <module>servlet-3-init-2</module>
+                <module>servlet-3-init-3</module>
+                <module>servlet-3-init-4</module>
+                <module>servlet-3-init-5</module>
+                <module>servlet-3-init-6</module>
+                <module>servlet-3-init-7</module>
+                <module>servlet-3-init-8</module>
+                <module>servlet-3-init-9</module>
+                <module>servlet-3-init-provider</module>
+                <module>servlet-3-params</module>
+                <module>servlet-3-sse-1</module>
+                <module>servlet-4.0-mvc-1</module>
+                <module>servlet-tests</module>
+                <module>servlet-request-wrapper-binding</module>
+                <module>servlet-request-wrapper-binding-2</module>
+                <module>sonar-test</module>
+                <module>tracing-support</module>
+            </modules>
+        </profile>
+        <profile>
+            <id>spring6-jdk17</id>
+            <activation>
+                <jdk>[17,)</jdk>
+            </activation>
+            <modules>
+                <module>spring6</module>
+            </modules>
+        </profile>
     </profiles>
 
     <build>
@@ -251,11 +264,12 @@
                 <plugin>
                     <groupId>org.eclipse.jetty</groupId>
                     <artifactId>jetty-maven-plugin</artifactId>
+                    <version>${jetty.plugin.version}</version>
                     <configuration>
                         <skip>${skip.tests}</skip>
-                        <scanIntervalSeconds>10</scanIntervalSeconds>
                         <stopPort>9999</stopPort>
                         <stopKey>STOP</stopKey>
+                        <stopWait>10</stopWait>
                         <webApp>
                             <contextPath>/</contextPath>
                             <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
@@ -287,5 +301,14 @@
                 </plugin>
             </plugins>
         </pluginManagement>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-install-plugin</artifactId>
+                <configuration>
+                    <skip>false</skip>
+                </configuration>
+            </plugin>
+        </plugins>
     </build>
 </project>
diff --git a/tests/integration/portability-jersey-1/pom.xml b/tests/integration/portability-jersey-1/pom.xml
deleted file mode 100644
index 3e0f2ae..0000000
--- a/tests/integration/portability-jersey-1/pom.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>portability-jersey-1</artifactId>
-    <packaging>war</packaging>
-    <name>jersey-tests-integration-portability-jersey-1</name>
-
-    <description>Servlet portability test - testing co-bundling with Jersey 1</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-servlet-portability</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey.jersey-test-framework</groupId>
-            <artifactId>jersey-test-framework-external</artifactId>
-            <version>${jersey1.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey.jersey-test-framework</groupId>
-            <artifactId>jersey-test-framework-core</artifactId>
-            <version>${jersey1.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.core</groupId>
-            <artifactId>jersey-server</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-servlet</artifactId>
-            <version>${jersey1.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-failsafe-plugin</artifactId>
-                <configuration>
-                  <classpathDependencyExcludes> <!-- this is to ensure only one Jersey version is present in the classpath -->
-                    <classpathDependencyExclude>org.glassfish.jersey.core:jersey-common</classpathDependencyExclude>
-                    <classpathDependencyExclude>org.glassfish.jersey.core:jersey-server</classpathDependencyExclude>
-                    <classpathDependencyExclude>org.glassfish.jersey.core:jersey-client</classpathDependencyExclude>
-                  </classpathDependencyExcludes>
-                </configuration>
-            </plugin>
-            <plugin>
-              <groupId>org.mortbay.jetty</groupId>
-              <artifactId>jetty-maven-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-
-</project>
diff --git a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/HelloWorldResource.java b/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/HelloWorldResource.java
deleted file mode 100644
index 0f34d5b..0000000
--- a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/HelloWorldResource.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-
-/**
- * @author Martin Matula
- */
-@Path("helloworld")
-public class HelloWorldResource {
-    @GET
-    @Produces("text/plain")
-    public String get() {
-        return "Hello World!";
-    }
-}
diff --git a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Application.java b/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Application.java
deleted file mode 100644
index c56b9fa..0000000
--- a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Application.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import com.sun.jersey.api.core.PackagesResourceConfig;
-
-/**
- * @author Martin Matula
- */
-public class Jersey1Application extends PackagesResourceConfig {
-    public Jersey1Application() {
-        // do the package scanning
-        super("org.glassfish.jersey.tests.integration.portability");
-
-        // explicitly add unannotated Jersey 1 specific resource
-        getExplicitRootResources().put("jersey", Jersey1Resource.class);
-    }
-}
diff --git a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Application.java b/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Application.java
deleted file mode 100644
index 91e0e1b..0000000
--- a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Application.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.model.Resource;
-
-/**
- * @author Martin Matula
- */
-public class Jersey2Application extends ResourceConfig {
-
-    public Jersey2Application() {
-        // do the package scanning
-        packages("org.glassfish.jersey.tests.integration.portability");
-
-        // explicitly add unannotated Jersey 2 specific resource
-        Resource.Builder rb = Resource.builder(Jersey2Resource.class);
-        registerResources(rb.path("jersey").build());
-    }
-}
diff --git a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Resource.java b/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Resource.java
deleted file mode 100644
index f7683e3..0000000
--- a/tests/integration/portability-jersey-1/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Resource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-/**
- * @author Martin Matula
- */
-public class Jersey2Resource {
-    @GET
-    @Produces(MediaType.TEXT_PLAIN)
-    public String getJersey2() {
-        return "Using Jersey 2.x";
-    }
-}
diff --git a/tests/integration/portability-jersey-1/src/main/webapp/WEB-INF/web.xml b/tests/integration/portability-jersey-1/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 5cd3e4c..0000000
--- a/tests/integration/portability-jersey-1/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
-    <servlet>
-        <servlet-name>Jersey Web Application</servlet-name>
-        <servlet-class>org.glassfish.jersey.servlet.portability.PortableServletContainer</servlet-class>
-        <init-param>
-            <param-name>jersey1#com.sun.jersey.config.property.resourceConfigClass</param-name>
-            <param-value>org.glassfish.jersey.tests.integration.portability.Jersey1Application</param-value>
-        </init-param>
-        <init-param>
-            <param-name>jersey2#javax.ws.rs.Application</param-name>
-            <param-value>org.glassfish.jersey.tests.integration.portability.Jersey2Application</param-value>
-        </init-param>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-    <servlet-mapping>
-        <servlet-name>Jersey Web Application</servlet-name>
-        <url-pattern>/*</url-pattern>
-    </servlet-mapping>
-</web-app>
diff --git a/tests/integration/portability-jersey-1/src/test/java/org/glassfish/jersey/tests/integration/portability/PortabilityITCase.java b/tests/integration/portability-jersey-1/src/test/java/org/glassfish/jersey/tests/integration/portability/PortabilityITCase.java
deleted file mode 100644
index 8d805e8..0000000
--- a/tests/integration/portability-jersey-1/src/test/java/org/glassfish/jersey/tests/integration/portability/PortabilityITCase.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.test.framework.AppDescriptor;
-import com.sun.jersey.test.framework.JerseyTest;
-import com.sun.jersey.test.framework.WebAppDescriptor;
-import com.sun.jersey.test.framework.spi.container.TestContainerException;
-import com.sun.jersey.test.framework.spi.container.TestContainerFactory;
-import com.sun.jersey.test.framework.spi.container.external.ExternalTestContainerFactory;
-
-import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-
-/**
- * @author Martin Matula
- */
-public class PortabilityITCase extends JerseyTest {
-
-    @Override
-    protected AppDescriptor configure() {
-        return new WebAppDescriptor.Builder().build();
-    }
-
-    @Override
-    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
-        return new ExternalTestContainerFactory();
-    }
-
-    @Test
-    public void testHelloWorld() throws Exception {
-        String s = resource().path("helloworld").get(String.class);
-        assertEquals("Hello World!", s);
-    }
-
-    @Test
-    public void testJersey() {
-        ClientResponse r = resource().path("jersey").get(ClientResponse.class);
-        assertEquals(200, r.getStatus());
-        assertEquals("Using Jersey 1.x", r.getEntity(String.class));
-    }
-
-    /**
-     * The whole project is setup for Jersey 2. Need to get the effective port number
-     * from Jersey 2 properties to make Hudson happy.
-     *
-     * @param defaultPort to use if no other configuration is available
-     * @return port number to use by the client
-     */
-    @Override
-    protected int getPort(int defaultPort) {
-
-        String port = System.getProperty("jersey.config.test.container.port");
-        if (null != port) {
-            try {
-                return Integer.parseInt(port);
-            } catch (NumberFormatException e) {
-                throw new TestContainerException("jersey.config.test.container.port with a "
-                        + "value of \"" + port + "\" is not a valid integer.", e);
-            }
-        }
-
-        port = System.getProperty("JERSEY_TEST_PORT");
-        if (null != port) {
-            try {
-                return Integer.parseInt(port);
-            } catch (NumberFormatException e) {
-                throw new TestContainerException("JERSEY_TEST_PORT with a "
-                        + "value of \"" + port + "\" is not a valid integer.", e);
-            }
-        }
-        return defaultPort;
-    }
-}
diff --git a/tests/integration/portability-jersey-2/pom.xml b/tests/integration/portability-jersey-2/pom.xml
deleted file mode 100644
index c401190..0000000
--- a/tests/integration/portability-jersey-2/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>portability-jersey-2</artifactId>
-    <packaging>war</packaging>
-    <name>jersey-tests-integration-portability-jersey-2</name>
-
-    <description>Servlet portability test - testing co-bundling with Jersey 2</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-servlet-portability</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-external</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-servlet-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-servlet</artifactId>
-            <version>${jersey1.version}</version>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-failsafe-plugin</artifactId>
-                <configuration>
-                  <classpathDependencyExcludes> <!-- this is to ensure only one Jersey version is present in the classpath -->
-                    <classpathDependencyExclude>com.sun.jersey:jersey-core</classpathDependencyExclude>
-                    <classpathDependencyExclude>com.sun.jersey:jersey-server</classpathDependencyExclude>
-                    <classpathDependencyExclude>com.sun.jersey:jersey-servlet</classpathDependencyExclude>
-                  </classpathDependencyExcludes>
-                </configuration>
-             </plugin>
-            <plugin>
-              <groupId>org.mortbay.jetty</groupId>
-              <artifactId>jetty-maven-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/HelloWorldResource.java b/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/HelloWorldResource.java
deleted file mode 100644
index 0f34d5b..0000000
--- a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/HelloWorldResource.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-
-/**
- * @author Martin Matula
- */
-@Path("helloworld")
-public class HelloWorldResource {
-    @GET
-    @Produces("text/plain")
-    public String get() {
-        return "Hello World!";
-    }
-}
diff --git a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Application.java b/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Application.java
deleted file mode 100644
index c56b9fa..0000000
--- a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Application.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import com.sun.jersey.api.core.PackagesResourceConfig;
-
-/**
- * @author Martin Matula
- */
-public class Jersey1Application extends PackagesResourceConfig {
-    public Jersey1Application() {
-        // do the package scanning
-        super("org.glassfish.jersey.tests.integration.portability");
-
-        // explicitly add unannotated Jersey 1 specific resource
-        getExplicitRootResources().put("jersey", Jersey1Resource.class);
-    }
-}
diff --git a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Resource.java b/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Resource.java
deleted file mode 100644
index 7444fcd..0000000
--- a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey1Resource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-/**
- * @author Martin Matula
- */
-public class Jersey1Resource {
-    @GET
-    @Produces(MediaType.TEXT_PLAIN)
-    public String getJersey1() {
-        return "Using Jersey 1.x";
-    }
-}
diff --git a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Application.java b/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Application.java
deleted file mode 100644
index 91e0e1b..0000000
--- a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Application.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.model.Resource;
-
-/**
- * @author Martin Matula
- */
-public class Jersey2Application extends ResourceConfig {
-
-    public Jersey2Application() {
-        // do the package scanning
-        packages("org.glassfish.jersey.tests.integration.portability");
-
-        // explicitly add unannotated Jersey 2 specific resource
-        Resource.Builder rb = Resource.builder(Jersey2Resource.class);
-        registerResources(rb.path("jersey").build());
-    }
-}
diff --git a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Resource.java b/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Resource.java
deleted file mode 100644
index f7683e3..0000000
--- a/tests/integration/portability-jersey-2/src/main/java/org/glassfish/jersey/tests/integration/portability/Jersey2Resource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-/**
- * @author Martin Matula
- */
-public class Jersey2Resource {
-    @GET
-    @Produces(MediaType.TEXT_PLAIN)
-    public String getJersey2() {
-        return "Using Jersey 2.x";
-    }
-}
diff --git a/tests/integration/portability-jersey-2/src/main/webapp/WEB-INF/web.xml b/tests/integration/portability-jersey-2/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 5cd3e4c..0000000
--- a/tests/integration/portability-jersey-2/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
-    <servlet>
-        <servlet-name>Jersey Web Application</servlet-name>
-        <servlet-class>org.glassfish.jersey.servlet.portability.PortableServletContainer</servlet-class>
-        <init-param>
-            <param-name>jersey1#com.sun.jersey.config.property.resourceConfigClass</param-name>
-            <param-value>org.glassfish.jersey.tests.integration.portability.Jersey1Application</param-value>
-        </init-param>
-        <init-param>
-            <param-name>jersey2#javax.ws.rs.Application</param-name>
-            <param-value>org.glassfish.jersey.tests.integration.portability.Jersey2Application</param-value>
-        </init-param>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-    <servlet-mapping>
-        <servlet-name>Jersey Web Application</servlet-name>
-        <url-pattern>/*</url-pattern>
-    </servlet-mapping>
-</web-app>
diff --git a/tests/integration/portability-jersey-2/src/test/java/org/glassfish/jersey/tests/integration/portability/PortabilityITCase.java b/tests/integration/portability-jersey-2/src/test/java/org/glassfish/jersey/tests/integration/portability/PortabilityITCase.java
deleted file mode 100644
index dc0cba3..0000000
--- a/tests/integration/portability-jersey-2/src/test/java/org/glassfish/jersey/tests/integration/portability/PortabilityITCase.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2012, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.tests.integration.portability;
-
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
-import org.glassfish.jersey.test.spi.TestContainerException;
-import org.glassfish.jersey.test.spi.TestContainerFactory;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * @author Martin Matula
- */
-public class PortabilityITCase extends JerseyTest {
-    @Override
-    protected Application configure() {
-        // dummy resource config
-        return new ResourceConfig();
-    }
-
-    @Override
-    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
-        return new ExternalTestContainerFactory();
-    }
-
-    @Test
-    public void testHelloWorld() throws Exception {
-        String s = target("helloworld").request().get(String.class);
-        assertEquals("Hello World!", s);
-    }
-
-    @Test
-    public void testJersey() {
-        Response r = target("jersey").request().get();
-        assertEquals(200, r.getStatus());
-        assertEquals("Using Jersey 2.x", r.readEntity(String.class));
-    }
-}
diff --git a/tests/integration/property-check/pom.xml b/tests/integration/property-check/pom.xml
index 64fd8f5..ef3d8ac 100644
--- a/tests/integration/property-check/pom.xml
+++ b/tests/integration/property-check/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>property-check</artifactId>
@@ -65,6 +65,7 @@
         <dependency>
             <groupId>org.glassfish.jersey.connectors</groupId>
             <artifactId>jersey-jetty-connector</artifactId>
+            <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/reactive-streams/pom.xml b/tests/integration/reactive-streams/pom.xml
index ac6fce8..5f9ecaa 100644
--- a/tests/integration/reactive-streams/pom.xml
+++ b/tests/integration/reactive-streams/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
diff --git a/tests/integration/reactive-streams/sse/pom.xml b/tests/integration/reactive-streams/sse/pom.xml
index d963f93..2230577 100644
--- a/tests/integration/reactive-streams/sse/pom.xml
+++ b/tests/integration/reactive-streams/sse/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>reactive-streams-integration-project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration.reactive</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -47,6 +47,7 @@
         <dependency>
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
+            <version>${testng6.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/tests/integration/reactive-streams/sse/src/test/java/org/glassfish/jersey/media/sse/internal/SseSubscriberTest.java b/tests/integration/reactive-streams/sse/src/test/java/org/glassfish/jersey/media/sse/internal/SseSubscriberTest.java
index d7a3afd..948a210 100644
--- a/tests/integration/reactive-streams/sse/src/test/java/org/glassfish/jersey/media/sse/internal/SseSubscriberTest.java
+++ b/tests/integration/reactive-streams/sse/src/test/java/org/glassfish/jersey/media/sse/internal/SseSubscriberTest.java
@@ -25,20 +25,20 @@
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
-import javax.inject.Singleton;
-import javax.json.Json;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObject;
-import javax.json.bind.Jsonb;
-import javax.json.bind.JsonbBuilder;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.sse.SseEventSource;
+import jakarta.inject.Singleton;
+import jakarta.json.Json;
+import jakarta.json.JsonBuilderFactory;
+import jakarta.json.JsonObject;
+import jakarta.json.bind.Jsonb;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.sse.SseEventSource;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/tests/integration/security-digest/pom.xml b/tests/integration/security-digest/pom.xml
index f39770a..c46f761 100644
--- a/tests/integration/security-digest/pom.xml
+++ b/tests/integration/security-digest/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>security-digest</artifactId>
@@ -58,7 +58,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
 
                 <configuration>
diff --git a/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/MyApplication.java b/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/MyApplication.java
index 8c480aa..2a21c5c 100644
--- a/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/MyApplication.java
+++ b/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.securitydigest;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ServerProperties;
diff --git a/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/MyResource.java b/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/MyResource.java
index 7ebff65..6a61f86 100644
--- a/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/MyResource.java
+++ b/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/MyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.securitydigest;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  * This resource contains methods that are secured using web.xml declarative security. Names of methods
diff --git a/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/SubResource.java b/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/SubResource.java
index 39c6edc..2d96bcd 100644
--- a/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/SubResource.java
+++ b/tests/integration/security-digest/src/main/java/org/glassfish/jersey/tests/integration/securitydigest/SubResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.securitydigest;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.SecurityContext;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  *
diff --git a/tests/integration/security-digest/src/main/webapp/WEB-INF/web.xml b/tests/integration/security-digest/src/main/webapp/WEB-INF/web.xml
index b704f48..8fd4307 100644
--- a/tests/integration/security-digest/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/security-digest/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
         <servlet-name>org.glassfish.jersey.tests.integration.securitydigest.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.securitydigest.MyApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/security-digest/src/test/java/org/glassfish/jersey/tests/integration/securitydigest/SecurityDigestAuthenticationITCase.java b/tests/integration/security-digest/src/test/java/org/glassfish/jersey/tests/integration/securitydigest/SecurityDigestAuthenticationITCase.java
index 28c8613..c676b03 100644
--- a/tests/integration/security-digest/src/test/java/org/glassfish/jersey/tests/integration/securitydigest/SecurityDigestAuthenticationITCase.java
+++ b/tests/integration/security-digest/src/test/java/org/glassfish/jersey/tests/integration/securitydigest/SecurityDigestAuthenticationITCase.java
@@ -18,10 +18,10 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
diff --git a/tests/integration/servlet-2.5-autodiscovery-1/pom.xml b/tests/integration/servlet-2.5-autodiscovery-1/pom.xml
index ec7d347..a369114 100644
--- a/tests/integration/servlet-2.5-autodiscovery-1/pom.xml
+++ b/tests/integration/servlet-2.5-autodiscovery-1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-autodiscovery-1</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-autodiscovery-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_1/LanguageVariantResource.java b/tests/integration/servlet-2.5-autodiscovery-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_1/LanguageVariantResource.java
index cc161c9..cabcc9a 100644
--- a/tests/integration/servlet-2.5-autodiscovery-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_1/LanguageVariantResource.java
+++ b/tests/integration/servlet-2.5-autodiscovery-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_1/LanguageVariantResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,13 +19,13 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Variant;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Variant;
 
 /**
  * @author Martin Matula
diff --git a/tests/integration/servlet-2.5-autodiscovery-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_1/LanguageVariantResourceITCase.java b/tests/integration/servlet-2.5-autodiscovery-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_1/LanguageVariantResourceITCase.java
index 80806a9..9f8a6b9 100644
--- a/tests/integration/servlet-2.5-autodiscovery-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_1/LanguageVariantResourceITCase.java
+++ b/tests/integration/servlet-2.5-autodiscovery-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_1/LanguageVariantResourceITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_autodiscovery_1;
 
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-2.5-autodiscovery-2/pom.xml b/tests/integration/servlet-2.5-autodiscovery-2/pom.xml
index 4af7515..1f068a0 100644
--- a/tests/integration/servlet-2.5-autodiscovery-2/pom.xml
+++ b/tests/integration/servlet-2.5-autodiscovery-2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-autodiscovery-2</artifactId>
@@ -41,6 +41,12 @@
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
             <artifactId>jersey-bean-validation</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>jakarta.el</groupId>
+                    <artifactId>jakarta.el-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
diff --git a/tests/integration/servlet-2.5-autodiscovery-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_2/ValidationResource.java b/tests/integration/servlet-2.5-autodiscovery-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_2/ValidationResource.java
index 50158e8..be6f07b 100644
--- a/tests/integration/servlet-2.5-autodiscovery-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_2/ValidationResource.java
+++ b/tests/integration/servlet-2.5-autodiscovery-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_2/ValidationResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_autodiscovery_2;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
 
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-2.5-autodiscovery-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_2/ValidationResourceITCase.java b/tests/integration/servlet-2.5-autodiscovery-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_2/ValidationResourceITCase.java
index 4bb0205..a8cd5bd 100644
--- a/tests/integration/servlet-2.5-autodiscovery-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_2/ValidationResourceITCase.java
+++ b/tests/integration/servlet-2.5-autodiscovery-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_autodiscovery_2/ValidationResourceITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_autodiscovery_2;
 
-import javax.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Entity;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-2.5-filter/pom.xml b/tests/integration/servlet-2.5-filter/pom.xml
index 51d15b3..2d07e5e 100644
--- a/tests/integration/servlet-2.5-filter/pom.xml
+++ b/tests/integration/servlet-2.5-filter/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-filter</artifactId>
@@ -43,6 +43,10 @@
             <artifactId>jersey-test-framework-provider-external</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
@@ -56,25 +60,9 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-
 </project>
diff --git a/tests/integration/servlet-2.5-filter/src/main/java/org/glassfish/jersey/tests/integration/servlet_2_5_filter/MyResource.java b/tests/integration/servlet-2.5-filter/src/main/java/org/glassfish/jersey/tests/integration/servlet_2_5_filter/MyResource.java
index 086915c..d31c663 100644
--- a/tests/integration/servlet-2.5-filter/src/main/java/org/glassfish/jersey/tests/integration/servlet_2_5_filter/MyResource.java
+++ b/tests/integration/servlet-2.5-filter/src/main/java/org/glassfish/jersey/tests/integration/servlet_2_5_filter/MyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_2_5_filter;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Adam Lindenthal
diff --git a/tests/integration/servlet-2.5-filter/src/test/java/org/glassfish/jersey/tests/integration/servlet_2_5_filter/MyResourceITCase.java b/tests/integration/servlet-2.5-filter/src/test/java/org/glassfish/jersey/tests/integration/servlet_2_5_filter/MyResourceITCase.java
index 4b11bcf..a3eed41 100644
--- a/tests/integration/servlet-2.5-filter/src/test/java/org/glassfish/jersey/tests/integration/servlet_2_5_filter/MyResourceITCase.java
+++ b/tests/integration/servlet-2.5-filter/src/test/java/org/glassfish/jersey/tests/integration/servlet_2_5_filter/MyResourceITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_2_5_filter;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-2.5-inflector-1/pom.xml b/tests/integration/servlet-2.5-inflector-1/pom.xml
index 875ff07..2a94b1a 100644
--- a/tests/integration/servlet-2.5-inflector-1/pom.xml
+++ b/tests/integration/servlet-2.5-inflector-1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-inflector-1</artifactId>
@@ -41,9 +41,9 @@
             <artifactId>jersey-container-servlet-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -65,7 +65,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_inflector_1/MyInflector.java b/tests/integration/servlet-2.5-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_inflector_1/MyInflector.java
index 84c9a3b..4ec21a7 100644
--- a/tests/integration/servlet-2.5-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_inflector_1/MyInflector.java
+++ b/tests/integration/servlet-2.5-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_inflector_1/MyInflector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_inflector_1;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.process.Inflector;
 
diff --git a/tests/integration/servlet-2.5-inflector-1/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-2.5-inflector-1/src/main/webapp/WEB-INF/web.xml
index 2806fe6..a9a5c87 100644
--- a/tests/integration/servlet-2.5-inflector-1/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-2.5-inflector-1/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
         <servlet-name>org.glassfish.jersey.tests.integration.servlet_25_inflector_1.MyApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_25_inflector_1.MyApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/servlet-2.5-inflector-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_inflector_1/InflectorInjectionTestITCase.java b/tests/integration/servlet-2.5-inflector-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_inflector_1/InflectorInjectionTestITCase.java
index 77e5d16..a695d9a 100644
--- a/tests/integration/servlet-2.5-inflector-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_inflector_1/InflectorInjectionTestITCase.java
+++ b/tests/integration/servlet-2.5-inflector-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_inflector_1/InflectorInjectionTestITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_inflector_1;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-2.5-init-1/pom.xml b/tests/integration/servlet-2.5-init-1/pom.xml
index aedfe28..6a774f3 100644
--- a/tests/integration/servlet-2.5-init-1/pom.xml
+++ b/tests/integration/servlet-2.5-init-1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-init-1</artifactId>
@@ -34,9 +34,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -63,10 +63,9 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
-
 </project>
diff --git a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/ClientUsingResource.java b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/ClientUsingResource.java
index 2746461..c816935 100644
--- a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/ClientUsingResource.java
+++ b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/ClientUsingResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,11 +18,11 @@
 
 import java.net.URI;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * A resource that instantiated & uses JAX-RS/Jersey client to access another resource.
diff --git a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/HelloWorldResource.java b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/HelloWorldResource.java
index d2c1bbe..d3fd6ca 100644
--- a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_1;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.servlet.WebConfig;
 
diff --git a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/MultipleLinksResource.java b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/MultipleLinksResource.java
index e9d4702..122a108 100644
--- a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/MultipleLinksResource.java
+++ b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/MultipleLinksResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.net.URI;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Reproducer for JERSEY-1801. See also E2E {@code LinkTest}.
diff --git a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/Servlet25init1.java b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/Servlet25init1.java
index 10bf9c4..ce68649 100644
--- a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/Servlet25init1.java
+++ b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/Servlet25init1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,8 +22,8 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 /**
  * JAX-RS application for the Servlet 2.5 initialization test #01.
diff --git a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/UnreachableResource.java b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/UnreachableResource.java
index 42e042a..e612c10 100644
--- a/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/UnreachableResource.java
+++ b/tests/integration/servlet-2.5-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/UnreachableResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_1;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 /**
  *
diff --git a/tests/integration/servlet-2.5-init-1/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-2.5-init-1/src/main/webapp/WEB-INF/web.xml
index d5a0798..3ba80e1 100644
--- a/tests/integration/servlet-2.5-init-1/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-2.5-init-1/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
         <servlet-name>testServlet1</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_25_init_1.Servlet25init1</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/servlet-2.5-init-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/Servlet25Init1ITCase.java b/tests/integration/servlet-2.5-init-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/Servlet25Init1ITCase.java
index 97ef64c..c44f34a 100644
--- a/tests/integration/servlet-2.5-init-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/Servlet25Init1ITCase.java
+++ b/tests/integration/servlet-2.5-init-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_1/Servlet25Init1ITCase.java
@@ -18,9 +18,9 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-2.5-init-2/pom.xml b/tests/integration/servlet-2.5-init-2/pom.xml
index 0ca38a6..a60c25a 100644
--- a/tests/integration/servlet-2.5-init-2/pom.xml
+++ b/tests/integration/servlet-2.5-init-2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-init-2</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/CustomFeature.java b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/CustomFeature.java
index 1f99758..c68c874 100644
--- a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/CustomFeature.java
+++ b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/CustomFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_2;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.tests.integration.servlet_25_init_2.ext.Ext1WriterInterceptor;
 import org.glassfish.jersey.tests.integration.servlet_25_init_2.ext.Ext2WriterInterceptor;
diff --git a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/HelloWorldResource.java b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/HelloWorldResource.java
index d3fd2f8..25f7ace 100644
--- a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_2;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext1WriterInterceptor.java b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext1WriterInterceptor.java
index 1ff8e53..0aa430e 100644
--- a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext1WriterInterceptor.java
+++ b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext1WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext2WriterInterceptor.java b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext2WriterInterceptor.java
index 80eebfe..991045b 100644
--- a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext2WriterInterceptor.java
+++ b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext2WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext3WriterInterceptor.java b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext3WriterInterceptor.java
index 885f151..683e3e9 100644
--- a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext3WriterInterceptor.java
+++ b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext3WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext4WriterInterceptor.java b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext4WriterInterceptor.java
index d90988a..e48d35b 100644
--- a/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext4WriterInterceptor.java
+++ b/tests/integration/servlet-2.5-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/ext/Ext4WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-2.5-init-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/HelloWorldResourceITCase.java b/tests/integration/servlet-2.5-init-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/HelloWorldResourceITCase.java
index b6c5a74..586118a 100644
--- a/tests/integration/servlet-2.5-init-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/HelloWorldResourceITCase.java
+++ b/tests/integration/servlet-2.5-init-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_2/HelloWorldResourceITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_2;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-2.5-init-3/pom.xml b/tests/integration/servlet-2.5-init-3/pom.xml
index 3fee719..f9d667b 100644
--- a/tests/integration/servlet-2.5-init-3/pom.xml
+++ b/tests/integration/servlet-2.5-init-3/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-init-3</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_3/HelloWorldResource.java b/tests/integration/servlet-2.5-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_3/HelloWorldResource.java
index 918b7e0..955aa42 100644
--- a/tests/integration/servlet-2.5-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_3/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_3/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_3;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-init-4/pom.xml b/tests/integration/servlet-2.5-init-4/pom.xml
index 104cc7f..cc145f5 100644
--- a/tests/integration/servlet-2.5-init-4/pom.xml
+++ b/tests/integration/servlet-2.5-init-4/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-init-4</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_4/HelloWorldResource.java b/tests/integration/servlet-2.5-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_4/HelloWorldResource.java
index 91b685f..07dbdc2 100644
--- a/tests/integration/servlet-2.5-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_4/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_4/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_4;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_4/HelloWriter.java b/tests/integration/servlet-2.5-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_4/HelloWriter.java
index 25a3d00..b2b016c 100644
--- a/tests/integration/servlet-2.5-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_4/HelloWriter.java
+++ b/tests/integration/servlet-2.5-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_4/HelloWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/servlet-2.5-init-5/pom.xml b/tests/integration/servlet-2.5-init-5/pom.xml
index 3302a93..8df42ce 100644
--- a/tests/integration/servlet-2.5-init-5/pom.xml
+++ b/tests/integration/servlet-2.5-init-5/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-init-5</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/HelloWorldResource.java b/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/HelloWorldResource.java
index 580505a..61cc480 100644
--- a/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_5;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/Servlet25init5.java b/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/Servlet25init5.java
index d04a1be..2f62062 100644
--- a/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/Servlet25init5.java
+++ b/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/Servlet25init5.java
@@ -19,8 +19,8 @@
 import java.util.Collections;
 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;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/UnreachableResource.java b/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/UnreachableResource.java
index 24eee33..145d5ad 100644
--- a/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/UnreachableResource.java
+++ b/tests/integration/servlet-2.5-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/UnreachableResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_5;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 /**
  *
diff --git a/tests/integration/servlet-2.5-init-5/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-2.5-init-5/src/main/webapp/WEB-INF/web.xml
index 271170f..fececd0 100644
--- a/tests/integration/servlet-2.5-init-5/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-2.5-init-5/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
         <filter-name>testServlet5</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_25_init_5.Servlet25init5</param-value>
         </init-param>
     </filter>
diff --git a/tests/integration/servlet-2.5-init-5/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/HelloWorldResourceITCase.java b/tests/integration/servlet-2.5-init-5/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/HelloWorldResourceITCase.java
index a6f30ae..c0bf8aa 100644
--- a/tests/integration/servlet-2.5-init-5/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/HelloWorldResourceITCase.java
+++ b/tests/integration/servlet-2.5-init-5/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_init_5/HelloWorldResourceITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_5;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-2.5-init-6/pom.xml b/tests/integration/servlet-2.5-init-6/pom.xml
index e58e684..c68d868 100644
--- a/tests/integration/servlet-2.5-init-6/pom.xml
+++ b/tests/integration/servlet-2.5-init-6/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-init-6</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_6/HelloWorldResource.java b/tests/integration/servlet-2.5-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_6/HelloWorldResource.java
index 0e86195..a5398f1 100644
--- a/tests/integration/servlet-2.5-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_6/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_6/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_6;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-init-7/pom.xml b/tests/integration/servlet-2.5-init-7/pom.xml
index a96c000..4b50bd7 100644
--- a/tests/integration/servlet-2.5-init-7/pom.xml
+++ b/tests/integration/servlet-2.5-init-7/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-init-7</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_7/HelloWorldResource.java b/tests/integration/servlet-2.5-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_7/HelloWorldResource.java
index f6e9aee..6e1d6e0 100644
--- a/tests/integration/servlet-2.5-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_7/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_7/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_7;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-init-8/pom.xml b/tests/integration/servlet-2.5-init-8/pom.xml
index 85b1a54..2ad88bc 100644
--- a/tests/integration/servlet-2.5-init-8/pom.xml
+++ b/tests/integration/servlet-2.5-init-8/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-init-8</artifactId>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-2.5-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_8/HelloWorldResource.java b/tests/integration/servlet-2.5-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_8/HelloWorldResource.java
index 8299217..9a42333 100644
--- a/tests/integration/servlet-2.5-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_8/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_8/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_init_8;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_8/HelloWriter.java b/tests/integration/servlet-2.5-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_8/HelloWriter.java
index f04a47e..fe43ee5 100644
--- a/tests/integration/servlet-2.5-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_8/HelloWriter.java
+++ b/tests/integration/servlet-2.5-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_init_8/HelloWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 import org.glassfish.jersey.message.MessageUtils;
 
 /**
diff --git a/tests/integration/servlet-2.5-mvc-1/pom.xml b/tests/integration/servlet-2.5-mvc-1/pom.xml
index 7717868..8193179 100644
--- a/tests/integration/servlet-2.5-mvc-1/pom.xml
+++ b/tests/integration/servlet-2.5-mvc-1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-mvc-1</artifactId>
@@ -47,9 +47,18 @@
         </dependency>
 
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
@@ -104,23 +113,4 @@
             </plugin>
         </plugins>
     </build>
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-
 </project>
diff --git a/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Book.java b/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Book.java
index 8401757..0cd8522 100644
--- a/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Book.java
+++ b/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Book.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_1.resource;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Bookstore.java b/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Bookstore.java
index f66b7b3..706476b 100644
--- a/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Bookstore.java
+++ b/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Bookstore.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,18 +19,18 @@
 import java.util.Map;
 import java.util.TreeMap;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Item.java b/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Item.java
index 9a01b41..d0c07b9 100644
--- a/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Item.java
+++ b/tests/integration/servlet-2.5-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/resource/Item.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_1.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/tests/integration/servlet-2.5-mvc-1/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-2.5-mvc-1/src/main/webapp/WEB-INF/web.xml
index 7692801..95d1109 100644
--- a/tests/integration/servlet-2.5-mvc-1/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-2.5-mvc-1/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
         <filter-name>org.glassfish.jersey.tests.integration.servlet_25_mvc_1.MyApplication</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_25_mvc_1.MyApplication</param-value>
         </init-param>
         <!-- pass to next filter if Jersey/App returns 404 -->
diff --git a/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/BookstoreITCase.java b/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/BookstoreITCase.java
index 40b1ab9..c38b08d 100644
--- a/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/BookstoreITCase.java
+++ b/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/BookstoreITCase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_1;
 
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.tests.integration.servlet_25_mvc_1.resource.Bookstore;
 
diff --git a/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/ItemITCase.java b/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/ItemITCase.java
index 0fa94d5..f390bf8 100644
--- a/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/ItemITCase.java
+++ b/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/ItemITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_1;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.tests.integration.servlet_25_mvc_1.resource.Book;
 
diff --git a/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/TestSupport.java b/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/TestSupport.java
index 50b8938..37cc2fd 100644
--- a/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/TestSupport.java
+++ b/tests/integration/servlet-2.5-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_1/TestSupport.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_1;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-2.5-mvc-2/pom.xml b/tests/integration/servlet-2.5-mvc-2/pom.xml
index d22558a..88ee7f4 100644
--- a/tests/integration/servlet-2.5-mvc-2/pom.xml
+++ b/tests/integration/servlet-2.5-mvc-2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-mvc-2</artifactId>
@@ -47,9 +47,18 @@
         </dependency>
 
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
@@ -69,29 +78,9 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-
 </project>
diff --git a/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Book.java b/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Book.java
index 5b64e83..5aa4d31 100644
--- a/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Book.java
+++ b/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Book.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_2.resource;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Bookstore.java b/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Bookstore.java
index aeb0812..192a3a8 100644
--- a/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Bookstore.java
+++ b/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Bookstore.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,18 +19,18 @@
 import java.util.Map;
 import java.util.TreeMap;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Item.java b/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Item.java
index 42ef066..4e0f8f3 100644
--- a/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Item.java
+++ b/tests/integration/servlet-2.5-mvc-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/resource/Item.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_2.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/tests/integration/servlet-2.5-mvc-2/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-2.5-mvc-2/src/main/webapp/WEB-INF/web.xml
index 4fa05ba..9be7be9 100644
--- a/tests/integration/servlet-2.5-mvc-2/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-2.5-mvc-2/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
         <filter-name>org.glassfish.jersey.tests.integration.servlet_25_mvc_2.MyApplication</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_25_mvc_2.MyApplication</param-value>
         </init-param>
         <init-param>
diff --git a/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/BookstoreITCase.java b/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/BookstoreITCase.java
index 5089322..b1b8433 100644
--- a/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/BookstoreITCase.java
+++ b/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/BookstoreITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_2;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.tests.integration.servlet_25_mvc_2.resource.Bookstore;
 
diff --git a/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/ItemITCase.java b/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/ItemITCase.java
index 62dab08..0960e47 100644
--- a/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/ItemITCase.java
+++ b/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/ItemITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_2;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.tests.integration.servlet_25_mvc_2.resource.Book;
 
diff --git a/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/TestSupport.java b/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/TestSupport.java
index d9d2099..428a877 100644
--- a/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/TestSupport.java
+++ b/tests/integration/servlet-2.5-mvc-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_2/TestSupport.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_2;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.TestProperties;
diff --git a/tests/integration/servlet-2.5-mvc-3/pom.xml b/tests/integration/servlet-2.5-mvc-3/pom.xml
index 6b3a19b..30a7831 100644
--- a/tests/integration/servlet-2.5-mvc-3/pom.xml
+++ b/tests/integration/servlet-2.5-mvc-3/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-mvc-3</artifactId>
@@ -47,9 +47,18 @@
         </dependency>
 
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
@@ -104,24 +113,4 @@
             </plugin>
         </plugins>
     </build>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>jakarta.xml.bind</groupId>
-                    <artifactId>jakarta.xml.bind-api</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-
 </project>
diff --git a/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Book.java b/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Book.java
index 049a8f2..bb8602f 100644
--- a/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Book.java
+++ b/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Book.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_3.resource;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Bookstore.java b/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Bookstore.java
index d52888b..718f9d8 100644
--- a/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Bookstore.java
+++ b/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Bookstore.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,18 +19,18 @@
 import java.util.Map;
 import java.util.TreeMap;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Singleton;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.inject.Singleton;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 
diff --git a/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Item.java b/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Item.java
index 85eb6cb..e606cd3 100644
--- a/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Item.java
+++ b/tests/integration/servlet-2.5-mvc-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/resource/Item.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_3.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.server.mvc.Template;
 import org.glassfish.jersey.server.mvc.Viewable;
diff --git a/tests/integration/servlet-2.5-mvc-3/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-2.5-mvc-3/src/main/webapp/WEB-INF/web.xml
index 7448762..0583760 100644
--- a/tests/integration/servlet-2.5-mvc-3/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-2.5-mvc-3/src/main/webapp/WEB-INF/web.xml
@@ -22,7 +22,7 @@
         <filter-name>org.glassfish.jersey.tests.integration.servlet_25_mvc_3.MyApplication</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_25_mvc_3.MyApplication</param-value>
         </init-param>
         <init-param>
diff --git a/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/BookstoreITCase.java b/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/BookstoreITCase.java
index 35ddced..17faca8 100644
--- a/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/BookstoreITCase.java
+++ b/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/BookstoreITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_3;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.tests.integration.servlet_25_mvc_3.resource.Bookstore;
 
diff --git a/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/ItemITCase.java b/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/ItemITCase.java
index d0c3ba2..3db77e3 100644
--- a/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/ItemITCase.java
+++ b/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/ItemITCase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_3;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.tests.integration.servlet_25_mvc_3.resource.Book;
 import org.junit.jupiter.api.Disabled;
diff --git a/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/TestSupport.java b/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/TestSupport.java
index eb101a2..f6643eb 100644
--- a/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/TestSupport.java
+++ b/tests/integration/servlet-2.5-mvc-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_mvc_3/TestSupport.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_mvc_3;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.TestProperties;
diff --git a/tests/integration/servlet-2.5-reload/pom.xml b/tests/integration/servlet-2.5-reload/pom.xml
index b48e501..d19047d 100644
--- a/tests/integration/servlet-2.5-reload/pom.xml
+++ b/tests/integration/servlet-2.5-reload/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-2.5-reload</artifactId>
diff --git a/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/AnotherResource.java b/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/AnotherResource.java
index 1042e4b..e897ddc 100644
--- a/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/AnotherResource.java
+++ b/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/AnotherResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_config_reload;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/HelloWorldResource.java b/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/HelloWorldResource.java
index 7912918..1cb1bd0 100644
--- a/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/HelloWorldResource.java
+++ b/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_config_reload;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadContainerLifecycleListener.java b/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadContainerLifecycleListener.java
index ceee204..15184ff 100644
--- a/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadContainerLifecycleListener.java
+++ b/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadContainerLifecycleListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_config_reload;
 
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.server.spi.AbstractContainerLifecycleListener;
 import org.glassfish.jersey.server.spi.Container;
diff --git a/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadResource.java b/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadResource.java
index aeb411d..62da263 100644
--- a/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadResource.java
+++ b/tests/integration/servlet-2.5-reload/src/main/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_config_reload;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/servlet-2.5-reload/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadTestIT.java b/tests/integration/servlet-2.5-reload/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadTestIT.java
index 21b86d4..cf9931f 100644
--- a/tests/integration/servlet-2.5-reload/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadTestIT.java
+++ b/tests/integration/servlet-2.5-reload/src/test/java/org/glassfish/jersey/tests/integration/servlet_25_config_reload/ReloadTestIT.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_25_config_reload;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-3-async/pom.xml b/tests/integration/servlet-3-async/pom.xml
index 8d7cec7..c61d313 100644
--- a/tests/integration/servlet-3-async/pom.xml
+++ b/tests/integration/servlet-3-async/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-async</artifactId>
     <packaging>war</packaging>
     <name>jersey-tests-integration-servlet-3-async</name>
 
-    <description>Servlet integration test - servlet-3-async - configured via jax-rs application annotated with @javax.ws.rs.ApplicationPath</description>
+    <description>Servlet integration test - servlet-3-async - configured via jax-rs application annotated with @jakarta.ws.rs.ApplicationPath</description>
 
     <dependencies>
         <dependency>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResource.java b/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResource.java
index e91d67b..304ce9a 100644
--- a/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResource.java
+++ b/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,14 +20,14 @@
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.Executors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 /**
  * Asynchronous servlet-deployed resource.
diff --git a/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncTimeoutResource.java b/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncTimeoutResource.java
index 23c000b..93d92a2 100644
--- a/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncTimeoutResource.java
+++ b/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncTimeoutResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,15 +20,15 @@
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
 
 /**
- * Asynchronous servlet-deployed resource for testing {@link javax.ws.rs.container.AsyncResponse async response} timeouts.
+ * Asynchronous servlet-deployed resource for testing {@link jakarta.ws.rs.container.AsyncResponse async response} timeouts.
  *
  * @author Michal Gajdos
  */
diff --git a/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/Servlet3Async.java b/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/Servlet3Async.java
index e903da2..a111cbf 100644
--- a/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/Servlet3Async.java
+++ b/tests/integration/servlet-3-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/Servlet3Async.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * Asynchronous servlet-deployed resource application.
diff --git a/tests/integration/servlet-3-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResourceITCase.java b/tests/integration/servlet-3-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResourceITCase.java
index e7ba9a6..ccf1ac3 100644
--- a/tests/integration/servlet-3-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResourceITCase.java
+++ b/tests/integration/servlet-3-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResourceITCase.java
@@ -25,12 +25,12 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/servlet-3-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncTimeoutResourceITCase.java b/tests/integration/servlet-3-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncTimeoutResourceITCase.java
index ee941a3..0a77d0c 100644
--- a/tests/integration/servlet-3-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncTimeoutResourceITCase.java
+++ b/tests/integration/servlet-3-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncTimeoutResourceITCase.java
@@ -18,10 +18,10 @@
 
 import java.util.concurrent.Future;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.test.JerseyTest;
@@ -34,7 +34,7 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Asynchronous servlet-deployed resource for testing {@link javax.ws.rs.container.AsyncResponse async response} timeouts.
+ * Asynchronous servlet-deployed resource for testing {@link jakarta.ws.rs.container.AsyncResponse async response} timeouts.
  *
  * @author Michal Gajdos
  */
diff --git a/tests/integration/servlet-3-chunked-io/pom.xml b/tests/integration/servlet-3-chunked-io/pom.xml
index 8436078..eb2e704 100644
--- a/tests/integration/servlet-3-chunked-io/pom.xml
+++ b/tests/integration/servlet-3-chunked-io/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-chunked-io</artifactId>
@@ -65,7 +65,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/App.java b/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/App.java
index 7a1ca31..68686b2 100644
--- a/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/App.java
+++ b/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/App.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/Message.java b/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/Message.java
index f19740a..666a4d8 100644
--- a/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/Message.java
+++ b/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/Message.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_chunked_io;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Message POJO.
diff --git a/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/TestResource.java b/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/TestResource.java
index 60a31c5..a55d3ad 100644
--- a/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/TestResource.java
+++ b/tests/integration/servlet-3-chunked-io/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,13 +22,13 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.server.ChunkedOutput;
 
diff --git a/tests/integration/servlet-3-chunked-io/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/ChunkedInputOutputITCase.java b/tests/integration/servlet-3-chunked-io/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/ChunkedInputOutputITCase.java
index a4dcefc..8c7926e 100644
--- a/tests/integration/servlet-3-chunked-io/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/ChunkedInputOutputITCase.java
+++ b/tests/integration/servlet-3-chunked-io/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_chunked_io/ChunkedInputOutputITCase.java
@@ -21,10 +21,10 @@
 import java.net.URI;
 import java.net.URLConnection;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ChunkedInput;
 import org.glassfish.jersey.client.ClientConfig;
diff --git a/tests/integration/servlet-3-filter/pom.xml b/tests/integration/servlet-3-filter/pom.xml
index 340458e..e1e7d0f 100644
--- a/tests/integration/servlet-3-filter/pom.xml
+++ b/tests/integration/servlet-3-filter/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-filter</artifactId>
@@ -43,6 +43,11 @@
             <artifactId>jersey-test-framework-provider-external</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-osgi</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
@@ -56,24 +61,9 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
     </build>
-
-    <profiles>
-        <profile>
-            <id>jdk11+</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.xml.bind</groupId>
-                    <artifactId>jaxb-osgi</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
 </project>
diff --git a/tests/integration/servlet-3-filter/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_filter/MyResource.java b/tests/integration/servlet-3-filter/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_filter/MyResource.java
index c071afe..a892f8e 100644
--- a/tests/integration/servlet-3-filter/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_filter/MyResource.java
+++ b/tests/integration/servlet-3-filter/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_filter/MyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_filter;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Adam Lindenthal
diff --git a/tests/integration/servlet-3-filter/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_filter/MyResourceITCase.java b/tests/integration/servlet-3-filter/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_filter/MyResourceITCase.java
index 31eab22..ab2be8c 100644
--- a/tests/integration/servlet-3-filter/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_filter/MyResourceITCase.java
+++ b/tests/integration/servlet-3-filter/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_filter/MyResourceITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_filter;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-3-gf-async/pom.xml b/tests/integration/servlet-3-gf-async/pom.xml
index 5256a55..351a4fd 100644
--- a/tests/integration/servlet-3-gf-async/pom.xml
+++ b/tests/integration/servlet-3-gf-async/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-gf-async</artifactId>
     <packaging>war</packaging>
     <name>jersey-tests-integration-servlet-3-gf-async</name>
 
-    <description>Servlet (GF) integration test - servlet-3-gf-async - configured via jax-rs application annotated with @javax.ws.rs.ApplicationPath</description>
+    <description>Servlet (GF) integration test - servlet-3-gf-async - configured via jax-rs application annotated with @jakarta.ws.rs.ApplicationPath</description>
 
     <dependencies>
         <dependency>
diff --git a/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncCancelTimeoutResource.java b/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncCancelTimeoutResource.java
index f67f854..d8c6473 100644
--- a/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncCancelTimeoutResource.java
+++ b/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncCancelTimeoutResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,15 +20,15 @@
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
 
 /**
- * Asynchronous servlet-deployed resource for testing {@link javax.ws.rs.container.AsyncResponse async response} timeouts.
+ * Asynchronous servlet-deployed resource for testing {@link jakarta.ws.rs.container.AsyncResponse async response} timeouts.
  *
  * @author Michal Gajdos
  */
diff --git a/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncResumeTimeoutResource.java b/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncResumeTimeoutResource.java
index e6ad2dc..93c1803 100644
--- a/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncResumeTimeoutResource.java
+++ b/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncResumeTimeoutResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,15 +20,15 @@
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.container.TimeoutHandler;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.TimeoutHandler;
 
 /**
- * Asynchronous servlet-deployed resource for testing {@link javax.ws.rs.container.AsyncResponse async response} timeouts.
+ * Asynchronous servlet-deployed resource for testing {@link jakarta.ws.rs.container.AsyncResponse async response} timeouts.
  *
  * @author Michal Gajdos
  */
diff --git a/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResource.java b/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResource.java
index 51041ee..c5f7346 100644
--- a/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResource.java
+++ b/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,14 +20,14 @@
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.Executors;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 /**
  * Asynchronous servlet-deployed resource.
diff --git a/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/Servlet3Async.java b/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/Servlet3Async.java
index abb6463..2f85c49 100644
--- a/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/Servlet3Async.java
+++ b/tests/integration/servlet-3-gf-async/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_async/Servlet3Async.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * Asynchronous servlet-deployed resource application.
diff --git a/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncCancelTimeoutResourceTest.java b/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncCancelTimeoutResourceTest.java
index 9ac8798..78eac87 100644
--- a/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncCancelTimeoutResourceTest.java
+++ b/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncCancelTimeoutResourceTest.java
@@ -18,10 +18,10 @@
 
 import java.util.concurrent.Future;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.DeploymentContext;
 import org.glassfish.jersey.test.JerseyTest;
@@ -36,7 +36,7 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Asynchronous servlet-deployed resource for testing {@link javax.ws.rs.container.AsyncResponse async response} timeouts.
+ * Asynchronous servlet-deployed resource for testing {@link jakarta.ws.rs.container.AsyncResponse async response} timeouts.
  *
  * @author Michal Gajdos
  */
diff --git a/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncResumeTimeoutResourceTest.java b/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncResumeTimeoutResourceTest.java
index ddcb4e8..929d4d3 100644
--- a/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncResumeTimeoutResourceTest.java
+++ b/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncResumeTimeoutResourceTest.java
@@ -18,10 +18,10 @@
 
 import java.util.concurrent.Future;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.DeploymentContext;
 import org.glassfish.jersey.test.JerseyTest;
@@ -36,7 +36,7 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
- * Asynchronous servlet-deployed resource for testing {@link javax.ws.rs.container.AsyncResponse async response} timeouts.
+ * Asynchronous servlet-deployed resource for testing {@link jakarta.ws.rs.container.AsyncResponse async response} timeouts.
  *
  * @author Michal Gajdos
  */
diff --git a/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResourceTest.java b/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResourceTest.java
index e583eb9..1bc5a3a 100644
--- a/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResourceTest.java
+++ b/tests/integration/servlet-3-gf-async/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_async/AsyncServletResourceTest.java
@@ -25,12 +25,12 @@
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.internal.guava.ThreadFactoryBuilder;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/servlet-3-inflector-1/pom.xml b/tests/integration/servlet-3-inflector-1/pom.xml
index c27bb8a..ed0c95a 100644
--- a/tests/integration/servlet-3-inflector-1/pom.xml
+++ b/tests/integration/servlet-3-inflector-1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-inflector-1</artifactId>
@@ -41,9 +41,9 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -65,7 +65,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/MyApplication.java b/tests/integration/servlet-3-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/MyApplication.java
index 7c7a797..5fe257e 100644
--- a/tests/integration/servlet-3-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/MyApplication.java
+++ b/tests/integration/servlet-3-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_inflector_1;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.model.Resource;
diff --git a/tests/integration/servlet-3-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/MyInflector.java b/tests/integration/servlet-3-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/MyInflector.java
index 7315a7d..ed32a23 100644
--- a/tests/integration/servlet-3-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/MyInflector.java
+++ b/tests/integration/servlet-3-inflector-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/MyInflector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_inflector_1;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Response;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.jersey.process.Inflector;
 
diff --git a/tests/integration/servlet-3-inflector-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/InflectorInjectionTestITCase.java b/tests/integration/servlet-3-inflector-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/InflectorInjectionTestITCase.java
index 651e2a5..477785e 100644
--- a/tests/integration/servlet-3-inflector-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/InflectorInjectionTestITCase.java
+++ b/tests/integration/servlet-3-inflector-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_inflector_1/InflectorInjectionTestITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_inflector_1;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-3-init-1/pom.xml b/tests/integration/servlet-3-init-1/pom.xml
index 536eaa0..0f67fa0 100644
--- a/tests/integration/servlet-3-init-1/pom.xml
+++ b/tests/integration/servlet-3-init-1/pom.xml
@@ -23,14 +23,14 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-1</artifactId>
     <packaging>war</packaging>
     <name>jersey-tests-integration-servlet-3-init-1</name>
 
-    <description>Servlet integration test - servlet-3-init-1 - configured via jax-rs application annotated with @javax.ws.rs.ApplicationPath</description>
+    <description>Servlet integration test - servlet-3-init-1 - configured via jax-rs application annotated with @jakarta.ws.rs.ApplicationPath</description>
 
     <dependencies>
         <dependency>
@@ -56,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/HelloWorldResource.java b/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/HelloWorldResource.java
index 3a27b16..de69e63 100644
--- a/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/HelloWorldResource.java
+++ b/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_1;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/Servlet3init1.java b/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/Servlet3init1.java
index 61f84ac..6ce4009 100644
--- a/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/Servlet3init1.java
+++ b/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/Servlet3init1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_1;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 import java.util.HashSet;
 import java.util.Set;
 
diff --git a/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/UnreachableResource.java b/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/UnreachableResource.java
index 5251265..a9a2d24 100644
--- a/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/UnreachableResource.java
+++ b/tests/integration/servlet-3-init-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/UnreachableResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_1;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 /**
  *
diff --git a/tests/integration/servlet-3-init-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/HelloWorldResourceITCase.java b/tests/integration/servlet-3-init-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/HelloWorldResourceITCase.java
index 83ecd1c..d7d70bf 100644
--- a/tests/integration/servlet-3-init-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/HelloWorldResourceITCase.java
+++ b/tests/integration/servlet-3-init-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_1/HelloWorldResourceITCase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_1;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-3-init-2/pom.xml b/tests/integration/servlet-3-init-2/pom.xml
index 319b444..e419e13 100644
--- a/tests/integration/servlet-3-init-2/pom.xml
+++ b/tests/integration/servlet-3-init-2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-2</artifactId>
@@ -31,8 +31,8 @@
     <name>jersey-tests-integration-servlet-3-init-2</name>
 
     <description>
-        Servlet integration test - servlet-3-init-2 - configured via jax-rs application annotated with @javax.ws.rs.ApplicationPath
-        and providers annotated with @javax.ws.rs.ext.Provider.
+        Servlet integration test - servlet-3-init-2 - configured via jax-rs application annotated with @jakarta.ws.rs.ApplicationPath
+        and providers annotated with @jakarta.ws.rs.ext.Provider.
     </description>
 
     <dependencies>
@@ -64,7 +64,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/CustomFeature.java b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/CustomFeature.java
index e36c557..2d21133 100644
--- a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/CustomFeature.java
+++ b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/CustomFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_2;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.tests.integration.servlet_3_init_2.ext.Ext1WriterInterceptor;
 import org.glassfish.jersey.tests.integration.servlet_3_init_2.ext.Ext2WriterInterceptor;
diff --git a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/HelloWorldResource.java b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/HelloWorldResource.java
index b919efd..4f65633 100644
--- a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/HelloWorldResource.java
+++ b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_2;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/Servlet3init2.java b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/Servlet3init2.java
index 387839d..18721cc 100644
--- a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/Servlet3init2.java
+++ b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/Servlet3init2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_2;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext1WriterInterceptor.java b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext1WriterInterceptor.java
index 84e4b05..d66a06a 100644
--- a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext1WriterInterceptor.java
+++ b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext1WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext2WriterInterceptor.java b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext2WriterInterceptor.java
index 2bc9a05..6b5f073 100644
--- a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext2WriterInterceptor.java
+++ b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext2WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext3WriterInterceptor.java b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext3WriterInterceptor.java
index 802b1bb..c23143e 100644
--- a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext3WriterInterceptor.java
+++ b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext3WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext4WriterInterceptor.java b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext4WriterInterceptor.java
index 77bb734..7540afe 100644
--- a/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext4WriterInterceptor.java
+++ b/tests/integration/servlet-3-init-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/ext/Ext4WriterInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/HelloWorldResourceITCase.java b/tests/integration/servlet-3-init-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/HelloWorldResourceITCase.java
index 5395717..9bfeeef 100644
--- a/tests/integration/servlet-3-init-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/HelloWorldResourceITCase.java
+++ b/tests/integration/servlet-3-init-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_2/HelloWorldResourceITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_2;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-3-init-3/pom.xml b/tests/integration/servlet-3-init-3/pom.xml
index da27315..9a8b541 100644
--- a/tests/integration/servlet-3-init-3/pom.xml
+++ b/tests/integration/servlet-3-init-3/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-3</artifactId>
@@ -37,12 +37,6 @@
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
-            <scope>provided</scope>
-        </dependency>
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -62,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/EmptyApplication.java b/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/EmptyApplication.java
index e4f3783..b6483f3 100644
--- a/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/EmptyApplication.java
+++ b/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/EmptyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_3;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/resource/ResourceOne.java b/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/resource/ResourceOne.java
index a31e39a..52590ff 100644
--- a/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/resource/ResourceOne.java
+++ b/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/resource/ResourceOne.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_3.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/resource/ResourceTwo.java b/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/resource/ResourceTwo.java
index e6ce245..045a4bc 100644
--- a/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/resource/ResourceTwo.java
+++ b/tests/integration/servlet-3-init-3/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/resource/ResourceTwo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_3.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/EmptyApplicationTestITCase.java b/tests/integration/servlet-3-init-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/EmptyApplicationTestITCase.java
index 417f310..030ce75 100644
--- a/tests/integration/servlet-3-init-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/EmptyApplicationTestITCase.java
+++ b/tests/integration/servlet-3-init-3/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_3/EmptyApplicationTestITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_3;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-3-init-4/pom.xml b/tests/integration/servlet-3-init-4/pom.xml
index 571e88a..aa74996 100644
--- a/tests/integration/servlet-3-init-4/pom.xml
+++ b/tests/integration/servlet-3-init-4/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-4</artifactId>
@@ -40,12 +40,6 @@
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
-            <scope>provided</scope>
-        </dependency>
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -65,7 +59,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/EmptyApplication.java b/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/EmptyApplication.java
index 5a2042a..b963647 100644
--- a/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/EmptyApplication.java
+++ b/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/EmptyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_4;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/resource/ResourceOne.java b/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/resource/ResourceOne.java
index f43e50c..c318c10 100644
--- a/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/resource/ResourceOne.java
+++ b/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/resource/ResourceOne.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_4.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/resource/ResourceTwo.java b/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/resource/ResourceTwo.java
index 45e9de4..aacb115 100644
--- a/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/resource/ResourceTwo.java
+++ b/tests/integration/servlet-3-init-4/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/resource/ResourceTwo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_4.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-4/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/EmptyApplicationTestITCase.java b/tests/integration/servlet-3-init-4/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/EmptyApplicationTestITCase.java
index c723b0c..e2d2d23 100644
--- a/tests/integration/servlet-3-init-4/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/EmptyApplicationTestITCase.java
+++ b/tests/integration/servlet-3-init-4/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_4/EmptyApplicationTestITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_4;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-3-init-5/pom.xml b/tests/integration/servlet-3-init-5/pom.xml
index 3ecb8af..029f8e2 100644
--- a/tests/integration/servlet-3-init-5/pom.xml
+++ b/tests/integration/servlet-3-init-5/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-5</artifactId>
@@ -31,7 +31,7 @@
     <name>jersey-tests-integration-servlet-3-init-5</name>
 
     <description>Servlet integration test - servlet-3-init-5 - no Application subclass is present;
-        dynamically add a servlet and set its name to javax.ws.rs.core.Application</description>
+        dynamically add a servlet and set its name to jakarta.ws.rs.core.Application</description>
 
     <dependencies>
         <dependency>
@@ -39,13 +39,6 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-external</artifactId>
             <scope>test</scope>
@@ -63,7 +56,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_5/HelloWorldResource.java b/tests/integration/servlet-3-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_5/HelloWorldResource.java
index acca41d..04a6e10 100644
--- a/tests/integration/servlet-3-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_5/HelloWorldResource.java
+++ b/tests/integration/servlet-3-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_5/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_5;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-3-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_5/HelloWriter.java b/tests/integration/servlet-3-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_5/HelloWriter.java
index 8c27f42..6de5b39 100644
--- a/tests/integration/servlet-3-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_5/HelloWriter.java
+++ b/tests/integration/servlet-3-init-5/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_5/HelloWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/servlet-3-init-5/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-3-init-5/src/main/webapp/WEB-INF/web.xml
index 520cb3e..b049fce 100644
--- a/tests/integration/servlet-3-init-5/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-3-init-5/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,10 +21,10 @@
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
          version="3.0">
     <servlet>
-        <servlet-name>javax.ws.rs.core.Application</servlet-name>
+        <servlet-name>jakarta.ws.rs.core.Application</servlet-name>
     </servlet>
     <servlet-mapping>
-        <servlet-name>javax.ws.rs.core.Application</servlet-name>
+        <servlet-name>jakarta.ws.rs.core.Application</servlet-name>
         <url-pattern>/*</url-pattern>
     </servlet-mapping>
 </web-app>
diff --git a/tests/integration/servlet-3-init-6/pom.xml b/tests/integration/servlet-3-init-6/pom.xml
index 043715a..c18feab 100644
--- a/tests/integration/servlet-3-init-6/pom.xml
+++ b/tests/integration/servlet-3-init-6/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-6</artifactId>
@@ -38,12 +38,6 @@
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
-            <scope>provided</scope>
-        </dependency>
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -63,7 +57,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/EmptyApplication.java b/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/EmptyApplication.java
index 760f1c5..92cc665 100644
--- a/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/EmptyApplication.java
+++ b/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/EmptyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_6;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/resource/ResourceOne.java b/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/resource/ResourceOne.java
index a4da8ea..4aa0a89 100644
--- a/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/resource/ResourceOne.java
+++ b/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/resource/ResourceOne.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_6.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/resource/ResourceTwo.java b/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/resource/ResourceTwo.java
index 8d4e270..0e11fc7 100644
--- a/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/resource/ResourceTwo.java
+++ b/tests/integration/servlet-3-init-6/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/resource/ResourceTwo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_6.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/integration/servlet-3-init-6/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/EmptyApplicationITCase.java b/tests/integration/servlet-3-init-6/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/EmptyApplicationITCase.java
index c4c0927..79afcc1 100644
--- a/tests/integration/servlet-3-init-6/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/EmptyApplicationITCase.java
+++ b/tests/integration/servlet-3-init-6/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_6/EmptyApplicationITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_6;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-3-init-7/pom.xml b/tests/integration/servlet-3-init-7/pom.xml
index 08c3043..20cb7e2 100644
--- a/tests/integration/servlet-3-init-7/pom.xml
+++ b/tests/integration/servlet-3-init-7/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-7</artifactId>
@@ -31,7 +31,7 @@
     <name>jersey-tests-integration-servlet-3-init-7</name>
 
     <description>Servlet integration test - servlet-3-init-7 - no Application subclass is present;
-        dynamically add a servlet and set its name to javax.ws.rs.core.Application;
+        dynamically add a servlet and set its name to jakarta.ws.rs.core.Application;
         servlet-mapping in web.xml</description>
 
     <dependencies>
@@ -39,12 +39,6 @@
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
-            <scope>provided</scope>
-        </dependency>
 
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
@@ -64,7 +58,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_7/HelloWorldResource.java b/tests/integration/servlet-3-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_7/HelloWorldResource.java
index 71e237a..ef5df21 100644
--- a/tests/integration/servlet-3-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_7/HelloWorldResource.java
+++ b/tests/integration/servlet-3-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_7/HelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_7;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-3-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_7/HelloWriter.java b/tests/integration/servlet-3-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_7/HelloWriter.java
index ed74936..6b759e5 100644
--- a/tests/integration/servlet-3-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_7/HelloWriter.java
+++ b/tests/integration/servlet-3-init-7/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_7/HelloWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-3-init-7/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-3-init-7/src/main/webapp/WEB-INF/web.xml
index c87f441..aea476e 100644
--- a/tests/integration/servlet-3-init-7/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-3-init-7/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
          version="3.0">
     <servlet>
-        <servlet-name>javax.ws.rs.core.Application</servlet-name>
+        <servlet-name>jakarta.ws.rs.core.Application</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
     </servlet>
     <servlet-mapping>
-        <servlet-name>javax.ws.rs.core.Application</servlet-name>
+        <servlet-name>jakarta.ws.rs.core.Application</servlet-name>
         <url-pattern>/*</url-pattern>
     </servlet-mapping>
 </web-app>
diff --git a/tests/integration/servlet-3-init-8/pom.xml b/tests/integration/servlet-3-init-8/pom.xml
index 2700181..3acf8bc 100644
--- a/tests/integration/servlet-3-init-8/pom.xml
+++ b/tests/integration/servlet-3-init-8/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-8</artifactId>
@@ -31,7 +31,7 @@
     <name>jersey-tests-integration-servlet-3-init-8</name>
 
     <description>Servlet integration test - servlet-3-init-8 - more jax-rs applications
-        (annotated with @javax.ws.rs.ApplicationPath and/or configured in web.xml).
+        (annotated with @jakarta.ws.rs.ApplicationPath and/or configured in web.xml).
     </description>
 
     <dependencies>
@@ -58,7 +58,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld1Resource.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld1Resource.java
index 1ab4152..ddd0064 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld1Resource.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld1Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_8;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld2Resource.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld2Resource.java
index 0387d7c..16e3a73 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld2Resource.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld2Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_8;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld3Resource.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld3Resource.java
index 2f0f9d1..c43e944 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld3Resource.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld3Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_8;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld4Resource.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld4Resource.java
index 43bda46..22fffe4 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld4Resource.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorld4Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_8;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App1.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App1.java
index c7aeadb..eca23ad 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App1.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * The application is fully configured in {@code web.xml} ({@code servlet} as well as {@code servlet-mapping}).
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App2.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App2.java
index d0e000c..9f90c94 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App2.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * The application is partially configured in {@code web.xml} (just {@code servlet} element).
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App3.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App3.java
index 6a465be..1e8a172 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App3.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App3.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * The application is not configured in {@code web.xml}.
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App4.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App4.java
index d201a62..f0d3428 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App4.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App4.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * The application is fully configured in {@code web.xml} ({@code servlet} as well as {@code servlet-mapping}).
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App5.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App5.java
index eb67579..5b303f4 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App5.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/Servlet3Init8App5.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_8;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * The application is fully configured in {@code web.xml} ({@code servlet} as well as {@code servlet-mapping}).
diff --git a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/UnreachableResource.java b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/UnreachableResource.java
index b7e504c..1f4934c 100644
--- a/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/UnreachableResource.java
+++ b/tests/integration/servlet-3-init-8/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/UnreachableResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_8;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-8/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorldResourceITCase.java b/tests/integration/servlet-3-init-8/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorldResourceITCase.java
index c28aa23..cb0e4b6 100644
--- a/tests/integration/servlet-3-init-8/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorldResourceITCase.java
+++ b/tests/integration/servlet-3-init-8/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorldResourceITCase.java
@@ -18,9 +18,9 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-3-init-8/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorldResourceUnreachableITCase.java b/tests/integration/servlet-3-init-8/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorldResourceUnreachableITCase.java
index 6a56d18..5638aad 100644
--- a/tests/integration/servlet-3-init-8/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorldResourceUnreachableITCase.java
+++ b/tests/integration/servlet-3-init-8/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_8/HelloWorldResourceUnreachableITCase.java
@@ -18,9 +18,9 @@
 
 import java.util.stream.Stream;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-3-init-9/pom.xml b/tests/integration/servlet-3-init-9/pom.xml
index a70b8be..c31c844 100644
--- a/tests/integration/servlet-3-init-9/pom.xml
+++ b/tests/integration/servlet-3-init-9/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-9</artifactId>
@@ -40,9 +40,9 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -64,7 +64,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-9/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_9/HelloWorldResource.java b/tests/integration/servlet-3-init-9/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_9/HelloWorldResource.java
index b196700..f6e481a 100644
--- a/tests/integration/servlet-3-init-9/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_9/HelloWorldResource.java
+++ b/tests/integration/servlet-3-init-9/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_9/HelloWorldResource.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_9;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 @Path("helloworld")
 public class HelloWorldResource {
diff --git a/tests/integration/servlet-3-init-9/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_9/HelloWriter.java b/tests/integration/servlet-3-init-9/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_9/HelloWriter.java
index 193ce928..cfb936b 100644
--- a/tests/integration/servlet-3-init-9/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_9/HelloWriter.java
+++ b/tests/integration/servlet-3-init-9/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_9/HelloWriter.java
@@ -21,11 +21,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 @Provider
 public class HelloWriter implements MessageBodyWriter<HelloWorldResource.Hello> {
diff --git a/tests/integration/servlet-3-init-provider/pom.xml b/tests/integration/servlet-3-init-provider/pom.xml
index 383c744..eed50db 100644
--- a/tests/integration/servlet-3-init-provider/pom.xml
+++ b/tests/integration/servlet-3-init-provider/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-init-provider</artifactId>
@@ -38,13 +38,9 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-servlet-portability</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -64,9 +60,15 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-failsafe-plugin</artifactId>
+                <!-- TODO remove after jakartification -->
+                <configuration>
+                    <excludes>
+                        <exclude>**/**/HelloWorld3ResourceITCase.java</exclude>
+                    </excludes>
+                </configuration>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/AbstractHelloWorldResource.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/AbstractHelloWorldResource.java
index f8ae09e..1d58361 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/AbstractHelloWorldResource.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/AbstractHelloWorldResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_provider;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application1.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application1.java
index d521752..d44df89 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application1.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 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;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application2.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application2.java
index dc3f33c..61644bf 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application2.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 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;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application3.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application3.java
index 46d2213..918a766 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application3.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application3.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 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;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application4.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application4.java
index 60823f9..510ab4e 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application4.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/Application4.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,8 +18,8 @@
 
 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;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld1Resource.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld1Resource.java
index 07fd20f..9ee47ec 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld1Resource.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld1Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_provider;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld2Resource.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld2Resource.java
index 0787cca..e862bcf 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld2Resource.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld2Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_provider;
 
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld3Resource.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld3Resource.java
index c4979cc..5fd00cb 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld3Resource.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld3Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_provider;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld4Resource.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld4Resource.java
index 0b662b2..325b727 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld4Resource.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld4Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_provider;
 
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld5Resource.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld5Resource.java
index 0c88162..e11b5f5 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld5Resource.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld5Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_provider;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
 import java.util.Enumeration;
 
 /**
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWriter.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWriter.java
index d40f44b..e45adf4 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWriter.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,11 +21,11 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/TestFilter.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/TestFilter.java
index 1ee7dbd..60972a1 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/TestFilter.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/TestFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,13 +18,13 @@
 
 import java.io.IOException;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
+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.HttpServletRequest;
 
 /**
  * This is just test purpose {@link Filter servlet filter} implementation to demonstrate how to register filter for any Jersey
diff --git a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/TestServletContainerProvider.java b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/TestServletContainerProvider.java
index 241c166..6cf2354 100644
--- a/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/TestServletContainerProvider.java
+++ b/tests/integration/servlet-3-init-provider/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/TestServletContainerProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,9 +19,9 @@
 import java.util.EnumSet;
 import java.util.Set;
 
-import javax.servlet.DispatcherType;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.servlet.internal.spi.RequestScopedInitializerProvider;
diff --git a/tests/integration/servlet-3-init-provider/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-3-init-provider/src/main/webapp/WEB-INF/web.xml
index aa1f9ea..6d7a64d 100644
--- a/tests/integration/servlet-3-init-provider/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-3-init-provider/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,22 +27,22 @@
         <servlet-name>application2</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_3_init_provider.Application2</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet>
         <servlet-name>application3</servlet-name>
-        <servlet-class>org.glassfish.jersey.servlet.portability.PortableServletContainer</servlet-class>
+        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>jersey2#javax.ws.rs.Application</param-name>
+            <param-name>jersey2#jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_3_init_provider.Application3</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet>
-        <servlet-name>javax.ws.rs.core.Application</servlet-name>
+        <servlet-name>jakarta.ws.rs.core.Application</servlet-name>
         <init-param>
             <param-name>jersey.config.server.provider.classnames</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_3_init_provider.HelloWorld5Resource,
@@ -65,7 +65,7 @@
         <url-pattern>/application3/*</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
-        <servlet-name>javax.ws.rs.core.Application</servlet-name>
+        <servlet-name>jakarta.ws.rs.core.Application</servlet-name>
         <url-pattern>/application5/*</url-pattern>
     </servlet-mapping>
 </web-app>
diff --git a/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/AbstractHelloWorldResourceTest.java b/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/AbstractHelloWorldResourceTest.java
index 69acc84..1d522b5 100644
--- a/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/AbstractHelloWorldResourceTest.java
+++ b/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/AbstractHelloWorldResourceTest.java
@@ -26,7 +26,7 @@
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Assertions;
 
-import javax.ws.rs.NotFoundException;
+import jakarta.ws.rs.NotFoundException;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld1ResourceITCase.java b/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld1ResourceITCase.java
index 6ac5fe2..7c1f150 100644
--- a/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld1ResourceITCase.java
+++ b/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld1ResourceITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_init_provider;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
@@ -44,7 +44,7 @@
         testRegisteredServletNames(target, "application2");
         testRegisteredServletNames(target, "application3");
         testRegisteredServletNames(target, "org.glassfish.jersey.tests.integration.servlet_3_init_provider.Application4");
-        testRegisteredServletNames(target, "javax.ws.rs.core.Application");
+        testRegisteredServletNames(target, "jakarta.ws.rs.core.Application");
     }
 
     private void testRegisteredServletNames(WebTarget target, String servletName) throws Exception {
diff --git a/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld3ResourceITCase.java b/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld3ResourceITCase.java
index 139bae4..6164e6a 100644
--- a/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld3ResourceITCase.java
+++ b/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld3ResourceITCase.java
@@ -19,7 +19,7 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.WebTarget;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld4ResourceITCase.java b/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld4ResourceITCase.java
index ae45408..c5da8e9 100644
--- a/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld4ResourceITCase.java
+++ b/tests/integration/servlet-3-init-provider/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_init_provider/HelloWorld4ResourceITCase.java
@@ -19,7 +19,7 @@
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/servlet-3-params/pom.xml b/tests/integration/servlet-3-params/pom.xml
index 4e878dd..d8983e0 100644
--- a/tests/integration/servlet-3-params/pom.xml
+++ b/tests/integration/servlet-3-params/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-params</artifactId>
@@ -38,9 +38,9 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet3.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -62,7 +62,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-              <groupId>org.mortbay.jetty</groupId>
+              <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-3-params/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_params/CustomContextListener.java b/tests/integration/servlet-3-params/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_params/CustomContextListener.java
index a726339..8bdc129 100644
--- a/tests/integration/servlet-3-params/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_params/CustomContextListener.java
+++ b/tests/integration/servlet-3-params/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_params/CustomContextListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_params;
 
-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;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-3-params/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_params/ParamResource.java b/tests/integration/servlet-3-params/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_params/ParamResource.java
index 40a2977..b65a633 100644
--- a/tests/integration/servlet-3-params/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_params/ParamResource.java
+++ b/tests/integration/servlet-3-params/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_params/ParamResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_params;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
 
 /**
  * @author Pavel Bucek
diff --git a/tests/integration/servlet-3-params/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_params/ParamsTestITCase.java b/tests/integration/servlet-3-params/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_params/ParamsTestITCase.java
index f1e897f..e86e4de 100644
--- a/tests/integration/servlet-3-params/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_params/ParamsTestITCase.java
+++ b/tests/integration/servlet-3-params/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_params/ParamsTestITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_params;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
diff --git a/tests/integration/servlet-3-sse-1/pom.xml b/tests/integration/servlet-3-sse-1/pom.xml
index d7ff7c3..acd00bf 100644
--- a/tests/integration/servlet-3-sse-1/pom.xml
+++ b/tests/integration/servlet-3-sse-1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-3-sse-1</artifactId>
diff --git a/tests/integration/servlet-3-sse-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreApp.java b/tests/integration/servlet-3-sse-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreApp.java
index 85befa9..9d1b613 100644
--- a/tests/integration/servlet-3-sse-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreApp.java
+++ b/tests/integration/servlet-3-sse-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_3_sse_1;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.media.sse.SseFeature;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/servlet-3-sse-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreResource.java b/tests/integration/servlet-3-sse-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreResource.java
index 6d8fe8f..7cf6d02 100644
--- a/tests/integration/servlet-3-sse-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreResource.java
+++ b/tests/integration/servlet-3-sse-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,17 +22,17 @@
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import java.util.logging.Logger;
 
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.ServiceUnavailableException;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.ServiceUnavailableException;
+import jakarta.ws.rs.core.MediaType;
 
 import org.glassfish.jersey.media.sse.EventOutput;
 import org.glassfish.jersey.media.sse.OutboundEvent;
@@ -79,7 +79,7 @@
      * <li><b>reconnect now</b> - enable client reconnecting.</li>
      * <li><b>reconnect &lt;seconds&gt;</b> - disable client reconnecting.
      * Reconnecting clients will receive a HTTP 503 response with
-     * {@value javax.ws.rs.core.HttpHeaders#RETRY_AFTER} set to the amount of
+     * {@value jakarta.ws.rs.core.HttpHeaders#RETRY_AFTER} set to the amount of
      * milliseconds specified.</li>
      * </ul>
      *
diff --git a/tests/integration/servlet-3-sse-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreResourceITCase.java b/tests/integration/servlet-3-sse-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreResourceITCase.java
index 6c01e0a..1d59cae 100644
--- a/tests/integration/servlet-3-sse-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreResourceITCase.java
+++ b/tests/integration/servlet-3-sse-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_3_sse_1/ItemStoreResourceITCase.java
@@ -29,13 +29,13 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.client.ClientProperties;
diff --git a/tests/integration/servlet-4.0-mvc-1/pom.xml b/tests/integration/servlet-4.0-mvc-1/pom.xml
index 185c717..d9111b1 100644
--- a/tests/integration/servlet-4.0-mvc-1/pom.xml
+++ b/tests/integration/servlet-4.0-mvc-1/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-4.0-mvc-1</artifactId>
@@ -49,7 +49,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
         </dependency>
 
         <dependency>
@@ -68,10 +68,26 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-failsafe-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>**/**/*.java</exclude>
+                    </excludes>
+                </configuration>
             </plugin>
             <plugin>
-              <groupId>org.eclipse.jetty</groupId>
-              <artifactId>jetty-maven-plugin</artifactId>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
+                <!--TODO jakartify this -->
+                <dependencies>
+                    <dependency>
+                        <groupId>jakarta.servlet</groupId>
+                        <artifactId>jakarta.servlet-api</artifactId>
+                        <version>${servlet5.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
             </plugin>
         </plugins>
     </build>
diff --git a/tests/integration/servlet-4.0-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/resource/ExampleResource.java b/tests/integration/servlet-4.0-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/resource/ExampleResource.java
index 2a8aaf8..2924048 100644
--- a/tests/integration/servlet-4.0-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/resource/ExampleResource.java
+++ b/tests/integration/servlet-4.0-mvc-1/src/main/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/resource/ExampleResource.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.servlet_40_mvc_1.resource;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.server.mvc.Viewable;
 
diff --git a/tests/integration/servlet-4.0-mvc-1/src/main/webapp/WEB-INF/web.xml b/tests/integration/servlet-4.0-mvc-1/src/main/webapp/WEB-INF/web.xml
index a0adce3..d1b1ddf 100644
--- a/tests/integration/servlet-4.0-mvc-1/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/servlet-4.0-mvc-1/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2020, 2021 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,7 +27,7 @@
         <filter-name>org.glassfish.jersey.tests.integration.servlet_40_mvc_1.MyApplication</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.servlet_40_mvc_1.MyApplication</param-value>
         </init-param>
     </filter>
diff --git a/tests/integration/servlet-4.0-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/GzipITCase.java b/tests/integration/servlet-4.0-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/GzipITCase.java
index 3509be6..0144064 100644
--- a/tests/integration/servlet-4.0-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/GzipITCase.java
+++ b/tests/integration/servlet-4.0-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/GzipITCase.java
@@ -19,7 +19,7 @@
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.message.GZipEncoder;
 import org.junit.jupiter.api.Test;
diff --git a/tests/integration/servlet-4.0-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/TestSupport.java b/tests/integration/servlet-4.0-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/TestSupport.java
index 9e00fe2..27271a1 100644
--- a/tests/integration/servlet-4.0-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/TestSupport.java
+++ b/tests/integration/servlet-4.0-mvc-1/src/test/java/org/glassfish/jersey/tests/integration/servlet_40_mvc_1/TestSupport.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_40_mvc_1;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 import org.glassfish.jersey.test.TestProperties;
diff --git a/tests/integration/servlet-request-wrapper-binding-2/pom.xml b/tests/integration/servlet-request-wrapper-binding-2/pom.xml
index 25e578c..5c0fe99 100644
--- a/tests/integration/servlet-request-wrapper-binding-2/pom.xml
+++ b/tests/integration/servlet-request-wrapper-binding-2/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-request-wrappper-binding-2</artifactId>
@@ -38,13 +38,9 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-servlet-portability</artifactId>
-        </dependency>
-        <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -72,7 +68,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/JaxRsApplicationAutodetected.java b/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/JaxRsApplicationAutodetected.java
index 368be71..34f28e4 100644
--- a/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/JaxRsApplicationAutodetected.java
+++ b/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/JaxRsApplicationAutodetected.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * Test application. This one gets registered automatically.
diff --git a/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseInjectedResource.java b/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseInjectedResource.java
index 67a2cef..011f7ce 100644
--- a/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseInjectedResource.java
+++ b/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,13 +20,13 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
 
 /**
  * Test resource that gets injected with the actual {@link HttpServletRequest} and
diff --git a/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseInjectedSingletonResource.java b/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseInjectedSingletonResource.java
index 7af3b31..61ca93e 100644
--- a/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseInjectedSingletonResource.java
+++ b/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseInjectedSingletonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.integration.servlet_request_wrapper_binding2;
 
-import javax.inject.Singleton;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
+import jakarta.inject.Singleton;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Context;
 
 /**
  * Test resource that gets injected with the actual {@link HttpServletRequest} and
diff --git a/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseWrapperProvider.java b/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseWrapperProvider.java
index 29d5741..86017ec 100644
--- a/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseWrapperProvider.java
+++ b/tests/integration/servlet-request-wrapper-binding-2/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding2/RequestResponseWrapperProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -31,27 +31,27 @@
 import java.util.Set;
 import java.util.function.Supplier;
 
-import javax.servlet.http.HttpUpgradeHandler;
-import javax.ws.rs.core.GenericType;
+import jakarta.servlet.http.HttpUpgradeHandler;
+import jakarta.ws.rs.core.GenericType;
 
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.servlet.AsyncContext;
-import javax.servlet.DispatcherType;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.Part;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.Part;
 
 import org.glassfish.jersey.inject.hk2.DelayedHk2InjectionManager;
 import org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager;
@@ -191,7 +191,7 @@
         };
 
         final ServiceLocator locator;
-        volatile javax.inject.Provider<Ref<HttpServletRequestWrapper>> request;
+        volatile jakarta.inject.Provider<Ref<HttpServletRequestWrapper>> request;
 
         public HttpServletRequestDescriptor(final ServiceLocator locator) {
             super(advertisedContracts,
@@ -254,10 +254,10 @@
     }
 
     private static class HttpServletResponseFactory implements Supplier<HttpServletResponse> {
-        private final javax.inject.Provider<Ref<HttpServletResponseWrapper>> response;
+        private final jakarta.inject.Provider<Ref<HttpServletResponseWrapper>> response;
 
         @Inject
-        public HttpServletResponseFactory(javax.inject.Provider<Ref<HttpServletResponseWrapper>> response) {
+        public HttpServletResponseFactory(jakarta.inject.Provider<Ref<HttpServletResponseWrapper>> response) {
             this.response = response;
         }
 
@@ -467,7 +467,7 @@
 
         @Inject
         public HttpServletRequestReferencingFactory(
-                final javax.inject.Provider<Ref<HttpServletRequestWrapper>> referenceFactory) {
+                final jakarta.inject.Provider<Ref<HttpServletRequestWrapper>> referenceFactory) {
 
             super(referenceFactory);
         }
@@ -478,7 +478,7 @@
 
         @Inject
         public HttpServletResponseReferencingFactory(
-                final javax.inject.Provider<Ref<HttpServletResponseWrapper>> referenceFactory) {
+                final jakarta.inject.Provider<Ref<HttpServletResponseWrapper>> referenceFactory) {
 
             super(referenceFactory);
         }
diff --git a/tests/integration/servlet-request-wrapper-binding-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper2/AutodetectedAppRequestResponseTypeITCase.java b/tests/integration/servlet-request-wrapper-binding-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper2/AutodetectedAppRequestResponseTypeITCase.java
index 88bf864..1698f08 100644
--- a/tests/integration/servlet-request-wrapper-binding-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper2/AutodetectedAppRequestResponseTypeITCase.java
+++ b/tests/integration/servlet-request-wrapper-binding-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper2/AutodetectedAppRequestResponseTypeITCase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_request_wrapper2;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.tests.integration.servlet_request_wrapper_binding2.JaxRsApplicationAutodetected;
diff --git a/tests/integration/servlet-request-wrapper-binding-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper2/WebXmlConfiguredAppRequestResponseTypeITCase.java b/tests/integration/servlet-request-wrapper-binding-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper2/WebXmlConfiguredAppRequestResponseTypeITCase.java
index 5fec570..9886d0c 100644
--- a/tests/integration/servlet-request-wrapper-binding-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper2/WebXmlConfiguredAppRequestResponseTypeITCase.java
+++ b/tests/integration/servlet-request-wrapper-binding-2/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper2/WebXmlConfiguredAppRequestResponseTypeITCase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_request_wrapper2;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.tests.integration.servlet_request_wrapper_binding2.RequestResponseInjectedResource;
diff --git a/tests/integration/servlet-request-wrapper-binding/pom.xml b/tests/integration/servlet-request-wrapper-binding/pom.xml
index eaddfe3..677d230 100644
--- a/tests/integration/servlet-request-wrapper-binding/pom.xml
+++ b/tests/integration/servlet-request-wrapper-binding/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-request-wrappper-binding</artifactId>
@@ -38,13 +38,9 @@
             <artifactId>jersey-container-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-servlet-portability</artifactId>
-        </dependency>
-        <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -72,7 +68,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/JaxRsApplicationAutodetected.java b/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/JaxRsApplicationAutodetected.java
index 70ad5d4..ad91aa9 100644
--- a/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/JaxRsApplicationAutodetected.java
+++ b/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/JaxRsApplicationAutodetected.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 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;
 
 /**
  * Test application. This one gets registered automatically.
diff --git a/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/RequestResponseInjectedResource.java b/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/RequestResponseInjectedResource.java
index a2081d7..0f4237a 100644
--- a/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/RequestResponseInjectedResource.java
+++ b/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/RequestResponseInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.servlet_request_wrapper_binding;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Context;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Context;
 
 /**
  * Test resource that gets injected with the actual {@link HttpServletRequest} and
diff --git a/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/RequestResponseWrapperProvider.java b/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/RequestResponseWrapperProvider.java
index 28a18bf..813475e 100644
--- a/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/RequestResponseWrapperProvider.java
+++ b/tests/integration/servlet-request-wrapper-binding/src/main/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper_binding/RequestResponseWrapperProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.servlet_request_wrapper_binding;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
 
 import org.glassfish.jersey.internal.util.collection.Ref;
 import org.glassfish.jersey.server.spi.RequestScopedInitializer;
diff --git a/tests/integration/servlet-request-wrapper-binding/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper/AutodetectedAppRequestResponseTypeITCase.java b/tests/integration/servlet-request-wrapper-binding/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper/AutodetectedAppRequestResponseTypeITCase.java
index d9db848..2688730 100644
--- a/tests/integration/servlet-request-wrapper-binding/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper/AutodetectedAppRequestResponseTypeITCase.java
+++ b/tests/integration/servlet-request-wrapper-binding/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper/AutodetectedAppRequestResponseTypeITCase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_request_wrapper;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.tests.integration.servlet_request_wrapper_binding.JaxRsApplicationAutodetected;
diff --git a/tests/integration/servlet-request-wrapper-binding/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper/WebXmlConfiguredAppRequestResponseTypeITCase.java b/tests/integration/servlet-request-wrapper-binding/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper/WebXmlConfiguredAppRequestResponseTypeITCase.java
index 5e32c0e..aceac3a 100644
--- a/tests/integration/servlet-request-wrapper-binding/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper/WebXmlConfiguredAppRequestResponseTypeITCase.java
+++ b/tests/integration/servlet-request-wrapper-binding/src/test/java/org/glassfish/jersey/tests/integration/servlet_request_wrapper/WebXmlConfiguredAppRequestResponseTypeITCase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlet_request_wrapper;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.tests.integration.servlet_request_wrapper_binding.RequestResponseInjectedResource;
diff --git a/tests/integration/servlet-tests/pom.xml b/tests/integration/servlet-tests/pom.xml
index 0027dd2..f86f48a 100644
--- a/tests/integration/servlet-tests/pom.xml
+++ b/tests/integration/servlet-tests/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>servlet-tests</artifactId>
@@ -34,9 +34,10 @@
 
     <dependencies>
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet2.version}</version>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/CacheControlOn404Resource.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/CacheControlOn404Resource.java
index 4fca464..7acafa5 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/CacheControlOn404Resource.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/CacheControlOn404Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Response;
 
 /**
  * @author Martin Matula
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/CustomMediaTypeAnd404Resource.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/CustomMediaTypeAnd404Resource.java
index 08d2952..9069f85 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/CustomMediaTypeAnd404Resource.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/CustomMediaTypeAnd404Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
 
 /**
  *
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterContextPathResource.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterContextPathResource.java
index 11b5c2a..be8e29e 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterContextPathResource.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterContextPathResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Martin Matula
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterForwardOn404Resource.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterForwardOn404Resource.java
index 316b007..13f389a 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterForwardOn404Resource.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterForwardOn404Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Martin Matula
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterNoContextPathResource.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterNoContextPathResource.java
index 739a2d0..154ac9f 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterNoContextPathResource.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterNoContextPathResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Martin Matula
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterStaticContentResource.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterStaticContentResource.java
index 256ab41..170e496 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterStaticContentResource.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FilterStaticContentResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Martin Matula
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionFilter.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionFilter.java
index bda0d3a..6aa8c8c 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionFilter.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
 
 /**
  * @author Martin Matula
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionResource.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionResource.java
index f0910fd..3839e42 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionResource.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,14 +19,14 @@
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Encoded;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Encoded;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * @author Martin Matula
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/SecuredResource.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/SecuredResource.java
index 6137675..2b983ba 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/SecuredResource.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/SecuredResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
-import javax.annotation.security.RolesAllowed;
+import jakarta.annotation.security.RolesAllowed;
 
 /**
  * @author Petr Bouda
diff --git a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/SuppressContentLengthFilter.java b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/SuppressContentLengthFilter.java
index 11f1ff2..53ad4bd 100644
--- a/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/SuppressContentLengthFilter.java
+++ b/tests/integration/servlet-tests/src/main/java/org/glassfish/jersey/tests/integration/servlettests/SuppressContentLengthFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.Filter;
-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 javax.servlet.http.HttpServletResponseWrapper;
+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;
+import jakarta.servlet.http.HttpServletResponseWrapper;
 
 /**
  * JERSEY-2936 reproducer filter.
diff --git a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/CacheControlOn404ITCase.java b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/CacheControlOn404ITCase.java
index 710dd5b..44b42aa 100644
--- a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/CacheControlOn404ITCase.java
+++ b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/CacheControlOn404ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/Custom404MediaTypeITCase.java b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/Custom404MediaTypeITCase.java
index c0a66d5..0e61272 100644
--- a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/Custom404MediaTypeITCase.java
+++ b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/Custom404MediaTypeITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/DuplicateHeaderITCase.java b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/DuplicateHeaderITCase.java
index 715eda7..2d26ae8 100644
--- a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/DuplicateHeaderITCase.java
+++ b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/DuplicateHeaderITCase.java
@@ -20,9 +20,9 @@
 import java.net.HttpURLConnection;
 import java.net.URL;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/FilterContextPathITCase.java b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/FilterContextPathITCase.java
index e9072a5..cd4d5ff 100644
--- a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/FilterContextPathITCase.java
+++ b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/FilterContextPathITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionITCase.java b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionITCase.java
index 46f461c..c11db43 100644
--- a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionITCase.java
+++ b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/FormConsumptionITCase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Form;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Form;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/ForwardOn404ITCase.java b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/ForwardOn404ITCase.java
index fa01a8e..3cddbb3 100644
--- a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/ForwardOn404ITCase.java
+++ b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/ForwardOn404ITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/RolesAllowedFilterITCase.java b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/RolesAllowedFilterITCase.java
index ee9bee9..c204c86 100644
--- a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/RolesAllowedFilterITCase.java
+++ b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/RolesAllowedFilterITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/StaticContentRegexITCase.java b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/StaticContentRegexITCase.java
index 346dd34..f2b2931 100644
--- a/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/StaticContentRegexITCase.java
+++ b/tests/integration/servlet-tests/src/test/java/org/glassfish/jersey/tests/integration/servlettests/StaticContentRegexITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.servlettests;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/integration/sonar-test/pom.xml b/tests/integration/sonar-test/pom.xml
index a5da5b6..fc6a804 100644
--- a/tests/integration/sonar-test/pom.xml
+++ b/tests/integration/sonar-test/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>sonar-test</artifactId>
@@ -58,7 +58,7 @@
                 <artifactId>maven-failsafe-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
             </plugin>
         </plugins>
diff --git a/tests/integration/sonar-test/src/main/java/org/glassfish/jersey/tests/integration/sonar/TestApplication.java b/tests/integration/sonar-test/src/main/java/org/glassfish/jersey/tests/integration/sonar/TestApplication.java
index c600c29..91a6dde 100644
--- a/tests/integration/sonar-test/src/main/java/org/glassfish/jersey/tests/integration/sonar/TestApplication.java
+++ b/tests/integration/sonar-test/src/main/java/org/glassfish/jersey/tests/integration/sonar/TestApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.sonar;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/sonar-test/src/main/java/org/glassfish/jersey/tests/integration/sonar/TestResource.java b/tests/integration/sonar-test/src/main/java/org/glassfish/jersey/tests/integration/sonar/TestResource.java
index 4f4a3be..9eb57a0 100644
--- a/tests/integration/sonar-test/src/main/java/org/glassfish/jersey/tests/integration/sonar/TestResource.java
+++ b/tests/integration/sonar-test/src/main/java/org/glassfish/jersey/tests/integration/sonar/TestResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.integration.sonar;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 import org.glassfish.jersey.internal.sonar.SonarJerseyCommon;
 import org.glassfish.jersey.server.internal.sonar.SonarJerseyServer;
diff --git a/tests/integration/sonar-test/src/main/webapp/WEB-INF/web.xml b/tests/integration/sonar-test/src/main/webapp/WEB-INF/web.xml
index ab6014a..b7efd97 100644
--- a/tests/integration/sonar-test/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/sonar-test/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,7 +23,7 @@
         <servlet-name>jersey</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.integration.sonar.TestApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/integration/sonar-test/src/test/java/org/glassfish/jersey/tests/integration/sonar/JerseySonarITCase.java b/tests/integration/sonar-test/src/test/java/org/glassfish/jersey/tests/integration/sonar/JerseySonarITCase.java
index 418804f..a089b99 100644
--- a/tests/integration/sonar-test/src/test/java/org/glassfish/jersey/tests/integration/sonar/JerseySonarITCase.java
+++ b/tests/integration/sonar-test/src/test/java/org/glassfish/jersey/tests/integration/sonar/JerseySonarITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.sonar;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.internal.sonar.SonarJerseyCommon;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/spring4/pom.xml b/tests/integration/spring4/pom.xml
deleted file mode 100644
index 1417903..0000000
--- a/tests/integration/spring4/pom.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.glassfish.jersey.tests.integration</groupId>
-        <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>spring4</artifactId>
-
-    <packaging>war</packaging>
-    <name>jersey-tests-integration-spring4</name>
-
-    <description>
-        Jersey tests for Spring 4 integration
-    </description>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>jakarta.ws.rs</groupId>
-            <artifactId>jakarta.ws.rs-api</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-spring4</artifactId>
-            <version>${project.version}</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework</groupId>
-            <artifactId>jersey-test-framework-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-servlet</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
-            <artifactId>jersey-test-framework-provider-external</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-failsafe-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.eclipse.jetty</groupId>
-                <artifactId>jetty-maven-plugin</artifactId>
-                <configuration>
-                    <webApp>
-                        <contextPath>/</contextPath>
-                        <webInfIncludeJarPattern>.*$</webInfIncludeJarPattern>
-                    </webApp>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>delayed-strategy-skip-test</id>
-            <activation>
-                <property>
-                    <name>org.glassfish.jersey.injection.manager.strategy</name>
-                    <value>delayed</value>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <configuration>
-                            <skipTests>true</skipTests>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>ignore.on.jdk16</id>
-            <!-- Spring 4 does not support JDK 16 at the moment, and it is superseded by Spring 5.2-5.3 -->
-            <activation>
-                <jdk>[16,)</jdk>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <configuration>
-                            <skipTests>true</skipTests>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java
deleted file mode 100644
index 8b99e62..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.beans.factory.annotation.Autowired;
-
-/**
- * AccountService implementation.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class AccountServiceImpl implements AccountService {
-
-    private Map<String, BigDecimal> accounts = new HashMap<>();
-    private BigDecimal defaultAccountBalance;
-
-    // JERSEY-2506 FIX VERIFICATION
-    @Autowired
-    private HttpServletRequest httpServletRequest;
-
-    @Override
-    public void setAccountBalance(String accountId, BigDecimal balance) {
-        accounts.put(accountId, balance);
-    }
-
-    @Override
-    public BigDecimal getAccountBalance(String accountId) {
-        BigDecimal balance = accounts.get(accountId);
-        if (balance == null) {
-            return defaultAccountBalance;
-        }
-        return balance;
-    }
-
-    public void setDefaultAccountBalance(String defaultAccountBalance) {
-        this.defaultAccountBalance = new BigDecimal(defaultAccountBalance);
-    }
-
-    public String verifyServletRequestInjection() {
-        return "PASSED: " + httpServletRequest.getServerName();
-    }
-
-}
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java
deleted file mode 100644
index 7714c22..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.springframework.stereotype.Controller;
-
-/**
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-@Controller
-@Path("/spring/controller")
-public class ControllerResource {
-
-    private String message;
-
-    @PUT
-    @Path("message")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public String setMessage(final String message) {
-        this.message = message;
-        return message;
-    }
-
-    @GET
-    @Path("message")
-    public String getMessage() {
-        return message;
-    }
-}
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java
deleted file mode 100644
index da9f170..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.stereotype.Component;
-
-/**
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Component
-public @interface Endpoint {
-
-}
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java
deleted file mode 100644
index 9af0858..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-/**
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-@Endpoint
-@Path("/spring/endpoint")
-public class EndpointResource {
-
-    private String message;
-
-    @PUT
-    @Path("message")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public String setMessage(final String message) {
-        this.message = message;
-        return message;
-    }
-
-    @GET
-    @Path("message")
-    public String getMessage() {
-        return message;
-    }
-}
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java
deleted file mode 100644
index ff689c6..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-/**
- * Type to be handled as HK2 per-lookup bean.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class HK2ServicePerLookup {
-}
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java
deleted file mode 100644
index da45aea..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-/**
- * Type to be handled as HK2 request scoped bean.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class HK2ServiceRequestScoped {
-}
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java
deleted file mode 100644
index a7b8fa8..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-/**
- * Type to be handled as HK2 singleton.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class HK2ServiceSingleton {
-}
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java
deleted file mode 100644
index 568f30f..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.core.Application;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.glassfish.jersey.internal.inject.AbstractBinder;
-import org.glassfish.jersey.internal.inject.Binder;
-import org.glassfish.jersey.internal.inject.InjectionManager;
-import org.glassfish.jersey.internal.inject.PerLookup;
-import org.glassfish.jersey.process.internal.RequestScoped;
-
-/**
- * JAX-RS application class for configuring injectable services in HK2 registry for testing purposes.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class MyApplication extends Application {
-
-    @Inject
-    public MyApplication(final InjectionManager injectionManager) {
-        Binder binder = new AbstractBinder() {
-            @Override
-            protected void configure() {
-                bindAsContract(HK2ServiceSingleton.class).in(Singleton.class);
-                bindAsContract(HK2ServiceRequestScoped.class).in(RequestScoped.class);
-                bindAsContract(HK2ServicePerLookup.class).in(PerLookup.class);
-            }
-        };
-
-        injectionManager.register(binder);
-    }
-}
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java b/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java
deleted file mode 100644
index 3516dcf..0000000
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.springframework.stereotype.Service;
-
-/**
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-@Service
-@Path("/spring/service")
-public class ServiceResource {
-
-    private String message;
-
-    @PUT
-    @Path("message")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public String setMessage(final String message) {
-        this.message = message;
-        return message;
-    }
-
-    @GET
-    @Path("message")
-    public String getMessage() {
-        return message;
-    }
-}
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java b/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java
deleted file mode 100644
index e4b4143..0000000
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.inject.Singleton;
-
-import org.glassfish.jersey.internal.inject.PerLookup;
-import org.glassfish.jersey.process.internal.RequestScoped;
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.glassfish.hk2.utilities.BuilderHelper;
-import org.glassfish.hk2.utilities.binding.AbstractBinder;
-
-class TestUtil {
-
-    public static ResourceConfig registerHK2Services(final ResourceConfig rc) {
-        rc
-                .register(new AbstractBinder() {
-                    @Override
-                    protected void configure() {
-                        bind(BuilderHelper.link(HK2ServiceSingleton.class).in(Singleton.class).build());
-                    }
-                })
-                .register(new AbstractBinder() {
-                    @Override
-                    protected void configure() {
-                        bind(BuilderHelper.link(HK2ServiceRequestScoped.class).in(RequestScoped.class).build());
-                    }
-                })
-                .register(new AbstractBinder() {
-                    @Override
-                    protected void configure() {
-                        bind(BuilderHelper.link(HK2ServicePerLookup.class).in(PerLookup.class).build());
-                    }
-                });
-        return rc;
-    }
-}
diff --git a/tests/integration/spring5/README.txt b/tests/integration/spring5/README.txt
deleted file mode 100644
index 9a105f7..0000000
--- a/tests/integration/spring5/README.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-
-tests
-=====
-
-Tests are located in jersey-spring-test module.
-The module contains a test webapp and test code.
-The tests can be run in Jersey test container or an external container.
-
-- Running tests in Jersey test container
-    mvn clean test
-
-- Running tests in an external container
-  build the test app
-  deploy to an external container
-  configure container connection info in jersey-spring-test/pom.xml, if needed
-  run tests in integration test mode:
-    mvn -Pit verify
-
-- Running tests in embedded Jetty instance
-  build the test app
-  deploy to Jetty:
-    mvn -Pjetty jetty:run
-  run tests in integration test mode in another console session:
-    mvn -Pit verify
-
-test class naming conventions
-- *ITTest.java: run in unit and IT test mode
-- *Test.java: run as unit tests
-- *IT.java: run as IT tests
-
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java b/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java
deleted file mode 100644
index d804575..0000000
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import java.math.BigDecimal;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-
-/**
- * Jersey managed JAX-RS resource for testing jersey-spring.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-@Path("/jersey/account")
-public class AccountJerseyResource {
-
-    @Inject
-    @Named("AccountService-singleton")
-    private AccountService accountServiceInject;
-
-    @Autowired
-    @Qualifier("AccountService-singleton")
-    private AccountService accountServiceAutowired;
-
-    @Inject
-    @Named("AccountService-request-1")
-    private AccountService accountServiceRequest1;
-
-    @Autowired
-    @Qualifier("AccountService-request-1")
-    private AccountService accountServiceRequest2;
-
-    @Autowired
-    @Qualifier("AccountService-prototype-1")
-    private AccountService accountServicePrototype1;
-
-    @Autowired
-    @Qualifier("AccountService-prototype-1")
-    private AccountService accountServicePrototype2;
-
-    @Autowired
-    private HttpServletRequest httpServletRequest;
-
-    @Inject
-    private HK2ServiceSingleton hk2Singleton;
-
-    @Inject
-    private HK2ServiceRequestScoped hk2RequestScoped;
-
-    @Inject
-    private HK2ServicePerLookup hk2PerLookup;
-
-    private String message = "n/a";
-
-    // resource methods for testing resource class scope
-    @GET
-    @Path("message")
-    public String getMessage() {
-        return message;
-    }
-
-    @PUT
-    @Path("message")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public String setMessage(final String message) {
-        this.message = message;
-        return message;
-    }
-
-    // JERSEY-2506 FIX VERIFICATION
-    @GET
-    @Path("server")
-    public String verifyServletRequestInjection() {
-        return "PASSED: " + httpServletRequest.getServerName();
-    }
-
-    @GET
-    @Path("singleton/server")
-    public String verifyServletRequestInjectionIntoSingleton() {
-        return accountServiceInject.verifyServletRequestInjection();
-    }
-
-    @GET
-    @Path("singleton/autowired/server")
-    public String verifyServletRequestInjectionIntoAutowiredSingleton() {
-        return accountServiceAutowired.verifyServletRequestInjection();
-    }
-
-    @GET
-    @Path("request/server")
-    public String verifyServletRequestInjectionIntoRequestScopedBean() {
-        return accountServiceRequest1.verifyServletRequestInjection();
-    }
-
-    @GET
-    @Path("prototype/server")
-    public String verifyServletRequestInjectionIntoPrototypeScopedBean() {
-        return accountServicePrototype1.verifyServletRequestInjection();
-    }
-
-    // resource methods for testing singleton scoped beans
-    @GET
-    @Path("singleton/inject/{accountId}")
-    public BigDecimal getAccountBalanceSingletonInject(@PathParam("accountId") final String accountId) {
-        return accountServiceInject.getAccountBalance(accountId);
-    }
-
-    @GET
-    @Path("singleton/autowired/{accountId}")
-    public BigDecimal getAccountBalanceSingletonAutowired(@PathParam("accountId") final String accountId) {
-        return accountServiceAutowired.getAccountBalance(accountId);
-    }
-
-    @PUT
-    @Path("singleton/{accountId}")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public void setAccountBalanceSingleton(@PathParam("accountId") final String accountId, final String balance) {
-        accountServiceInject.setAccountBalance(accountId, new BigDecimal(balance));
-    }
-
-    // resource methods for testing request scoped beans
-    @PUT
-    @Path("request/{accountId}")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public BigDecimal setAccountBalanceRequest(@PathParam("accountId") final String accountId, final String balance) {
-        accountServiceRequest1.setAccountBalance(accountId, new BigDecimal(balance));
-        return accountServiceRequest2.getAccountBalance(accountId);
-    }
-
-    // resource methods for testing prototype scoped beans
-    @PUT
-    @Path("prototype/{accountId}")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public BigDecimal setAccountBalancePrototype(@PathParam("accountId") final String accountId, final String balance) {
-        accountServicePrototype1.setAccountBalance(accountId, new BigDecimal(balance));
-        return accountServicePrototype2.getAccountBalance(accountId);
-    }
-}
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java b/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java
deleted file mode 100644
index 70d90b0..0000000
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import java.math.BigDecimal;
-
-/**
- * Simple account service to testify injection into different scopes.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public interface AccountService {
-
-    void setAccountBalance(String accountId, BigDecimal balance);
-
-    BigDecimal getAccountBalance(String accountId);
-
-    String verifyServletRequestInjection();
-}
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java b/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java
deleted file mode 100644
index ba2db2d..0000000
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import java.math.BigDecimal;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
-
-/**
- * Spring managed JAX-RS resource for testing jersey-spring.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-@Path("/spring/account")
-@Component
-public class AccountSpringResource {
-
-    @Inject
-    @Named("AccountService-singleton")
-    private AccountService accountServiceInject;
-
-    @Autowired
-    @Qualifier("AccountService-singleton")
-    private AccountService accountServiceAutowired;
-
-    @Inject
-    @Named("AccountService-request-1")
-    private AccountService accountServiceRequest1;
-
-    @Autowired
-    @Qualifier("AccountService-request-1")
-    private AccountService accountServiceRequest2;
-
-    @Autowired
-    @Qualifier("AccountService-prototype-1")
-    private AccountService accountServicePrototype1;
-
-    @Autowired
-    @Qualifier("AccountService-prototype-1")
-    private AccountService accountServicePrototype2;
-
-    @Autowired
-    private HttpServletRequest httpServletRequest;
-
-    @Inject
-    private HK2ServiceSingleton hk2Singleton;
-
-    @Inject
-    private HK2ServiceRequestScoped hk2RequestScoped;
-
-    @Inject
-    private HK2ServicePerLookup hk2PerLookup;
-
-    private String message = "n/a";
-
-    // resource methods for testing resource class scope
-    @GET
-    @Path("message")
-    public String getMessage() {
-        return message;
-    }
-
-    @PUT
-    @Path("message")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public String setMessage(String message) {
-        this.message = message;
-        return message;
-    }
-
-    // JERSEY-2506 FIX VERIFICATION
-    @GET
-    @Path("server")
-    public String verifyServletRequestInjection() {
-        return "PASSED: " + httpServletRequest.getServerName();
-    }
-
-    @GET
-    @Path("singleton/server")
-    public String verifyServletRequestInjectionIntoSingleton() {
-        return accountServiceInject.verifyServletRequestInjection();
-    }
-
-    @GET
-    @Path("singleton/autowired/server")
-    public String verifyServletRequestInjectionIntoAutowiredSingleton() {
-        return accountServiceAutowired.verifyServletRequestInjection();
-    }
-
-    @GET
-    @Path("request/server")
-    public String verifyServletRequestInjectionIntoRequestScopedBean() {
-        return accountServiceRequest1.verifyServletRequestInjection();
-    }
-
-    @GET
-    @Path("prototype/server")
-    public String verifyServletRequestInjectionIntoPrototypeScopedBean() {
-        return accountServicePrototype1.verifyServletRequestInjection();
-    }
-
-    // resource methods for testing singleton scoped beans
-    @GET
-    @Path("singleton/inject/{accountId}")
-    public BigDecimal getAccountBalanceSingletonInject(@PathParam("accountId") String accountId) {
-        return accountServiceInject.getAccountBalance(accountId);
-    }
-
-    @GET
-    @Path("singleton/autowired/{accountId}")
-    public BigDecimal getAccountBalanceSingletonAutowired(@PathParam("accountId") String accountId) {
-        return accountServiceAutowired.getAccountBalance(accountId);
-    }
-
-    @PUT
-    @Path("singleton/{accountId}")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public void setAccountBalanceSingleton(@PathParam("accountId") String accountId, String balance) {
-        accountServiceInject.setAccountBalance(accountId, new BigDecimal(balance));
-    }
-
-    // resource methods for testing request scoped beans
-    @PUT
-    @Path("request/{accountId}")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public BigDecimal setAccountBalanceRequest(@PathParam("accountId") String accountId, String balance) {
-        accountServiceRequest1.setAccountBalance(accountId, new BigDecimal(balance));
-        return accountServiceRequest2.getAccountBalance(accountId);
-    }
-
-    // resource methods for testing prototype scoped beans
-    @PUT
-    @Path("prototype/{accountId}")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public BigDecimal setAccountBalancePrototype(@PathParam("accountId") String accountId, String balance) {
-        accountServicePrototype1.setAccountBalance(accountId, new BigDecimal(balance));
-        return accountServicePrototype2.getAccountBalance(accountId);
-    }
-
-}
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java b/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java
deleted file mode 100644
index 97b0bf0..0000000
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.springframework.stereotype.Repository;
-
-/**
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-@Repository
-@Path("/spring/repository")
-public class RepositoryResource {
-
-    private String message;
-
-    @PUT
-    @Path("message")
-    @Consumes(MediaType.TEXT_PLAIN)
-    public String setMessage(final String message) {
-        this.message = message;
-        return message;
-    }
-
-    @GET
-    @Path("message")
-    public String getMessage() {
-        return message;
-    }
-}
diff --git a/tests/integration/spring5/src/main/resources/applicationContext.xml b/tests/integration/spring5/src/main/resources/applicationContext.xml
deleted file mode 100644
index c7e421e..0000000
--- a/tests/integration/spring5/src/main/resources/applicationContext.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop
-        http://www.springframework.org/schema/aop/spring-aop.xsd">
-
-    <!--<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>-->
-    <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor">
-        <property name="autowiredAnnotationTypes">
-            <set>
-                <value>org.springframework.beans.factory.annotation.Autowired</value>
-                <value>org.springframework.beans.factory.annotation.Value</value>
-            </set>
-        </property>
-    </bean>
-
-    <!-- Needed since Spring Context 4, was default in Spring Context 3 -->
-    <bean id="customAutowireConfigurer" class="org.springframework.beans.factory.annotation.CustomAutowireConfigurer">
-        <property name="customQualifierTypes">
-            <set>
-                <value>org.springframework.beans.factory.annotation.Qualifier</value>
-            </set>
-        </property>
-    </bean>
-
-    <bean name="AccountService-singleton" class="org.glassfish.jersey.server.spring.test.AccountServiceImpl" />
-
-    <bean name="AccountService-request-1" class="org.glassfish.jersey.server.spring.test.AccountServiceImpl" scope="request">
-        <aop:scoped-proxy/>
-    </bean>
-
-    <bean name="AccountService-request-2" class="org.glassfish.jersey.server.spring.test.AccountServiceImpl" scope="request"/>
-
-    <bean name="AccountService-prototype-1" class="org.glassfish.jersey.server.spring.test.AccountServiceImpl" scope="prototype">
-        <property name="defaultAccountBalance" value="987.65"/>
-    </bean>
-
-    <bean name="AccountService-prototype-2" class="org.glassfish.jersey.server.spring.test.AccountServiceImpl" scope="prototype"/>
-
-    <!-- Spring managed JAX-RS resources -->
-    <bean class="org.glassfish.jersey.server.spring.test.AccountSpringResource"/>
-
-    <bean class="org.glassfish.jersey.server.spring.test.ServiceResource"/>
-
-    <bean class="org.glassfish.jersey.server.spring.test.ControllerResource"/>
-
-    <bean class="org.glassfish.jersey.server.spring.test.RepositoryResource"/>
-
-    <bean class="org.glassfish.jersey.server.spring.test.EndpointResource"/>
-
-</beans>
diff --git a/tests/integration/spring5/src/main/webapp/WEB-INF/web.xml b/tests/integration/spring5/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 4004dd3..0000000
--- a/tests/integration/spring5/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
-
-  <module-name>jersey-spring-test</module-name>
-
-    <!-- use this to explicitly configure Spring -->
-    <!--
-    <listener>
-        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
-    </listener>
-    <listener>
-        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
-    </listener>
-    <context-param>
-        <param-name>contextConfigLocation</param-name>
-        <param-value>classpath:/applicationContext.xml</param-value>
-    </context-param>
-    -->
-
-    <servlet>
-        <servlet-name>org.glassfish.jersey.server.spring.test.MyApplication</servlet-name>
-    </servlet>
-    <servlet-mapping>
-        <servlet-name>org.glassfish.jersey.server.spring.test.MyApplication</servlet-name>
-        <url-pattern>/*</url-pattern>
-    </servlet-mapping>
-
-
-</web-app>
-
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java
deleted file mode 100644
index 939928c..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.core.Application;
-
-import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
-import org.glassfish.jersey.test.spi.TestContainerException;
-import org.glassfish.jersey.test.spi.TestContainerFactory;
-import org.glassfish.jersey.test.JerseyTest;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class AccountResourceITCase extends JerseyTest {
-
-    @Override
-    protected Application configure() {
-        return new Application();
-    }
-
-    @Override
-    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
-        return new ExternalTestContainerFactory();
-    }
-
-    @Test
-    public void testGet() throws Exception {
-        final String r = target().path("/jersey/account/message").request().get(String.class);
-        assertEquals(r, "n/a");
-    }
-}
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java
deleted file mode 100644
index 81822d2..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import java.math.BigDecimal;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-
-import org.junit.jupiter.api.Test;
-import static org.hamcrest.CoreMatchers.startsWith;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-/**
- * Base class for JAX-RS resource tests.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public abstract class AccountResourceTestBase extends ResourceTestBase {
-
-    // test singleton scoped Spring bean injection using @Inject + @Autowired
-    @Test
-    public void testSingletonScopedSpringService() {
-        final BigDecimal newBalance = new BigDecimal(Math.random());
-        final WebTarget t = target(getResourceFullPath());
-
-        t.path("/singleton/xyz123").request().put(Entity.entity(newBalance.toString(), MediaType.TEXT_PLAIN_TYPE));
-        final BigDecimal balance = t.path("/singleton/autowired/xyz123").request().get(BigDecimal.class);
-        assertEquals(newBalance, balance);
-    }
-
-    @Test
-    public void testRequestScopedSpringService() {
-        final BigDecimal newBalance = new BigDecimal(Math.random());
-        final WebTarget t = target(getResourceFullPath());
-        final BigDecimal balance = t.path("request/abc456").request().put(Entity.text(newBalance), BigDecimal.class);
-        assertEquals(newBalance, balance);
-    }
-
-    @Test
-    public void testPrototypeScopedSpringService() {
-        final BigDecimal newBalance = new BigDecimal(Math.random());
-        final WebTarget t = target(getResourceFullPath());
-        final BigDecimal balance = t.path("prototype/abc456").request().put(Entity.text(newBalance), BigDecimal.class);
-        assertEquals(new BigDecimal("987.65"), balance);
-    }
-
-    @Test
-    public void testServletInjection() {
-        final WebTarget t = target(getResourceFullPath());
-
-        String server = t.path("server").request().get(String.class);
-        assertThat(server, startsWith("PASSED: "));
-
-        server = t.path("singleton/server").request().get(String.class);
-        assertThat(server, startsWith("PASSED: "));
-
-        server = t.path("singleton/autowired/server").request().get(String.class);
-        assertThat(server, startsWith("PASSED: "));
-
-        server = t.path("request/server").request().get(String.class);
-        assertThat(server, startsWith("PASSED: "));
-
-        server = t.path("prototype/server").request().get(String.class);
-        assertThat(server, startsWith("PASSED: "));
-    }
-}
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java
deleted file mode 100644
index 07cecfb..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Tests for Jersey managed JAX-RS resources.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class JerseyManagedITCase extends AccountResourceTestBase {
-
-    @Override
-    protected ResourceConfig configure(final ResourceConfig rc) {
-        return rc.register(AccountJerseyResource.class);
-    }
-
-    @Override
-    protected String getResourcePath() {
-        return "/jersey/account";
-    }
-
-    @Test
-    public void testResourceScope() {
-        final WebTarget t = target(getResourceFullPath());
-        final String message = "hello, world";
-        final String echo = t.path("message").request().put(Entity.text(message), String.class);
-        assertEquals(message, echo);
-        final String msg = t.path("message").request().get(String.class);
-        assertEquals("n/a", msg);
-    }
-
-}
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java
deleted file mode 100644
index 4836a7c..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.core.Application;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.spring.SpringLifecycleListener;
-import org.glassfish.jersey.server.spring.scope.RequestContextFilter;
-import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.TestProperties;
-import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
-import org.glassfish.jersey.test.spi.TestContainerException;
-import org.glassfish.jersey.test.spi.TestContainerFactory;
-
-/**
- * Base class for JAX-RS resource tests.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public abstract class ResourceTestBase extends JerseyTest {
-
-    private static final String TEST_WEBAPP_CONTEXT_PATH = "jersey.spring.test.contextPath";
-    private static final String TEST_CONTAINER_FACTORY_EXTERNAL = "org.glassfish.jersey.test.external"
-            + ".ExternalTestContainerFactory";
-
-    @Override
-    protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
-        return new ExternalTestContainerFactory();
-    }
-
-    @Override
-    protected Application configure() {
-        final ResourceConfig rc = new ResourceConfig()
-                .register(SpringLifecycleListener.class)
-                .register(RequestContextFilter.class);
-        TestUtil.registerHK2Services(rc);
-        rc.property("contextConfigLocation", "classpath:applicationContext.xml");
-        return configure(rc);
-    }
-
-    protected abstract ResourceConfig configure(ResourceConfig rc);
-
-    protected abstract String getResourcePath();
-
-    protected String getResourceFullPath() {
-        final String containerFactory = System.getProperty(TestProperties.CONTAINER_FACTORY);
-        if (TEST_CONTAINER_FACTORY_EXTERNAL.equals(containerFactory)) {
-            return System.getProperty(TEST_WEBAPP_CONTEXT_PATH) + getResourcePath();
-        }
-        return getResourcePath();
-    }
-}
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java
deleted file mode 100644
index d722371..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Tests for Spring managed JAX-RS resources with @Controller archetype.
- *
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-public class SpringManagedControllerITCase extends ResourceTestBase {
-
-    @Override
-    protected ResourceConfig configure(final ResourceConfig rc) {
-        return rc.register(ControllerResource.class);
-    }
-
-    @Override
-    protected String getResourcePath() {
-        return "/spring/controller";
-    }
-
-    @Test
-    public void testResourceScope() {
-        final WebTarget t = target(getResourceFullPath());
-        final String message = "hello, world";
-        final String echo = t.path("message").request().put(Entity.text(message), String.class);
-        assertEquals(message, echo);
-        final String msg = t.path("message").request().get(String.class);
-        assertEquals(message, msg);
-    }
-}
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java
deleted file mode 100644
index 42bbe48..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Tests for Spring managed JAX-RS resources with custom composite
- * annotation that derives from @Component.
- *
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-public class SpringManagedEndpointITCase extends ResourceTestBase {
-
-    @Override
-    protected ResourceConfig configure(final ResourceConfig rc) {
-        return rc.register(EndpointResource.class);
-    }
-
-    @Override
-    protected String getResourcePath() {
-        return "/spring/endpoint";
-    }
-
-    @Test
-    public void testResourceScope() {
-        final WebTarget t = target(getResourceFullPath());
-        final String message = "hello, world";
-        final String echo = t.path("message").request().put(Entity.text(message), String.class);
-        assertEquals(message, echo);
-        final String msg = t.path("message").request().get(String.class);
-        assertEquals(message, msg);
-    }
-}
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java
deleted file mode 100644
index 732a5a2..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Tests for Spring managed JAX-RS resources.
- *
- * @author Marko Asplund (marko.asplund at yahoo.com)
- */
-public class SpringManagedITCase extends AccountResourceTestBase {
-
-    @Override
-    protected ResourceConfig configure(final ResourceConfig rc) {
-        return rc.register(AccountSpringResource.class);
-    }
-
-    @Override
-    protected String getResourcePath() {
-        return "/spring/account";
-    }
-
-    @Test
-    public void testResourceScope() {
-        final WebTarget t = target(getResourceFullPath());
-        final String message = "hello, world";
-        final String echo = t.path("message").request().put(Entity.text(message), String.class);
-        assertEquals(message, echo);
-        final String msg = t.path("message").request().get(String.class);
-        assertEquals(message, msg);
-    }
-
-}
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java
deleted file mode 100644
index 9520318..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Tests for Spring managed JAX-RS resources with @Repository archetype.
- *
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-public class SpringManagedRepositoryITCase extends ResourceTestBase {
-
-    @Override
-    protected ResourceConfig configure(final ResourceConfig rc) {
-        return rc.register(RepositoryResource.class);
-    }
-
-    @Override
-    protected String getResourcePath() {
-        return "/spring/repository";
-    }
-
-    @Test
-    public void testResourceScope() {
-        final WebTarget t = target(getResourceFullPath());
-        final String message = "hello, world";
-        final String echo = t.path("message").request().put(Entity.text(message), String.class);
-        assertEquals(message, echo);
-        final String msg = t.path("message").request().get(String.class);
-        assertEquals(message, msg);
-    }
-}
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java b/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java
deleted file mode 100644
index fd94e43..0000000
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.server.spring.test;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Tests for Spring managed JAX-RS resources with @Service archetype.
- *
- * @author Konrad Garus (konrad.garus at gmail.com)
- */
-public class SpringManagedServiceITCase extends ResourceTestBase {
-
-    @Override
-    protected ResourceConfig configure(final ResourceConfig rc) {
-        return rc.register(ServiceResource.class);
-    }
-
-    @Override
-    protected String getResourcePath() {
-        return "/spring/service";
-    }
-
-    @Test
-    public void testResourceScope() {
-        final WebTarget t = target(getResourceFullPath());
-        final String message = "hello, world";
-        final String echo = t.path("message").request().put(Entity.text(message), String.class);
-        assertEquals(message, echo);
-        final String msg = t.path("message").request().get(String.class);
-        assertEquals(message, msg);
-    }
-}
diff --git a/tests/integration/spring4/README.txt b/tests/integration/spring6/README.txt
similarity index 100%
rename from tests/integration/spring4/README.txt
rename to tests/integration/spring6/README.txt
diff --git a/tests/integration/spring5/pom.xml b/tests/integration/spring6/pom.xml
similarity index 73%
rename from tests/integration/spring5/pom.xml
rename to tests/integration/spring6/pom.xml
index 03dabdc..13a7804 100644
--- a/tests/integration/spring5/pom.xml
+++ b/tests/integration/spring6/pom.xml
@@ -25,24 +25,32 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
-    <artifactId>spring5</artifactId>
+    <artifactId>spring6</artifactId>
 
     <packaging>war</packaging>
-    <name>jersey-tests-integration-spring5</name>
+    <name>jersey-tests-integration-spring6</name>
 
     <description>
-        Jersey tests for Spring 5 integration
+        Jersey tests for Spring 6 integration
     </description>
 
+    <repositories>
+        <repository>
+            <name>Spring Repository</name>
+            <id>spring-repository</id>
+            <url>https://repo.spring.io/milestone</url>
+        </repository>
+    </repositories>
+
     <dependencies>
 
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
 
@@ -54,12 +62,42 @@
 
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
-            <artifactId>jersey-spring5</artifactId>
+            <artifactId>jersey-spring6</artifactId>
             <version>${project.version}</version>
             <scope>compile</scope>
         </dependency>
 
         <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aop</artifactId>
+            <version>${spring6.version}</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.glassfish.jersey.test-framework</groupId>
             <artifactId>jersey-test-framework-core</artifactId>
             <scope>test</scope>
@@ -97,6 +135,7 @@
             <plugin>
                 <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
+                <version>11.0.14</version>
                 <configuration>
                     <webApp>
                         <contextPath>/</contextPath>
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java
similarity index 93%
rename from tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java
index 80af7bb..ab54e71 100644
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountJerseyResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,16 +18,16 @@
 
 import java.math.BigDecimal;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java
similarity index 94%
rename from tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java
index 851e215..2a764dc 100644
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java
similarity index 94%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java
index 022cf1a..58919af 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountServiceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,7 +20,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java
similarity index 93%
rename from tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java
index 6a6e6c2..e6e8e43 100644
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/AccountSpringResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,16 +18,16 @@
 
 import java.math.BigDecimal;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.servlet.http.HttpServletRequest;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java
similarity index 84%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java
index c45e2e2..8cf0a7e 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/ControllerResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 
 import org.springframework.stereotype.Controller;
 
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java
similarity index 94%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java
index 80f5d8c..53a9ef1 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/Endpoint.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java
similarity index 84%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java
index 5dd6e5c..a1d8682 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/EndpointResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * @author Konrad Garus (konrad.garus at gmail.com)
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java
similarity index 92%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java
index 4b6bbf5..0fb4f76 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServicePerLookup.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java
similarity index 92%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java
index 3bde89d..f55662a 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceRequestScoped.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java
similarity index 92%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java
index 424f186..64ea0ba 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/HK2ServiceSingleton.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java
similarity index 90%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java
index 66f0b6d..e0f0c99 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/MyApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.Binder;
diff --git a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java
similarity index 84%
rename from tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java
index 8c3b563..52a8b64 100644
--- a/tests/integration/spring4/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/RepositoryResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 
 import org.springframework.stereotype.Repository;
 
diff --git a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java
similarity index 84%
rename from tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java
rename to tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java
index b47214d..75cf5af 100644
--- a/tests/integration/spring5/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java
+++ b/tests/integration/spring6/src/main/java/org/glassfish/jersey/server/spring/test/ServiceResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 
 import org.springframework.stereotype.Service;
 
diff --git a/tests/integration/spring4/src/main/resources/applicationContext.xml b/tests/integration/spring6/src/main/resources/applicationContext.xml
similarity index 97%
rename from tests/integration/spring4/src/main/resources/applicationContext.xml
rename to tests/integration/spring6/src/main/resources/applicationContext.xml
index c7e421e..c36223c 100644
--- a/tests/integration/spring4/src/main/resources/applicationContext.xml
+++ b/tests/integration/spring6/src/main/resources/applicationContext.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2012, 2022 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/tests/integration/spring4/src/main/webapp/WEB-INF/web.xml b/tests/integration/spring6/src/main/webapp/WEB-INF/web.xml
similarity index 96%
rename from tests/integration/spring4/src/main/webapp/WEB-INF/web.xml
rename to tests/integration/spring6/src/main/webapp/WEB-INF/web.xml
index c3cff9d..1710d82 100644
--- a/tests/integration/spring4/src/main/webapp/WEB-INF/web.xml
+++ b/tests/integration/spring6/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java
similarity index 97%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java
index 939928c..d785c78 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceITCase.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.external.ExternalTestContainerFactory;
 import org.glassfish.jersey.test.spi.TestContainerException;
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java
similarity index 96%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java
index 81822d2..e71b58e 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/AccountResourceTestBase.java
@@ -18,9 +18,9 @@
 
 import java.math.BigDecimal;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
 
 import org.junit.jupiter.api.Test;
 import static org.hamcrest.CoreMatchers.startsWith;
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java
similarity index 95%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java
index 07cecfb..1064726 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/JerseyManagedITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java
similarity index 95%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java
index c460d7e..bab4d70 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/ResourceTestBase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.spring.SpringLifecycleListener;
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java
similarity index 95%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java
index d722371..2dfb755 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedControllerITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java
similarity index 95%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java
index 42bbe48..3fce661 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedEndpointITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java
similarity index 95%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java
index 732a5a2..1d05f52 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java
similarity index 95%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java
index 9520318..a745e7d 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedRepositoryITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java
similarity index 95%
rename from tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java
index fd94e43..9b03b5b 100644
--- a/tests/integration/spring4/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/SpringManagedServiceITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.server.ResourceConfig;
 
diff --git a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java
similarity index 95%
rename from tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java
rename to tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java
index 35062d8..1961242 100644
--- a/tests/integration/spring5/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java
+++ b/tests/integration/spring6/src/test/java/org/glassfish/jersey/server/spring/test/TestUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.server.spring.test;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import org.glassfish.jersey.internal.inject.PerLookup;
 import org.glassfish.jersey.process.internal.RequestScoped;
diff --git a/tests/integration/tracing-support/pom.xml b/tests/integration/tracing-support/pom.xml
index a7a35f0..31a2fa4 100644
--- a/tests/integration/tracing-support/pom.xml
+++ b/tests/integration/tracing-support/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.integration</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>tracing-support</artifactId>
@@ -57,13 +57,15 @@
                 <configuration>
                     <systemPropertyVariables>
                         <!-- client side config works - failsafe plugin forks jvm -->
-                        <java.util.logging.config.file>${project.build.testOutputDirectory}/logging.properties</java.util.logging.config.file>
+                        <java.util.logging.config.file>${project.build.testOutputDirectory}/logging.properties
+                        </java.util.logging.config.file>
                     </systemPropertyVariables>
                 </configuration>
             </plugin>
             <plugin>
-                <groupId>org.mortbay.jetty</groupId>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
+                <version>${jetty.tracing.version}</version>
                 <configuration>
                     <connectors>
                         <connector>
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AllTracingSupport.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AllTracingSupport.java
index 487625d..310fd5c 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AllTracingSupport.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AllTracingSupport.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.TracingConfig;
 
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AsyncResource.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AsyncResource.java
index 01b3e09..ec3b148 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AsyncResource.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AsyncResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 /**
 * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AsyncSubResource.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AsyncSubResource.java
index 1e25e43..bb95f13 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AsyncSubResource.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/AsyncSubResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.container.AsyncResponse;
+import jakarta.ws.rs.container.Suspended;
 
 /**
 * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerRequestFilter68.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerRequestFilter68.java
index 3a47413..282015c 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerRequestFilter68.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerRequestFilter68.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,10 +17,10 @@
 package org.glassfish.jersey.tests.integration.tracing;
 
 import java.io.IOException;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.ext.Provider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerRequestFilterNoPriority.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerRequestFilterNoPriority.java
index 69c2318..7d9028c 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerRequestFilterNoPriority.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerRequestFilterNoPriority.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,9 +17,9 @@
 package org.glassfish.jersey.tests.integration.tracing;
 
 import java.io.IOException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerResponseFilter5001.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerResponseFilter5001.java
index 93a27e7..dd92cb7 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerResponseFilter5001.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerResponseFilter5001.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,11 +17,11 @@
 package org.glassfish.jersey.tests.integration.tracing;
 
 import java.io.IOException;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.Provider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerResponseFilterNoPriority.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerResponseFilterNoPriority.java
index c1183a2..99a39d8 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerResponseFilterNoPriority.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ContainerResponseFilterNoPriority.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,10 +17,10 @@
 package org.glassfish.jersey.tests.integration.tracing;
 
 import java.io.IOException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyReaderGeneric.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyReaderGeneric.java
index d61b7e9..2909603 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyReaderGeneric.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyReaderGeneric.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,12 +21,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyReaderTestFormat.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyReaderTestFormat.java
index 338c120..ecf7155 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyReaderTestFormat.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyReaderTestFormat.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,12 +23,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyWriterGeneric.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyWriterGeneric.java
index e19d869..53de3a3 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyWriterGeneric.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyWriterGeneric.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,12 +21,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyWriterTestFormat.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyWriterTestFormat.java
index 981fd63..2854793 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyWriterTestFormat.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/MessageBodyWriterTestFormat.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,12 +22,12 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 
 import org.glassfish.jersey.message.MessageUtils;
 
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/OnDemandTracingSupport.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/OnDemandTracingSupport.java
index 485bd1d..a42218d 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/OnDemandTracingSupport.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/OnDemandTracingSupport.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.ws.rs.ApplicationPath;
+import jakarta.ws.rs.ApplicationPath;
 
 import org.glassfish.jersey.server.TracingConfig;
 
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/PreMatchingContainerRequestFilter23.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/PreMatchingContainerRequestFilter23.java
index 9720061..765e4f4 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/PreMatchingContainerRequestFilter23.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/PreMatchingContainerRequestFilter23.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,11 +17,11 @@
 package org.glassfish.jersey.tests.integration.tracing;
 
 import java.io.IOException;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.ext.Provider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/PreMatchingContainerRequestFilter42.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/PreMatchingContainerRequestFilter42.java
index e41eebb..9f38cb0 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/PreMatchingContainerRequestFilter42.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/PreMatchingContainerRequestFilter42.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,11 +17,11 @@
 package org.glassfish.jersey.tests.integration.tracing;
 
 import java.io.IOException;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.ext.Provider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ReaderInterceptor14.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ReaderInterceptor14.java
index 0c56770..856f47b 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ReaderInterceptor14.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ReaderInterceptor14.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,11 +17,11 @@
 package org.glassfish.jersey.tests.integration.tracing;
 
 import java.io.IOException;
-import javax.annotation.Priority;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ReaderInterceptor18.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ReaderInterceptor18.java
index dc99742..3d64eb2 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ReaderInterceptor18.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/ReaderInterceptor18.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,11 +17,11 @@
 package org.glassfish.jersey.tests.integration.tracing;
 
 import java.io.IOException;
-import javax.annotation.Priority;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/Resource.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/Resource.java
index 20a5c5c..5d07f07 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/Resource.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
 
 /**
 * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/SubResource.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/SubResource.java
index 5547565..83f6000 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/SubResource.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/SubResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
 
 /**
 * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExceptionMapper.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExceptionMapper.java
index cdd5f2a..fd83053 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExceptionMapper.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExceptionMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExtendedExceptionMapperGeneric.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExtendedExceptionMapperGeneric.java
index ca530ee..e8104d0 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExtendedExceptionMapperGeneric.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExtendedExceptionMapperGeneric.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.spi.ExtendedExceptionMapper;
 
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExtendedExceptionMapperRuntime.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExtendedExceptionMapperRuntime.java
index 9087e75..f6ed4e1 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExtendedExceptionMapperRuntime.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/TestExtendedExceptionMapperRuntime.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-import javax.ws.rs.Priorities;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
 
-import javax.annotation.Priority;
+import jakarta.annotation.Priority;
 
 import org.glassfish.jersey.spi.ExtendedExceptionMapper;
 
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/Utils.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/Utils.java
index 957900c..d10cf52 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/Utils.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/Utils.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.Configurable;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.core.Configurable;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.logging.LoggingFeature;
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/WriterInterceptor39.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/WriterInterceptor39.java
index 71005c4..9d753a6 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/WriterInterceptor39.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/WriterInterceptor39.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 import java.util.Date;
-import javax.annotation.Priority;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/WriterInterceptor45.java b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/WriterInterceptor45.java
index 691a3b1..17e391f 100644
--- a/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/WriterInterceptor45.java
+++ b/tests/integration/tracing-support/src/main/java/org/glassfish/jersey/tests/integration/tracing/WriterInterceptor45.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 import java.util.Date;
-import javax.annotation.Priority;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * @author Libor Kramolis
diff --git a/tests/integration/tracing-support/src/test/java/org/glassfish/jersey/tests/integration/tracing/AllTracingSupportITCase.java b/tests/integration/tracing-support/src/test/java/org/glassfish/jersey/tests/integration/tracing/AllTracingSupportITCase.java
index 03dd1a8..6dbf62d 100644
--- a/tests/integration/tracing-support/src/test/java/org/glassfish/jersey/tests/integration/tracing/AllTracingSupportITCase.java
+++ b/tests/integration/tracing-support/src/test/java/org/glassfish/jersey/tests/integration/tracing/AllTracingSupportITCase.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.util.stream.Stream;
 
-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.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/integration/tracing-support/src/test/java/org/glassfish/jersey/tests/integration/tracing/OnDemandTracingSupportITCase.java b/tests/integration/tracing-support/src/test/java/org/glassfish/jersey/tests/integration/tracing/OnDemandTracingSupportITCase.java
index 003a629..922b23a 100644
--- a/tests/integration/tracing-support/src/test/java/org/glassfish/jersey/tests/integration/tracing/OnDemandTracingSupportITCase.java
+++ b/tests/integration/tracing-support/src/test/java/org/glassfish/jersey/tests/integration/tracing/OnDemandTracingSupportITCase.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.integration.tracing;
 
-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.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.message.internal.TracingLogger;
diff --git a/tests/jmockit/pom.xml b/tests/jmockit/pom.xml
index 10e68f8..3682449 100644
--- a/tests/jmockit/pom.xml
+++ b/tests/jmockit/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>project</artifactId>
         <groupId>org.glassfish.jersey.tests</groupId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -48,9 +48,7 @@
         <dependency>
             <groupId>org.glassfish.jersey.test-framework.providers</groupId>
             <artifactId>jersey-test-framework-provider-bundle</artifactId>
-            <version>${project.version}</version>
             <type>pom</type>
-            <scope>test</scope>
         </dependency>
 
         <dependency>
diff --git a/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/innerstatic/InnerStaticClass.java b/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/innerstatic/InnerStaticClass.java
index 26d2d3c..075ed30 100644
--- a/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/innerstatic/InnerStaticClass.java
+++ b/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/innerstatic/InnerStaticClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.jmockit.server.innerstatic;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Paul Sandoz
diff --git a/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevel/PackageRootResourceClass.java b/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevel/PackageRootResourceClass.java
index ffb778e..5fa3666 100644
--- a/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevel/PackageRootResourceClass.java
+++ b/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevel/PackageRootResourceClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.jmockit.server.toplevel;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Paul Sandoz
diff --git a/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevel/PublicRootResourceClass.java b/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevel/PublicRootResourceClass.java
index 0fb0238..84caf10 100644
--- a/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevel/PublicRootResourceClass.java
+++ b/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevel/PublicRootResourceClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.jmockit.server.toplevel;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Paul Sandoz
diff --git a/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevelinnerstatic/PublicRootResourceInnerStaticClass.java b/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevelinnerstatic/PublicRootResourceInnerStaticClass.java
index 191578b..578e48d 100644
--- a/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevelinnerstatic/PublicRootResourceInnerStaticClass.java
+++ b/tests/jmockit/src/main/java/org/glassfish/jersey/tests/jmockit/server/toplevelinnerstatic/PublicRootResourceInnerStaticClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.jmockit.server.toplevelinnerstatic;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Paul Sandoz
diff --git a/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/media/multipart/internal/FormDataMultiPartReaderWriterTest.java b/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
index 7ae0a92..a2665e0 100644
--- a/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
+++ b/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/media/multipart/internal/FormDataMultiPartReaderWriterTest.java
@@ -31,18 +31,18 @@
 import org.jvnet.mimepull.MIMEMessage;
 import org.jvnet.mimepull.MIMEParsingException;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.io.File;
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
diff --git a/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/ResourceConfigTest.java b/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/ResourceConfigTest.java
index 26a1e2e..d6305f9 100644
--- a/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/ResourceConfigTest.java
+++ b/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/ResourceConfigTest.java
@@ -68,7 +68,7 @@
         // Scan packages.
         resourceConfig.getClasses();
 
-        resourceConfig.registerFinder(new PackageNamesScanner(new String[] {"javax.ws.rs"}, false));
+        resourceConfig.registerFinder(new PackageNamesScanner(new String[] {"jakarta.ws.rs"}, false));
 
         // Reset - we called getClasses() on ResourceConfig.
         new Verifications() {{
diff --git a/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/internal/scanning/PackageNamesScannerTest.java b/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/internal/scanning/PackageNamesScannerTest.java
index 0ca55d3..24c685e 100644
--- a/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/internal/scanning/PackageNamesScannerTest.java
+++ b/tests/jmockit/src/test/java/org/glassfish/jersey/tests/jmockit/server/internal/scanning/PackageNamesScannerTest.java
@@ -48,7 +48,7 @@
  */
 public class PackageNamesScannerTest {
 
-    private static final String[] packages = {"javax.ws.rs"};
+    private static final String[] packages = {"jakarta.ws.rs"};
 
     private String jaxRsApiPath;
 
@@ -96,11 +96,11 @@
 
 
     @Tested
-    PackageNamesScanner scanner1 = new PackageNamesScanner(new String[]{"javax.ws.rs"}, false);
+    PackageNamesScanner scanner1 = new PackageNamesScanner(new String[]{"jakarta.ws.rs"}, false);
     @Tested
-    PackageNamesScanner scanner2 = new PackageNamesScanner(new String[]{"javax.ws.rs.core"}, false);
+    PackageNamesScanner scanner2 = new PackageNamesScanner(new String[]{"jakarta.ws.rs.core"}, false);
     @Tested
-    PackageNamesScanner scanner3 = new PackageNamesScanner(new String[]{"javax.ws.rs.client"}, false);
+    PackageNamesScanner scanner3 = new PackageNamesScanner(new String[]{"jakarta.ws.rs.client"}, false);
 
     /**
      * Reproducer for OWLS-19790: When scanner is reset the underlying JAR input streams should be closed.
@@ -153,7 +153,7 @@
      * Reproducer for OWLS-19790: When we iterate through the all entries provided by a scanner JAR input stream should be closed.
      */
     @Tested
-    PackageNamesScanner scanner = new PackageNamesScanner(new String[]{"javax.ws.rs"}, false);
+    PackageNamesScanner scanner = new PackageNamesScanner(new String[]{"jakarta.ws.rs"}, false);
     @Test
     public void testInputStreamClosedAfterIteration(@Injectable("false") boolean recursive) throws Exception {
         JarInputStream stream = new JarInputStream(
diff --git a/tests/mem-leaks/pom.xml b/tests/mem-leaks/pom.xml
index 3365b0c..cb44387 100644
--- a/tests/mem-leaks/pom.xml
+++ b/tests/mem-leaks/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests.memleaks</groupId>
diff --git a/tests/mem-leaks/redeployment/pom.xml b/tests/mem-leaks/redeployment/pom.xml
index 198df47..05b1047 100644
--- a/tests/mem-leaks/redeployment/pom.xml
+++ b/tests/mem-leaks/redeployment/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests.memleaks.redeployment</groupId>
diff --git a/tests/mem-leaks/redeployment/redeployment-hello-world-app-ref/pom.xml b/tests/mem-leaks/redeployment/redeployment-hello-world-app-ref/pom.xml
index ec42470..68d0620 100644
--- a/tests/mem-leaks/redeployment/redeployment-hello-world-app-ref/pom.xml
+++ b/tests/mem-leaks/redeployment/redeployment-hello-world-app-ref/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks.redeployment</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>redeployment-hello-world-app-ref</artifactId>
@@ -132,7 +132,7 @@
             <groupId>org.glassfish.jersey.examples</groupId>
             <artifactId>helloworld-webapp</artifactId>
             <type>war</type>
-            <version>2.43-SNAPSHOT</version>
+            <version>3.0.99-SNAPSHOT</version>
         </dependency>
     </dependencies>
 
diff --git a/tests/mem-leaks/redeployment/redeployment-leaking-test-app/pom.xml b/tests/mem-leaks/redeployment/redeployment-leaking-test-app/pom.xml
index 2feaa52..3dbdce4 100644
--- a/tests/mem-leaks/redeployment/redeployment-leaking-test-app/pom.xml
+++ b/tests/mem-leaks/redeployment/redeployment-leaking-test-app/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks.redeployment</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>redeployment-leaking-test-app</artifactId>
diff --git a/tests/mem-leaks/redeployment/redeployment-leaking-test-app/src/main/java/org/glassfish/jersey/tests/memleaks/testleak/DaemonThreadMemoryLeakingResource.java b/tests/mem-leaks/redeployment/redeployment-leaking-test-app/src/main/java/org/glassfish/jersey/tests/memleaks/testleak/DaemonThreadMemoryLeakingResource.java
index 24dcd3a..9bca4af 100644
--- a/tests/mem-leaks/redeployment/redeployment-leaking-test-app/src/main/java/org/glassfish/jersey/tests/memleaks/testleak/DaemonThreadMemoryLeakingResource.java
+++ b/tests/mem-leaks/redeployment/redeployment-leaking-test-app/src/main/java/org/glassfish/jersey/tests/memleaks/testleak/DaemonThreadMemoryLeakingResource.java
@@ -21,14 +21,14 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 
 /**
diff --git a/tests/mem-leaks/redeployment/redeployment-leaking-test-app/src/main/webapp/WEB-INF/web.xml b/tests/mem-leaks/redeployment/redeployment-leaking-test-app/src/main/webapp/WEB-INF/web.xml
index 2b29bd3..c9a1eb4 100644
--- a/tests/mem-leaks/redeployment/redeployment-leaking-test-app/src/main/webapp/WEB-INF/web.xml
+++ b/tests/mem-leaks/redeployment/redeployment-leaking-test-app/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
         <filter-name>jersey</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.memleaks.testleak.TestApplication</param-value>
         </init-param>
     </filter>
diff --git a/tests/mem-leaks/redeployment/redeployment-no-jersey-app/pom.xml b/tests/mem-leaks/redeployment/redeployment-no-jersey-app/pom.xml
index 0587227..5db3a03 100644
--- a/tests/mem-leaks/redeployment/redeployment-no-jersey-app/pom.xml
+++ b/tests/mem-leaks/redeployment/redeployment-no-jersey-app/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks.redeployment</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>redeployment-no-jersey-app</artifactId>
@@ -125,7 +125,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/tests/mem-leaks/redeployment/redeployment-no-jersey-app/src/main/java/org/glassfish/jersey/tests/memleaks/nojersey/MyServlet.java b/tests/mem-leaks/redeployment/redeployment-no-jersey-app/src/main/java/org/glassfish/jersey/tests/memleaks/nojersey/MyServlet.java
index 033c357..5775cd2 100644
--- a/tests/mem-leaks/redeployment/redeployment-no-jersey-app/src/main/java/org/glassfish/jersey/tests/memleaks/nojersey/MyServlet.java
+++ b/tests/mem-leaks/redeployment/redeployment-no-jersey-app/src/main/java/org/glassfish/jersey/tests/memleaks/nojersey/MyServlet.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,10 +22,10 @@
 import org.glassfish.hk2.api.ServiceLocatorFactory;
 import org.glassfish.hk2.utilities.binding.AbstractBinder;
 
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 /**
diff --git a/tests/mem-leaks/redeployment/redeployment-threadlocals-app/pom.xml b/tests/mem-leaks/redeployment/redeployment-threadlocals-app/pom.xml
index 1717e44..3e78927 100644
--- a/tests/mem-leaks/redeployment/redeployment-threadlocals-app/pom.xml
+++ b/tests/mem-leaks/redeployment/redeployment-threadlocals-app/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks.redeployment</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>redeployment-threadlocals-app</artifactId>
@@ -106,7 +106,7 @@
         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
-            <version>${servlet4.version}</version>
+            <version>${servlet5.version}</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>
diff --git a/tests/mem-leaks/redeployment/redeployment-threadlocals-app/src/main/java/org/glassfish/jersey/tests/memleaks/threadlocal/ThreadLocalMemoryLeakServlet.java b/tests/mem-leaks/redeployment/redeployment-threadlocals-app/src/main/java/org/glassfish/jersey/tests/memleaks/threadlocal/ThreadLocalMemoryLeakServlet.java
index 790e743..45c5b61 100644
--- a/tests/mem-leaks/redeployment/redeployment-threadlocals-app/src/main/java/org/glassfish/jersey/tests/memleaks/threadlocal/ThreadLocalMemoryLeakServlet.java
+++ b/tests/mem-leaks/redeployment/redeployment-threadlocals-app/src/main/java/org/glassfish/jersey/tests/memleaks/threadlocal/ThreadLocalMemoryLeakServlet.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * A servlet that introduces a memory leak with a single call. All the classes loaded by current classloader won't get GCed even
diff --git a/tests/mem-leaks/test-cases/bean-param-leak/pom.xml b/tests/mem-leaks/test-cases/bean-param-leak/pom.xml
index c2fa3b6..8111508 100644
--- a/tests/mem-leaks/test-cases/bean-param-leak/pom.xml
+++ b/tests/mem-leaks/test-cases/bean-param-leak/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>bean-param-leak</artifactId>
diff --git a/tests/mem-leaks/test-cases/bean-param-leak/src/main/java/org/glassfish/jersey/tests/memleaks/beanparam/BeanParamLeakResource.java b/tests/mem-leaks/test-cases/bean-param-leak/src/main/java/org/glassfish/jersey/tests/memleaks/beanparam/BeanParamLeakResource.java
index 2ff22f8..a8ac944 100644
--- a/tests/mem-leaks/test-cases/bean-param-leak/src/main/java/org/glassfish/jersey/tests/memleaks/beanparam/BeanParamLeakResource.java
+++ b/tests/mem-leaks/test-cases/bean-param-leak/src/main/java/org/glassfish/jersey/tests/memleaks/beanparam/BeanParamLeakResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,20 +16,20 @@
 
 package org.glassfish.jersey.tests.memleaks.beanparam;
 
-import javax.ws.rs.BeanParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Request;
+import jakarta.ws.rs.BeanParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Request;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * This resource reproduces JERSEY-2800 when {@link #invokeBeanParamInject()} called repetitively.
diff --git a/tests/mem-leaks/test-cases/bean-param-leak/src/main/webapp/WEB-INF/web.xml b/tests/mem-leaks/test-cases/bean-param-leak/src/main/webapp/WEB-INF/web.xml
index 0b31bdb..ab0f7d7 100644
--- a/tests/mem-leaks/test-cases/bean-param-leak/src/main/webapp/WEB-INF/web.xml
+++ b/tests/mem-leaks/test-cases/bean-param-leak/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
         <filter-name>jersey</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.memleaks.beanparam.TestApplication</param-value>
         </init-param>
     </filter>
diff --git a/tests/mem-leaks/test-cases/bean-param-leak/src/main/webapp/WEB-INF/weblogic.xml b/tests/mem-leaks/test-cases/bean-param-leak/src/main/webapp/WEB-INF/weblogic.xml
index 473e71d..c43daf4 100644
--- a/tests/mem-leaks/test-cases/bean-param-leak/src/main/webapp/WEB-INF/weblogic.xml
+++ b/tests/mem-leaks/test-cases/bean-param-leak/src/main/webapp/WEB-INF/weblogic.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,7 +24,7 @@
     <wls:container-descriptor>
         <wls:prefer-application-packages>
             <!-- jsr311 -->
-            <wls:package-name>javax.ws.rs.*</wls:package-name>
+            <wls:package-name>jakarta.ws.rs.*</wls:package-name>
             <!-- javassist -->
             <wls:package-name>javassist.*</wls:package-name>
             <!-- aop repackaged -->
@@ -42,8 +42,8 @@
         </wls:prefer-application-packages>
 
         <wls:prefer-application-resources>
-            <wls:resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</wls:resource-name>
-            <wls:resource-name>META-INF/services/javax.ws.rs.ext.RuntimeDelegate</wls:resource-name>
+            <wls:resource-name>META-INF/services/jakarta.servlet.ServletContainerInitializer</wls:resource-name>
+            <wls:resource-name>META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate</wls:resource-name>
 
             <!-- jersey -->
             <wls:resource-name>META-INF/services/org.glassfish.jersey.*</wls:resource-name>
diff --git a/tests/mem-leaks/test-cases/bean-param-leak/src/test/java/org/glassfish/jersey/tests/memleaks/beanparam/BeanParamLeakResourceITCase.java b/tests/mem-leaks/test-cases/bean-param-leak/src/test/java/org/glassfish/jersey/tests/memleaks/beanparam/BeanParamLeakResourceITCase.java
index ae7c1b6..87b87c3 100644
--- a/tests/mem-leaks/test-cases/bean-param-leak/src/test/java/org/glassfish/jersey/tests/memleaks/beanparam/BeanParamLeakResourceITCase.java
+++ b/tests/mem-leaks/test-cases/bean-param-leak/src/test/java/org/glassfish/jersey/tests/memleaks/beanparam/BeanParamLeakResourceITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.memleaks.beanparam;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.memleak.common.AbstractMemoryLeakWebAppTest;
 import org.glassfish.jersey.test.memleak.common.MemoryLeakSucceedingTimeout;
diff --git a/tests/mem-leaks/test-cases/leaking-test-app/pom.xml b/tests/mem-leaks/test-cases/leaking-test-app/pom.xml
index dd1d759..19159fa 100644
--- a/tests/mem-leaks/test-cases/leaking-test-app/pom.xml
+++ b/tests/mem-leaks/test-cases/leaking-test-app/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>leaking-test-app</artifactId>
diff --git a/tests/mem-leaks/test-cases/leaking-test-app/src/main/java/org/glassfish/jersey/tests/memleaks/testleak/MemoryLeakingResource.java b/tests/mem-leaks/test-cases/leaking-test-app/src/main/java/org/glassfish/jersey/tests/memleaks/testleak/MemoryLeakingResource.java
index eb61f0b..5693089 100644
--- a/tests/mem-leaks/test-cases/leaking-test-app/src/main/java/org/glassfish/jersey/tests/memleaks/testleak/MemoryLeakingResource.java
+++ b/tests/mem-leaks/test-cases/leaking-test-app/src/main/java/org/glassfish/jersey/tests/memleaks/testleak/MemoryLeakingResource.java
@@ -19,14 +19,14 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * Resource that causes {@link OutOfMemoryError} exception upon repetitive call of {@link #invoke(int)}.
diff --git a/tests/mem-leaks/test-cases/leaking-test-app/src/main/webapp/WEB-INF/web.xml b/tests/mem-leaks/test-cases/leaking-test-app/src/main/webapp/WEB-INF/web.xml
index 7f90c9a..311e959 100644
--- a/tests/mem-leaks/test-cases/leaking-test-app/src/main/webapp/WEB-INF/web.xml
+++ b/tests/mem-leaks/test-cases/leaking-test-app/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
         <filter-name>jersey</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.memleaks.testleak.TestApplication</param-value>
         </init-param>
     </filter>
diff --git a/tests/mem-leaks/test-cases/leaking-test-app/src/test/java/org/glassfish/jersey/tests/memleaks/testleak/MemoryLeakingResourceITCase.java b/tests/mem-leaks/test-cases/leaking-test-app/src/test/java/org/glassfish/jersey/tests/memleaks/testleak/MemoryLeakingResourceITCase.java
index 16ec2e4..37fc649 100644
--- a/tests/mem-leaks/test-cases/leaking-test-app/src/test/java/org/glassfish/jersey/tests/memleaks/testleak/MemoryLeakingResourceITCase.java
+++ b/tests/mem-leaks/test-cases/leaking-test-app/src/test/java/org/glassfish/jersey/tests/memleaks/testleak/MemoryLeakingResourceITCase.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.memleaks.testleak;
 
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.memleak.common.AbstractMemoryLeakWebAppTest;
 import org.glassfish.jersey.test.memleak.common.MemoryLeakSucceedingTimeout;
diff --git a/tests/mem-leaks/test-cases/pom.xml b/tests/mem-leaks/test-cases/pom.xml
index fa9ead8..1f4d9ce 100644
--- a/tests/mem-leaks/test-cases/pom.xml
+++ b/tests/mem-leaks/test-cases/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests.memleaks.testcases</groupId>
diff --git a/tests/mem-leaks/test-cases/shutdown-hook-leak-client/pom.xml b/tests/mem-leaks/test-cases/shutdown-hook-leak-client/pom.xml
index e2e09a9..4655cd2 100644
--- a/tests/mem-leaks/test-cases/shutdown-hook-leak-client/pom.xml
+++ b/tests/mem-leaks/test-cases/shutdown-hook-leak-client/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>shutdown-hook-leak-client</artifactId>
diff --git a/tests/mem-leaks/test-cases/shutdown-hook-leak-client/src/test/java/org/glassfish/jersey/tests/memleaks/shutdownleak/client/EndlessShutdownHookLeakTest.java b/tests/mem-leaks/test-cases/shutdown-hook-leak-client/src/test/java/org/glassfish/jersey/tests/memleaks/shutdownleak/client/EndlessShutdownHookLeakTest.java
index 3032a8a..1618b5b 100644
--- a/tests/mem-leaks/test-cases/shutdown-hook-leak-client/src/test/java/org/glassfish/jersey/tests/memleaks/shutdownleak/client/EndlessShutdownHookLeakTest.java
+++ b/tests/mem-leaks/test-cases/shutdown-hook-leak-client/src/test/java/org/glassfish/jersey/tests/memleaks/shutdownleak/client/EndlessShutdownHookLeakTest.java
@@ -18,10 +18,10 @@
 
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation.Builder;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation.Builder;
+import jakarta.ws.rs.client.WebTarget;
 
 import org.glassfish.jersey.test.memleak.common.AbstractMemoryLeakSimpleTest;
 import org.glassfish.jersey.test.memleak.common.MemoryLeakSucceedingTimeout;
diff --git a/tests/mem-leaks/test-cases/shutdown-hook-leak/pom.xml b/tests/mem-leaks/test-cases/shutdown-hook-leak/pom.xml
index 123c3e6..26e87e6 100644
--- a/tests/mem-leaks/test-cases/shutdown-hook-leak/pom.xml
+++ b/tests/mem-leaks/test-cases/shutdown-hook-leak/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.memleaks.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>shutdown-hook-leak</artifactId>
diff --git a/tests/mem-leaks/test-cases/shutdown-hook-leak/src/main/java/org/glassfish/jersey/tests/memleaks/shutdownhook/ClientShutdownLeakResource.java b/tests/mem-leaks/test-cases/shutdown-hook-leak/src/main/java/org/glassfish/jersey/tests/memleaks/shutdownhook/ClientShutdownLeakResource.java
index 5b649ce..dd6e5c8 100644
--- a/tests/mem-leaks/test-cases/shutdown-hook-leak/src/main/java/org/glassfish/jersey/tests/memleaks/shutdownhook/ClientShutdownLeakResource.java
+++ b/tests/mem-leaks/test-cases/shutdown-hook-leak/src/main/java/org/glassfish/jersey/tests/memleaks/shutdownhook/ClientShutdownLeakResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,16 +16,16 @@
 
 package org.glassfish.jersey.tests.memleaks.shutdownhook;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 /**
  * This resource reproduces JERSEY-2786 when {@link #invokeClient()} called repetitively.
diff --git a/tests/mem-leaks/test-cases/shutdown-hook-leak/src/main/webapp/WEB-INF/web.xml b/tests/mem-leaks/test-cases/shutdown-hook-leak/src/main/webapp/WEB-INF/web.xml
index b36a8d0..5980e5a 100644
--- a/tests/mem-leaks/test-cases/shutdown-hook-leak/src/main/webapp/WEB-INF/web.xml
+++ b/tests/mem-leaks/test-cases/shutdown-hook-leak/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,7 +25,7 @@
         <filter-name>jersey</filter-name>
         <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.memleaks.shutdownhook.TestApplication</param-value>
         </init-param>
     </filter>
diff --git a/tests/mem-leaks/test-cases/shutdown-hook-leak/src/test/java/org/glassfish/jersey/tests/memleaks/shutdownhook/ShutdownLeakResourceITCase.java b/tests/mem-leaks/test-cases/shutdown-hook-leak/src/test/java/org/glassfish/jersey/tests/memleaks/shutdownhook/ShutdownLeakResourceITCase.java
index de3451a..d87b230 100644
--- a/tests/mem-leaks/test-cases/shutdown-hook-leak/src/test/java/org/glassfish/jersey/tests/memleaks/shutdownhook/ShutdownLeakResourceITCase.java
+++ b/tests/mem-leaks/test-cases/shutdown-hook-leak/src/test/java/org/glassfish/jersey/tests/memleaks/shutdownhook/ShutdownLeakResourceITCase.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.memleaks.shutdownhook;
 
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.memleak.common.AbstractMemoryLeakWebAppTest;
 import org.glassfish.jersey.test.memleak.common.MemoryLeakSucceedingTimeout;
diff --git a/tests/osgi/functional/pom.xml b/tests/osgi/functional/pom.xml
index ba4b3c2..4e6e564 100644
--- a/tests/osgi/functional/pom.xml
+++ b/tests/osgi/functional/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.osgi</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>jersey-tests-osgi-functional</artifactId>
@@ -34,6 +34,10 @@
         Functional Jersey OSGi tests
     </description>
 
+    <properties>
+        <enforcer.skip>true</enforcer.skip>
+    </properties>
+
     <build>
         <plugins>
             <plugin>
@@ -108,6 +112,16 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.service.cm</artifactId>
             <scope>test</scope>
@@ -224,12 +238,6 @@
         </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson1</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jettison</artifactId>
             <scope>test</scope>
         </dependency>
@@ -278,19 +286,20 @@
             <artifactId>jaxrs-ri</artifactId>
             <scope>test</scope>
         </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.mortbay.jetty</groupId>-->
+<!--            <artifactId>jetty</artifactId>-->
+<!--            <scope>test</scope>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>org.mortbay.jetty</groupId>-->
+<!--            <artifactId>jetty-util</artifactId>-->
+<!--            <scope>test</scope>-->
+<!--        </dependency>-->
         <dependency>
-            <groupId>org.mortbay.jetty</groupId>
-            <artifactId>jetty</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mortbay.jetty</groupId>
-            <artifactId>jetty-util</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mortbay.jetty</groupId>
-            <artifactId>servlet-api-2.5</artifactId>
+            <groupId>jakarta.servlet</groupId>
+            <artifactId>jakarta.servlet-api</artifactId>
+            <version>${servlet5.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -314,13 +323,17 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.json</artifactId>
+            <groupId>jakarta.json</groupId>
+            <artifactId>jakarta.json-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jsonp-jaxrs</artifactId>
+            <groupId>org.eclipse.parsson</groupId>
+            <artifactId>parsson-media</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -346,7 +359,7 @@
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.module</groupId>
-            <artifactId>jackson-module-jaxb-annotations</artifactId>
+            <artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -355,38 +368,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.fasterxml.jackson.jaxrs</groupId>
-            <artifactId>jackson-jaxrs-base</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.jaxrs</groupId>
-            <artifactId>jackson-jaxrs-json-provider</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-xc</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-osgi</artifactId>
             <scope>test</scope>
@@ -413,19 +394,6 @@
 
     <profiles>
         <profile>
-            <id>jdk11dependency</id>
-            <activation>
-                <jdk>[11,)</jdk>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.activation</groupId>
-                    <artifactId>jakarta.activation</artifactId>
-                    <version>${jakarta.activation.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
             <id>sonar</id>
             <build>
                 <pluginManagement>
@@ -445,8 +413,4 @@
         </profile>
     </profiles>
 
-    <properties>
-        <enforcer.skip>true</enforcer.skip>
-    </properties>
-
 </project>
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/AbstractJsonOsgiIntegrationTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/AbstractJsonOsgiIntegrationTest.java
index 1be5ad5..55f4c91 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/AbstractJsonOsgiIntegrationTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/AbstractJsonOsgiIntegrationTest.java
@@ -18,11 +18,11 @@
 
 import java.net.URI;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.osgi.test.util.Helper;
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/ApacheOsgiIntegrationTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/ApacheOsgiIntegrationTest.java
index d6df4e8..2914dbb 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/ApacheOsgiIntegrationTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/ApacheOsgiIntegrationTest.java
@@ -19,12 +19,12 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.grizzly.http.server.HttpServer;
 import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
@@ -41,6 +41,7 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 
 /**
  * @author Adam Lindenthal
@@ -49,6 +50,7 @@
 public class ApacheOsgiIntegrationTest {
 
     private static final URI baseUri = UriBuilder.fromUri("http://localhost").port(Helper.getPort()).path("/jersey").build();
+    private static final String JAXRS_RUNTIME_DELEGATE_PROPERTY = "jakarta.ws.rs.ext.RuntimeDelegate";
 
     @Configuration
     public static Option[] configuration() {
@@ -59,9 +61,9 @@
                 mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpcore-osgi").versionAsInProject(),
                 mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpclient-osgi").versionAsInProject(),
                 mavenBundle().groupId("org.glassfish.jersey.connectors").artifactId("jersey-apache-connector")
-                        .versionAsInProject()
-
-        ));
+                        .versionAsInProject(),
+                systemProperty(JAXRS_RUNTIME_DELEGATE_PROPERTY).value("org.glassfish.jersey.internal.RuntimeDelegateImpl")
+                ));
         return Helper.asArray(options);
     }
 
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BasicOsgiIntegrationTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BasicOsgiIntegrationTest.java
index 2cb6b98..d5216a5 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BasicOsgiIntegrationTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BasicOsgiIntegrationTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,12 +19,12 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.osgi.test.util.Helper;
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BeanValidationResource.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BeanValidationResource.java
index f67d8d4..54cb450 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BeanValidationResource.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BeanValidationResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.osgi.test.basic;
 
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
 
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BeanValidationTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BeanValidationTest.java
index b872d10..7486f72 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BeanValidationTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/BeanValidationTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,13 +19,13 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Form;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.osgi.test.util.Helper;
@@ -71,6 +71,7 @@
                 mavenBundle().groupId("org.hibernate.validator").artifactId("hibernate-validator").versionAsInProject(),
                 mavenBundle().groupId("org.jboss.logging").artifactId("jboss-logging").versionAsInProject(),
                 mavenBundle().groupId("com.fasterxml").artifactId("classmate").versionAsInProject(),
+                mavenBundle().groupId("jakarta.el").artifactId("jakarta.el-api").versionAsInProject(),
                 mavenBundle().groupId("org.glassfish").artifactId("jakarta.el").versionAsInProject()
 
         ));
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JaxRsRiBundleTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JaxRsRiBundleTest.java
index 073335c..63f7d51 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JaxRsRiBundleTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JaxRsRiBundleTest.java
@@ -19,9 +19,9 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.osgi.test.util.Helper;
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJackson1Test.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJackson1Test.java
deleted file mode 100644
index 8552fc1..0000000
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJackson1Test.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.jersey.osgi.test.basic;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.ws.rs.core.Feature;
-
-import org.glassfish.jersey.jackson1.Jackson1Feature;
-import org.glassfish.jersey.osgi.test.util.Helper;
-
-import org.ops4j.pax.exam.Configuration;
-import org.ops4j.pax.exam.Option;
-import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-
-/**
- * @author Michal Gajdos
- */
-public class JsonJackson1Test extends AbstractJsonOsgiIntegrationTest {
-
-    @Configuration
-    public static Option[] configuration() {
-        final List<Option> options = new ArrayList<>();
-
-        options.addAll(Helper.getCommonOsgiOptions());
-        options.addAll(Helper.expandedList(
-                // vmOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
-
-                mavenBundle().groupId("org.glassfish.jersey.media").artifactId("jersey-media-json-jackson1").versionAsInProject(),
-
-                // jersey-json dependencies
-                mavenBundle().groupId("org.codehaus.jackson").artifactId("jackson-core-asl").versionAsInProject(),
-                mavenBundle().groupId("org.codehaus.jackson").artifactId("jackson-mapper-asl").versionAsInProject(),
-                mavenBundle().groupId("org.codehaus.jackson").artifactId("jackson-jaxrs").versionAsInProject(),
-                mavenBundle().groupId("org.codehaus.jackson").artifactId("jackson-xc").versionAsInProject()
-        ));
-
-        return Helper.asArray(options);
-    }
-
-    @Override
-    protected Feature getJsonProviderFeature() {
-        return new Jackson1Feature();
-    }
-}
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJacksonTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJacksonTest.java
index 644d053..7d06f02 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJacksonTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJacksonTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
 import org.glassfish.jersey.osgi.test.util.Helper;
@@ -48,10 +48,7 @@
                 mavenBundle().groupId("com.fasterxml.jackson.core").artifactId("jackson-core").versionAsInProject(),
                 mavenBundle().groupId("com.fasterxml.jackson.core").artifactId("jackson-databind").versionAsInProject(),
                 mavenBundle().groupId("com.fasterxml.jackson.core").artifactId("jackson-annotations").versionAsInProject(),
-                mavenBundle().groupId("com.fasterxml.jackson.jaxrs").artifactId("jackson-jaxrs-base").versionAsInProject(),
-                mavenBundle().groupId("com.fasterxml.jackson.jaxrs").artifactId("jackson-jaxrs-json-provider")
-                        .versionAsInProject(),
-                mavenBundle().groupId("com.fasterxml.jackson.module").artifactId("jackson-module-jaxb-annotations")
+                mavenBundle().groupId("com.fasterxml.jackson.module").artifactId("jackson-module-jakarta-xmlbind-annotations")
                         .versionAsInProject()
         ));
 
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJettisonTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJettisonTest.java
index c291723..5ad96a9 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJettisonTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonJettisonTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Feature;
+import jakarta.ws.rs.core.Feature;
 
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.osgi.test.util.Helper;
@@ -41,8 +41,8 @@
 
         options.addAll(Helper.getCommonOsgiOptions());
         options.addAll(Helper.expandedList(
-                bootDelegationPackage("javax.xml.bind"),
-                bootDelegationPackage("javax.xml.bind.*"),
+                bootDelegationPackage("jakarta.xml.bind"),
+                bootDelegationPackage("jakarta.xml.bind.*"),
                 // jersey-json dependencies
                 mavenBundle().groupId("org.glassfish.jersey.media").artifactId("jersey-media-json-jettison").versionAsInProject(),
                 mavenBundle().groupId("org.codehaus.jettison").artifactId("jettison").versionAsInProject(),
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonMoxyTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonMoxyTest.java
index c0bf924..423a04e 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonMoxyTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonMoxyTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,8 +19,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Feature;
-import javax.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.core.Feature;
+import jakarta.ws.rs.core.FeatureContext;
 
 import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
 import org.glassfish.jersey.osgi.test.util.Helper;
@@ -45,8 +45,8 @@
         options.addAll(Helper.expandedList(
                 // vmOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
 
-                bootDelegationPackage("javax.xml.bind"),
-                bootDelegationPackage("javax.xml.bind.*"),
+                bootDelegationPackage("jakarta.xml.bind"),
+                bootDelegationPackage("jakarta.xml.bind.*"),
                 // validation
                 bootDelegationPackage("javax.xml.parsers"),
                 bootDelegationPackage("javax.xml.parsers.*"),
@@ -57,7 +57,7 @@
                 mavenBundle().groupId("org.eclipse.persistence").artifactId("org.eclipse.persistence.moxy").versionAsInProject(),
                 mavenBundle().groupId("org.eclipse.persistence").artifactId("org.eclipse.persistence.core").versionAsInProject(),
                 mavenBundle().groupId("org.eclipse.persistence").artifactId("org.eclipse.persistence.asm").versionAsInProject(),
-                mavenBundle().groupId("org.glassfish").artifactId("jakarta.json").versionAsInProject(),
+                mavenBundle().groupId("org.eclipse.parsson").artifactId("parsson").versionAsInProject(),
 
                 // validation
                 mavenBundle().groupId("org.hibernate.validator").artifactId("hibernate-validator").versionAsInProject(),
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonProcessingTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonProcessingTest.java
index 5369d8b..4d4ca72 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonProcessingTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonProcessingTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,16 +19,16 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.json.Json;
-import javax.json.JsonObject;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.osgi.test.util.Helper;
@@ -69,8 +69,9 @@
                 // JSON processing.
                 mavenBundle().groupId("org.glassfish.jersey.media").artifactId("jersey-media-json-processing")
                         .versionAsInProject(),
-                mavenBundle().groupId("org.glassfish").artifactId("jakarta.json").versionAsInProject(),
-                mavenBundle().groupId("org.glassfish").artifactId("jsonp-jaxrs").versionAsInProject()
+                mavenBundle().groupId("jakarta.json").artifactId("jakarta.json-api").versionAsInProject(),
+                mavenBundle().groupId("org.eclipse.parsson").artifactId("parsson").versionAsInProject(),
+                mavenBundle().groupId("org.eclipse.parsson").artifactId("parsson-media").versionAsInProject()
         ));
 
         options = Helper.addPaxExamMavenLocalRepositoryProperty(options);
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonResource.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonResource.java
index 58315c4..5f9c8fd 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonResource.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/JsonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.osgi.test.basic;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/MultiPartTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/MultiPartTest.java
index 3b17ca0..5eda657 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/MultiPartTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/MultiPartTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,14 +22,14 @@
 import java.net.URI;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/PackageScanningTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/PackageScanningTest.java
index 2dd717c..369c2b1 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/PackageScanningTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/PackageScanningTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2022 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2024 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,9 +21,9 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.grizzly2.servlet.GrizzlyWebContainerFactory;
@@ -79,7 +79,8 @@
                         .versionAsInProject(),
 
                 // MBR/MBW for JSON-P is on the classpath.
-                mavenBundle().groupId("org.glassfish").artifactId("jakarta.json").versionAsInProject()
+                mavenBundle().groupId("jakarta.json").artifactId("jakarta.json-api").versionAsInProject(),
+                mavenBundle().groupId("org.eclipse.parsson").artifactId("parsson").versionAsInProject()
         ));
 
         options = Helper.addPaxExamMavenLocalRepositoryProperty(options);
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/ResourceBundleTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/ResourceBundleTest.java
index b0e1acf..ff2048c 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/ResourceBundleTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/ResourceBundleTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -25,9 +25,9 @@
 import java.util.logging.SimpleFormatter;
 import java.util.logging.StreamHandler;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.UriBuilder;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.internal.Errors;
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/SimpleResource.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/SimpleResource.java
index 75b853a..e1d88d3 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/SimpleResource.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/SimpleResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.osgi.test.basic;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Jakub Podlesak
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/SseTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/SseTest.java
index 67cb9a3..28c589e 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/SseTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/SseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,15 +23,15 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.Produces;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.media.sse.EventOutput;
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/WebResourceFactoryTest.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/WebResourceFactoryTest.java
index ffcd49d..c8fce18 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/WebResourceFactoryTest.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/WebResourceFactoryTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,18 +20,18 @@
 import java.util.Collections;
 import java.util.List;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.UriBuilder;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.glassfish.jersey.client.proxy.WebResourceFactory;
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
@@ -70,8 +70,8 @@
         List<Option> options = Helper.getCommonOsgiOptions();
 
         options.addAll(Helper.expandedList(
-                bootDelegationPackage("javax.xml.bind"),
-                bootDelegationPackage("javax.xml.bind.*"),
+                bootDelegationPackage("jakarta.xml.bind"),
+                bootDelegationPackage("jakarta.xml.bind.*"),
                 // jersey-multipart dependencies
                 mavenBundle().groupId("org.glassfish.jersey.ext").artifactId("jersey-proxy-client").versionAsInProject(),
                 //SUN JAXB IMPL OSGI
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/subpackage/SimpleResourceSubpackaged.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/subpackage/SimpleResourceSubpackaged.java
index 9f52b96..ae33a2b 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/subpackage/SimpleResourceSubpackaged.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/basic/subpackage/SimpleResourceSubpackaged.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.osgi.test.basic.subpackage;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Stepan Vavra
diff --git a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/util/Helper.java b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/util/Helper.java
index b874226..76a1515 100644
--- a/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/util/Helper.java
+++ b/tests/osgi/functional/src/test/java/org/glassfish/jersey/osgi/test/util/Helper.java
@@ -46,6 +46,16 @@
     private static final int port = getEnvVariable(TestProperties.CONTAINER_PORT, 8080);
 
     /**
+     * JAX-RS delegate property.
+     */
+    private static final String JAXRS_RUNTIME_DELEGATE_PROPERTY = "jakarta.ws.rs.ext.RuntimeDelegate";
+
+    /**
+     * JAX-RS Client Builder property
+     */
+    private static final String JAXRS_CLIENT_BUILDER = "jakarta.ws.rs.client.ClientBuilder";
+
+    /**
      * Returns an integer value of given system property, or a default value
      * as defined by the other method parameter, if the system property can
      * not be used.
@@ -127,10 +137,14 @@
                 // systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("FINEST"),
                 systemProperty("org.osgi.service.http.port").value(String.valueOf(port)),
                 systemProperty(TestProperties.CONTAINER_PORT).value(String.valueOf(port)),
-                systemProperty("org.osgi.framework.system.packages.extra").value("javax.annotation"),
+                systemProperty("org.osgi.framework.system.packages.extra").value("jakarta.annotation"),
+                systemProperty(JAXRS_RUNTIME_DELEGATE_PROPERTY).value("org.glassfish.jersey.internal.RuntimeDelegateImpl"),
+                systemProperty(JAXRS_CLIENT_BUILDER).value("org.glassfish.jersey.client.JerseyClientBuilder"),
 
-                // javax.annotation has to go first!
+                // jakarta.annotation has to go first!
                 mavenBundle().groupId("jakarta.annotation").artifactId("jakarta.annotation-api").versionAsInProject(),
+                mavenBundle().groupId("jakarta.activation").artifactId("jakarta.activation-api").versionAsInProject(),
+                mavenBundle().groupId("jakarta.inject").artifactId("jakarta.inject-api").versionAsInProject(),
                 mavenBundle().groupId("jakarta.xml.bind").artifactId("jakarta.xml.bind-api").versionAsInProject(),
                 junitBundles(),
 
@@ -139,7 +153,7 @@
                 mavenBundle().groupId("org.glassfish.hk2").artifactId("osgi-resource-locator").versionAsInProject(),
                 mavenBundle().groupId("org.glassfish.hk2").artifactId("hk2-locator").versionAsInProject(),
                 mavenBundle().groupId("org.glassfish.hk2").artifactId("hk2-utils").versionAsInProject(),
-                mavenBundle().groupId("org.glassfish.hk2.external").artifactId("jakarta.inject").versionAsInProject(),
+                //  mavenBundle().groupId("org.glassfish.hk2.external").artifactId("jakarta.inject").versionAsInProject(),
                 mavenBundle().groupId("org.glassfish.hk2.external").artifactId("aopalliance-repackaged").versionAsInProject(),
                 mavenBundle().groupId("org.javassist").artifactId("javassist").versionAsInProject(),
 
@@ -149,7 +163,7 @@
                 mavenBundle().groupId("org.glassfish.grizzly").artifactId("grizzly-http").versionAsInProject(),
                 mavenBundle().groupId("org.glassfish.grizzly").artifactId("grizzly-http-server").versionAsInProject(),
 
-                // javax.validation
+                // jakarta.validation
                 mavenBundle().groupId("jakarta.validation").artifactId("jakarta.validation-api").versionAsInProject(),
 
                 // Jersey Grizzly
diff --git a/tests/osgi/functional/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate b/tests/osgi/functional/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
new file mode 100644
index 0000000..550198c
--- /dev/null
+++ b/tests/osgi/functional/src/test/resources/META-INF/services/jakarta.ws.rs.ext.RuntimeDelegate
@@ -0,0 +1 @@
+org.glassfish.jersey.internal.RuntimeDelegateImpl
\ No newline at end of file
diff --git a/tests/osgi/pom.xml b/tests/osgi/pom.xml
index 0a80c49..99da325 100644
--- a/tests/osgi/pom.xml
+++ b/tests/osgi/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests.osgi</groupId>
diff --git a/tests/performance/benchmarks/pom.xml b/tests/performance/benchmarks/pom.xml
index cd8372e..4af92ed 100644
--- a/tests/performance/benchmarks/pom.xml
+++ b/tests/performance/benchmarks/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>performance-test-benchmarks</artifactId>
@@ -34,6 +34,10 @@
 
     <dependencies>
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.jersey.core</groupId>
             <artifactId>jersey-server</artifactId>
             <version>${project.version}</version>
@@ -48,7 +52,10 @@
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jackson</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>org.glassfish.jersey.ext</groupId>
+            <artifactId>jersey-entity-filtering</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-grizzly2-http</artifactId>
@@ -57,7 +64,15 @@
             <groupId>org.glassfish.jersey.connectors</groupId>
             <artifactId>jersey-grizzly-connector</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>jakarta.annotation</groupId>
+            <artifactId>jakarta.annotation-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.annotation</groupId>
+            <artifactId>javax.annotation-api</artifactId>
+            <version>${javax.annotation.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.glassfish.jersey.test-framework</groupId>
             <artifactId>jersey-test-framework-util</artifactId>
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/AllBenchmarks.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/AllBenchmarks.java
index 3f729d0..bccc7c4 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/AllBenchmarks.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/AllBenchmarks.java
@@ -33,7 +33,7 @@
         final Options opt = new OptionsBuilder()
                 // Register our benchmarks.
                 .include(ClientBenchmark.class.getSimpleName())
-                .include(JacksonBenchmark.class.getSimpleName())
+//                .include(JacksonBenchmark.class.getSimpleName())
                 .include(LocatorBenchmark.class.getSimpleName())
                 .include(JerseyUriBuilderBenchmark.class.getSimpleName())
                 .include(HeadersServerBenchmark.class.getName())
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/ClientBenchmark.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/ClientBenchmark.java
index bf55df9..7032997 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/ClientBenchmark.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/ClientBenchmark.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,11 +19,11 @@
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.InvocationCallback;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.InvocationCallback;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.util.client.LoopBackConnectorProvider;
 
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/HeadersClientBenchmark.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/HeadersClientBenchmark.java
index fcd137a..2c71a82 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/HeadersClientBenchmark.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/HeadersClientBenchmark.java
@@ -40,11 +40,11 @@
 import org.openjdk.jmh.runner.options.Options;
 import org.openjdk.jmh.runner.options.OptionsBuilder;
 
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
 import java.io.IOException;
 import java.net.URI;
 import java.util.concurrent.TimeUnit;
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/HeadersServerBenchmark.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/HeadersServerBenchmark.java
index 2494a15..a72feef 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/HeadersServerBenchmark.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/HeadersServerBenchmark.java
@@ -39,7 +39,7 @@
 import org.openjdk.jmh.runner.options.Options;
 import org.openjdk.jmh.runner.options.OptionsBuilder;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/Project.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/Project.java
index 4e33d9a..13f12fa 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/Project.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/Project.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Project entity class. Fields {@code tasks} and {@code users} are available only in detailed view (defined via
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/ProjectsResource.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/ProjectsResource.java
index 2e50f4b..59d31e3 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/ProjectsResource.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/ProjectsResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,9 +19,9 @@
 import java.util.Arrays;
 import java.util.List;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * Resource class for {@link Project projects}. Provides methods to retrieve projects in "default" view ({@link #getProjects()}
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/Task.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/Task.java
index 91a2f5c..c656311 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/Task.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/Task.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.performance.benchmark.entity.json;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Task entity class. Fields {@code project} and {@code user} are available only in detailed view (defined via
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/User.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/User.java
index 3b52b22..6c7acb2 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/User.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/entity/json/User.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * User entity class. Fields {@code projects} and {@code tasks} are available only in detailed view (defined via
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/headers/HeadersMBRW.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/headers/HeadersMBRW.java
index ea34696..9aeda0c 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/headers/HeadersMBRW.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/headers/HeadersMBRW.java
@@ -19,11 +19,11 @@
 import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
 import org.glassfish.jersey.message.internal.ReaderWriter;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/headers/HeadersResource.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/headers/HeadersResource.java
index 86558f0..f7f3cee 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/headers/HeadersResource.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/headers/HeadersResource.java
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.performance.benchmark.headers;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
 @Path("/headers")
 public class HeadersResource {
diff --git a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/server/LocatorResource.java b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/server/LocatorResource.java
index 24228a9..64f082e 100644
--- a/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/server/LocatorResource.java
+++ b/tests/performance/benchmarks/src/main/java/org/glassfish/jersey/tests/performance/benchmark/server/LocatorResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.performance.benchmark.server;
 
-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 jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/performance/benchmarks/src/test/java/org/glassfish/jersey/tests/performance/benchmark/server/JacksonTest.java b/tests/performance/benchmarks/src/test/java/org/glassfish/jersey/tests/performance/benchmark/server/JacksonTest.java
index c432ff9..a4136ed 100644
--- a/tests/performance/benchmarks/src/test/java/org/glassfish/jersey/tests/performance/benchmark/server/JacksonTest.java
+++ b/tests/performance/benchmarks/src/test/java/org/glassfish/jersey/tests/performance/benchmark/server/JacksonTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.performance.benchmark.server;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/performance/benchmarks/src/test/java/org/glassfish/jersey/tests/performance/benchmark/server/LocatorTest.java b/tests/performance/benchmarks/src/test/java/org/glassfish/jersey/tests/performance/benchmark/server/LocatorTest.java
index 29ae667..099bf1f 100644
--- a/tests/performance/benchmarks/src/test/java/org/glassfish/jersey/tests/performance/benchmark/server/LocatorTest.java
+++ b/tests/performance/benchmarks/src/test/java/org/glassfish/jersey/tests/performance/benchmark/server/LocatorTest.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jersey.tests.performance.benchmark.server;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/performance/pom.xml b/tests/performance/pom.xml
index 9e6de25..bf57e5d 100644
--- a/tests/performance/pom.xml
+++ b/tests/performance/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests.performance</groupId>
diff --git a/tests/performance/runners/jersey-grizzly-runner/pom.xml b/tests/performance/runners/jersey-grizzly-runner/pom.xml
index d658fa1..1d26c29 100644
--- a/tests/performance/runners/jersey-grizzly-runner/pom.xml
+++ b/tests/performance/runners/jersey-grizzly-runner/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.runners</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
 
diff --git a/tests/performance/runners/jersey-grizzly-runner/src/main/java/org/glassfish/jersey/tests/performance/runners/JerseyGrizzlyRunner.java b/tests/performance/runners/jersey-grizzly-runner/src/main/java/org/glassfish/jersey/tests/performance/runners/JerseyGrizzlyRunner.java
index bc651cb..a86eb00 100644
--- a/tests/performance/runners/jersey-grizzly-runner/src/main/java/org/glassfish/jersey/tests/performance/runners/JerseyGrizzlyRunner.java
+++ b/tests/performance/runners/jersey-grizzly-runner/src/main/java/org/glassfish/jersey/tests/performance/runners/JerseyGrizzlyRunner.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.net.URI;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.server.ResourceConfig;
diff --git a/tests/performance/runners/pom.xml b/tests/performance/runners/pom.xml
index 47d4f2b..4fbf1c5 100644
--- a/tests/performance/runners/pom.xml
+++ b/tests/performance/runners/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests.performance.runners</groupId>
diff --git a/tests/performance/test-cases/assemblies/pom.xml b/tests/performance/test-cases/assemblies/pom.xml
index e5b1c64..8ef729d 100644
--- a/tests/performance/test-cases/assemblies/pom.xml
+++ b/tests/performance/test-cases/assemblies/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>assemblies</artifactId>
diff --git a/tests/performance/test-cases/filter-dynamic/pom.xml b/tests/performance/test-cases/filter-dynamic/pom.xml
index 4b91df0..0c357ff 100644
--- a/tests/performance/test-cases/filter-dynamic/pom.xml
+++ b/tests/performance/test-cases/filter-dynamic/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>filter-dynamic</artifactId>
diff --git a/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicFilterFeature.java b/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicFilterFeature.java
index c0646e6..da5592c 100644
--- a/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicFilterFeature.java
+++ b/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicFilterFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.performance.filter.dynamic;
 
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
 
 
 /**
diff --git a/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicallyBoundFilter.java b/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicallyBoundFilter.java
index 5c395bd..d9c7a1b 100644
--- a/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicallyBoundFilter.java
+++ b/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicallyBoundFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,12 +20,12 @@
 import java.io.IOException;
 import java.io.SequenceInputStream;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Custom filter.
diff --git a/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicallyBoundFilterResource.java b/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicallyBoundFilterResource.java
index d0c6391..5f7af8e 100644
--- a/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicallyBoundFilterResource.java
+++ b/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/DynamicallyBoundFilterResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,13 +17,13 @@
 package org.glassfish.jersey.tests.performance.filter.dynamic;
 
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Filtered resource.
diff --git a/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/JaxRsApplication.java b/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/JaxRsApplication.java
index ea44a54..45f43d1 100644
--- a/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/JaxRsApplication.java
+++ b/tests/performance/test-cases/filter-dynamic/src/main/java/org/glassfish/jersey/tests/performance/filter/dynamic/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/filter-dynamic/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/filter-dynamic/src/main/webapp/WEB-INF/web.xml
index 11c53fe..3b02ec8 100644
--- a/tests/performance/test-cases/filter-dynamic/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/filter-dynamic/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.filter.dynamic.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/filter-dynamic/src/test/java/org/glassfish/jersey/tests/performance/filter/dynamic/FilterTest.java b/tests/performance/test-cases/filter-dynamic/src/test/java/org/glassfish/jersey/tests/performance/filter/dynamic/FilterTest.java
index 71a8499..440135a 100644
--- a/tests/performance/test-cases/filter-dynamic/src/test/java/org/glassfish/jersey/tests/performance/filter/dynamic/FilterTest.java
+++ b/tests/performance/test-cases/filter-dynamic/src/test/java/org/glassfish/jersey/tests/performance/filter/dynamic/FilterTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.filter.dynamic;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/filter-global/pom.xml b/tests/performance/test-cases/filter-global/pom.xml
index a23774b..7465710 100644
--- a/tests/performance/test-cases/filter-global/pom.xml
+++ b/tests/performance/test-cases/filter-global/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>filter-global</artifactId>
diff --git a/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/GlobalFilter.java b/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/GlobalFilter.java
index 18bbe1e..51b0ec4 100644
--- a/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/GlobalFilter.java
+++ b/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/GlobalFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,12 +20,12 @@
 import java.io.IOException;
 import java.io.SequenceInputStream;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Global custom filter.
diff --git a/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/JaxRsApplication.java b/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/JaxRsApplication.java
index d1cb284..d1b3180 100644
--- a/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/JaxRsApplication.java
+++ b/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/TextEntityResource.java b/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/TextEntityResource.java
index b1978f5..7cb9f0a 100644
--- a/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/TextEntityResource.java
+++ b/tests/performance/test-cases/filter-global/src/main/java/org/glassfish/jersey/tests/performance/filter/global/TextEntityResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,13 +17,13 @@
 package org.glassfish.jersey.tests.performance.filter.global;
 
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/filter-global/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/filter-global/src/main/webapp/WEB-INF/web.xml
index 772373b..bcf34eb 100644
--- a/tests/performance/test-cases/filter-global/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/filter-global/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.filter.global.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/filter-global/src/test/java/org/glassfish/jersey/tests/performance/filter/global/FilterTest.java b/tests/performance/test-cases/filter-global/src/test/java/org/glassfish/jersey/tests/performance/filter/global/FilterTest.java
index 96ebe59..d964ed6 100644
--- a/tests/performance/test-cases/filter-global/src/test/java/org/glassfish/jersey/tests/performance/filter/global/FilterTest.java
+++ b/tests/performance/test-cases/filter-global/src/test/java/org/glassfish/jersey/tests/performance/filter/global/FilterTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.filter.global;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/filter-name/pom.xml b/tests/performance/test-cases/filter-name/pom.xml
index dadab54..04979e5 100644
--- a/tests/performance/test-cases/filter-name/pom.xml
+++ b/tests/performance/test-cases/filter-name/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>filter-name</artifactId>
diff --git a/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/Filtered.java b/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/Filtered.java
index 394fe60..bf18a8f 100644
--- a/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/Filtered.java
+++ b/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/Filtered.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.NameBinding;
+import jakarta.ws.rs.NameBinding;
 
 /**
  * Custom binding annotation.
diff --git a/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/JaxRsApplication.java b/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/JaxRsApplication.java
index 0d7db3c..3f0b499 100644
--- a/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/JaxRsApplication.java
+++ b/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/NameBoundFilter.java b/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/NameBoundFilter.java
index b718810..53f23a6 100644
--- a/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/NameBoundFilter.java
+++ b/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/NameBoundFilter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,12 +20,12 @@
 import java.io.IOException;
 import java.io.SequenceInputStream;
 
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Custom filter.
diff --git a/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/NameBoundFilterResource.java b/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/NameBoundFilterResource.java
index 543fa85..5f17dfe 100644
--- a/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/NameBoundFilterResource.java
+++ b/tests/performance/test-cases/filter-name/src/main/java/org/glassfish/jersey/tests/performance/filter/name/NameBoundFilterResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,13 +17,13 @@
 package org.glassfish.jersey.tests.performance.filter.name;
 
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Filtered resource.
diff --git a/tests/performance/test-cases/filter-name/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/filter-name/src/main/webapp/WEB-INF/web.xml
index fbe4121..656c15b 100644
--- a/tests/performance/test-cases/filter-name/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/filter-name/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.filter.name.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/filter-name/src/test/java/org/glassfish/jersey/tests/performance/filter/name/FilterTest.java b/tests/performance/test-cases/filter-name/src/test/java/org/glassfish/jersey/tests/performance/filter/name/FilterTest.java
index 5ab301a..b1c3f99 100644
--- a/tests/performance/test-cases/filter-name/src/test/java/org/glassfish/jersey/tests/performance/filter/name/FilterTest.java
+++ b/tests/performance/test-cases/filter-name/src/test/java/org/glassfish/jersey/tests/performance/filter/name/FilterTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.filter.name;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/interceptor-dynamic/pom.xml b/tests/performance/test-cases/interceptor-dynamic/pom.xml
index 40007d2..dd35986 100644
--- a/tests/performance/test-cases/interceptor-dynamic/pom.xml
+++ b/tests/performance/test-cases/interceptor-dynamic/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>interceptor-dynamic</artifactId>
diff --git a/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicInterceptorFeature.java b/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicInterceptorFeature.java
index ab587d1..91504ee 100644
--- a/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicInterceptorFeature.java
+++ b/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicInterceptorFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.performance.interceptor.dynamic;
 
-import javax.ws.rs.container.DynamicFeature;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.FeatureContext;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.DynamicFeature;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.FeatureContext;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Custom feature to register interceptor.
diff --git a/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicallyBoundInterceptor.java b/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicallyBoundInterceptor.java
index 7b8ab30..1e9de0f 100644
--- a/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicallyBoundInterceptor.java
+++ b/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicallyBoundInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,12 +20,12 @@
 import java.io.IOException;
 import java.io.SequenceInputStream;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * Custom interceptor.
diff --git a/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicallyBoundInterceptorResource.java b/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicallyBoundInterceptorResource.java
index 0978952..ad0f360 100644
--- a/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicallyBoundInterceptorResource.java
+++ b/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/DynamicallyBoundInterceptorResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.performance.interceptor.dynamic;
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Intercepted resource.
diff --git a/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/JaxRsApplication.java b/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/JaxRsApplication.java
index 694dcea..b6b965c 100644
--- a/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/JaxRsApplication.java
+++ b/tests/performance/test-cases/interceptor-dynamic/src/main/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/interceptor-dynamic/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/interceptor-dynamic/src/main/webapp/WEB-INF/web.xml
index 633ed97..6d7d722 100644
--- a/tests/performance/test-cases/interceptor-dynamic/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/interceptor-dynamic/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.interceptor.dynamic.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/interceptor-dynamic/src/test/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/InterceptorTest.java b/tests/performance/test-cases/interceptor-dynamic/src/test/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/InterceptorTest.java
index 6f4db87..cfeb650 100644
--- a/tests/performance/test-cases/interceptor-dynamic/src/test/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/InterceptorTest.java
+++ b/tests/performance/test-cases/interceptor-dynamic/src/test/java/org/glassfish/jersey/tests/performance/interceptor/dynamic/InterceptorTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.interceptor.dynamic;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/interceptor-global/pom.xml b/tests/performance/test-cases/interceptor-global/pom.xml
index 435e148..a4af722 100644
--- a/tests/performance/test-cases/interceptor-global/pom.xml
+++ b/tests/performance/test-cases/interceptor-global/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>interceptor-global</artifactId>
diff --git a/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/CustomInterceptor.java b/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/CustomInterceptor.java
index 825486a..447f741 100644
--- a/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/CustomInterceptor.java
+++ b/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/CustomInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,12 +20,12 @@
 import java.io.IOException;
 import java.io.SequenceInputStream;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * Custom interceptor.
diff --git a/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/JaxRsApplication.java b/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/JaxRsApplication.java
index 5ec1e26..e57d400 100644
--- a/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/JaxRsApplication.java
+++ b/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/TextEntityResource.java b/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/TextEntityResource.java
index b9eea6e..9b7e2de 100644
--- a/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/TextEntityResource.java
+++ b/tests/performance/test-cases/interceptor-global/src/main/java/org/glassfish/jersey/tests/performance/interceptor/global/TextEntityResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,13 +17,13 @@
 package org.glassfish.jersey.tests.performance.interceptor.global;
 
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/interceptor-global/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/interceptor-global/src/main/webapp/WEB-INF/web.xml
index fe64786..cd1d20a 100644
--- a/tests/performance/test-cases/interceptor-global/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/interceptor-global/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.interceptor.global.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/interceptor-global/src/test/java/org/glassfish/jersey/tests/performance/interceptor/global/InterceptorTest.java b/tests/performance/test-cases/interceptor-global/src/test/java/org/glassfish/jersey/tests/performance/interceptor/global/InterceptorTest.java
index bf54704..2ca0b5a 100644
--- a/tests/performance/test-cases/interceptor-global/src/test/java/org/glassfish/jersey/tests/performance/interceptor/global/InterceptorTest.java
+++ b/tests/performance/test-cases/interceptor-global/src/test/java/org/glassfish/jersey/tests/performance/interceptor/global/InterceptorTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.interceptor.global;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/interceptor-name/pom.xml b/tests/performance/test-cases/interceptor-name/pom.xml
index c33663d..1ce8e16 100644
--- a/tests/performance/test-cases/interceptor-name/pom.xml
+++ b/tests/performance/test-cases/interceptor-name/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>interceptor-name</artifactId>
diff --git a/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/Intercepted.java b/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/Intercepted.java
index ead6540..d5b79f4 100644
--- a/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/Intercepted.java
+++ b/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/Intercepted.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Target;
 
-import javax.ws.rs.NameBinding;
+import jakarta.ws.rs.NameBinding;
 
 
 /**
diff --git a/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/InterceptedByNameResource.java b/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/InterceptedByNameResource.java
index 7304912..075ecda 100644
--- a/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/InterceptedByNameResource.java
+++ b/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/InterceptedByNameResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,13 +17,13 @@
 package org.glassfish.jersey.tests.performance.interceptor.name;
 
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/JaxRsApplication.java b/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/JaxRsApplication.java
index 42b7458..d0aae7e 100644
--- a/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/JaxRsApplication.java
+++ b/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/NameBoundInterceptor.java b/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/NameBoundInterceptor.java
index 65a0632..3a4c622 100644
--- a/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/NameBoundInterceptor.java
+++ b/tests/performance/test-cases/interceptor-name/src/main/java/org/glassfish/jersey/tests/performance/interceptor/name/NameBoundInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,12 +20,12 @@
 import java.io.IOException;
 import java.io.SequenceInputStream;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
 
 /**
  * Custom interceptor.
diff --git a/tests/performance/test-cases/interceptor-name/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/interceptor-name/src/main/webapp/WEB-INF/web.xml
index 5ffa433..86e0163 100644
--- a/tests/performance/test-cases/interceptor-name/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/interceptor-name/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.interceptor.name.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/interceptor-name/src/test/java/org/glassfish/jersey/tests/performance/interceptor/name/InterceptorTest.java b/tests/performance/test-cases/interceptor-name/src/test/java/org/glassfish/jersey/tests/performance/interceptor/name/InterceptorTest.java
index 25b8b7f..bdfa1d2 100644
--- a/tests/performance/test-cases/interceptor-name/src/test/java/org/glassfish/jersey/tests/performance/interceptor/name/InterceptorTest.java
+++ b/tests/performance/test-cases/interceptor-name/src/test/java/org/glassfish/jersey/tests/performance/interceptor/name/InterceptorTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.interceptor.name;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/mbw-custom-provider/pom.xml b/tests/performance/test-cases/mbw-custom-provider/pom.xml
index 8382876..e03aa7e 100644
--- a/tests/performance/test-cases/mbw-custom-provider/pom.xml
+++ b/tests/performance/test-cases/mbw-custom-provider/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>custom-provider</artifactId>
diff --git a/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/JaxRsApplication.java b/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/JaxRsApplication.java
index 7f1b0b0..dce716a 100644
--- a/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/JaxRsApplication.java
+++ b/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonProvider.java b/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonProvider.java
index 4af5813..9b850c5 100644
--- a/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonProvider.java
+++ b/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,13 +24,13 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
 
 /**
  * Custom message body worker.
diff --git a/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonResource.java b/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonResource.java
index fbe200f..10013e4 100644
--- a/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonResource.java
+++ b/tests/performance/test-cases/mbw-custom-provider/src/main/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.performance.mbw.custom;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Person resource.
diff --git a/tests/performance/test-cases/mbw-custom-provider/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/mbw-custom-provider/src/main/webapp/WEB-INF/web.xml
index db2c84b..99cf62b 100644
--- a/tests/performance/test-cases/mbw-custom-provider/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/mbw-custom-provider/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.mbw.custom.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/mbw-custom-provider/src/test/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonEntityTest.java b/tests/performance/test-cases/mbw-custom-provider/src/test/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonEntityTest.java
index 86a5a9c..7beca21 100644
--- a/tests/performance/test-cases/mbw-custom-provider/src/test/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonEntityTest.java
+++ b/tests/performance/test-cases/mbw-custom-provider/src/test/java/org/glassfish/jersey/tests/performance/mbw/custom/PersonEntityTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.mbw.custom;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.test.JerseyTest;
diff --git a/tests/performance/test-cases/mbw-json-jackson/pom.xml b/tests/performance/test-cases/mbw-json-jackson/pom.xml
index 85960f9..88be2b1 100644
--- a/tests/performance/test-cases/mbw-json-jackson/pom.xml
+++ b/tests/performance/test-cases/mbw-json-jackson/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>json-jackson</artifactId>
@@ -60,6 +60,18 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>**/*</exclude>
+                    </excludes>
+                    <testExcludes>
+                        <testExclude>**/*</testExclude>
+                    </testExcludes>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/tests/performance/test-cases/mbw-json-jackson/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JaxRsApplication.java b/tests/performance/test-cases/mbw-json-jackson/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JaxRsApplication.java
index 4906be9..855e15b 100644
--- a/tests/performance/test-cases/mbw-json-jackson/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JaxRsApplication.java
+++ b/tests/performance/test-cases/mbw-json-jackson/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.jackson.JacksonFeature;
 
diff --git a/tests/performance/test-cases/mbw-json-jackson/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityResource.java b/tests/performance/test-cases/mbw-json-jackson/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityResource.java
index 3b4d848..02ca20b 100644
--- a/tests/performance/test-cases/mbw-json-jackson/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityResource.java
+++ b/tests/performance/test-cases/mbw-json-jackson/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.performance.mbw.json;
 
-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.MediaType;
+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.MediaType;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/mbw-json-jackson/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/mbw-json-jackson/src/main/webapp/WEB-INF/web.xml
index 88eea6c..28637cd 100644
--- a/tests/performance/test-cases/mbw-json-jackson/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/mbw-json-jackson/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.mbw.json.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/mbw-json-jackson/src/test/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityTest.java b/tests/performance/test-cases/mbw-json-jackson/src/test/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityTest.java
index 79bbdbb..62384a7 100644
--- a/tests/performance/test-cases/mbw-json-jackson/src/test/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityTest.java
+++ b/tests/performance/test-cases/mbw-json-jackson/src/test/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.mbw.json;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.jackson.JacksonFeature;
 
diff --git a/tests/performance/test-cases/mbw-json-moxy/pom.xml b/tests/performance/test-cases/mbw-json-moxy/pom.xml
index 8e2d8ca..2e88e34 100644
--- a/tests/performance/test-cases/mbw-json-moxy/pom.xml
+++ b/tests/performance/test-cases/mbw-json-moxy/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>json-moxy</artifactId>
diff --git a/tests/performance/test-cases/mbw-json-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JaxRsApplication.java b/tests/performance/test-cases/mbw-json-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JaxRsApplication.java
index 1ba686f..58b0722 100644
--- a/tests/performance/test-cases/mbw-json-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JaxRsApplication.java
+++ b/tests/performance/test-cases/mbw-json-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
 
diff --git a/tests/performance/test-cases/mbw-json-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityResource.java b/tests/performance/test-cases/mbw-json-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityResource.java
index d6b166a..0805f31 100644
--- a/tests/performance/test-cases/mbw-json-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityResource.java
+++ b/tests/performance/test-cases/mbw-json-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.performance.mbw.json;
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/mbw-json-moxy/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/mbw-json-moxy/src/main/webapp/WEB-INF/web.xml
index 88eea6c..28637cd 100644
--- a/tests/performance/test-cases/mbw-json-moxy/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/mbw-json-moxy/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.mbw.json.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/mbw-json-moxy/src/test/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityTest.java b/tests/performance/test-cases/mbw-json-moxy/src/test/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityTest.java
index 4279874..ce8983d 100644
--- a/tests/performance/test-cases/mbw-json-moxy/src/test/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityTest.java
+++ b/tests/performance/test-cases/mbw-json-moxy/src/test/java/org/glassfish/jersey/tests/performance/mbw/json/JsonEntityTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.mbw.json;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.moxy.json.MoxyJsonFeature;
diff --git a/tests/performance/test-cases/mbw-kryo/pom.xml b/tests/performance/test-cases/mbw-kryo/pom.xml
index b587f55..c2bd7c7 100644
--- a/tests/performance/test-cases/mbw-kryo/pom.xml
+++ b/tests/performance/test-cases/mbw-kryo/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>mbw-kryo</artifactId>
diff --git a/tests/performance/test-cases/mbw-kryo/src/main/java/org/glassfish/jersey/tests/performance/mbw/kryo/JaxRsApplication.java b/tests/performance/test-cases/mbw-kryo/src/main/java/org/glassfish/jersey/tests/performance/mbw/kryo/JaxRsApplication.java
index 1c3f1c3..9c388a8 100644
--- a/tests/performance/test-cases/mbw-kryo/src/main/java/org/glassfish/jersey/tests/performance/mbw/kryo/JaxRsApplication.java
+++ b/tests/performance/test-cases/mbw-kryo/src/main/java/org/glassfish/jersey/tests/performance/mbw/kryo/JaxRsApplication.java
@@ -22,7 +22,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/mbw-kryo/src/main/java/org/glassfish/jersey/tests/performance/mbw/kryo/PersonResource.java b/tests/performance/test-cases/mbw-kryo/src/main/java/org/glassfish/jersey/tests/performance/mbw/kryo/PersonResource.java
index f76fbf3..e76c81d 100644
--- a/tests/performance/test-cases/mbw-kryo/src/main/java/org/glassfish/jersey/tests/performance/mbw/kryo/PersonResource.java
+++ b/tests/performance/test-cases/mbw-kryo/src/main/java/org/glassfish/jersey/tests/performance/mbw/kryo/PersonResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.performance.mbw.kryo;
 
-import javax.ws.rs.Consumes;
-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 jakarta.ws.rs.Consumes;
+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;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/mbw-kryo/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/mbw-kryo/src/main/webapp/WEB-INF/web.xml
index a875b70..5f11977 100644
--- a/tests/performance/test-cases/mbw-kryo/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/mbw-kryo/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.mbw.kryo.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/mbw-kryo/src/test/java/org/glassfish/jersey/tests/performance/mbw/kryo/PersonResourceTest.java b/tests/performance/test-cases/mbw-kryo/src/test/java/org/glassfish/jersey/tests/performance/mbw/kryo/PersonResourceTest.java
index e4cd73a..7e02949 100644
--- a/tests/performance/test-cases/mbw-kryo/src/test/java/org/glassfish/jersey/tests/performance/mbw/kryo/PersonResourceTest.java
+++ b/tests/performance/test-cases/mbw-kryo/src/test/java/org/glassfish/jersey/tests/performance/mbw/kryo/PersonResourceTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.mbw.kryo;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.kryo.KryoFeature;
diff --git a/tests/performance/test-cases/mbw-text-plain/pom.xml b/tests/performance/test-cases/mbw-text-plain/pom.xml
index 6758190..85791e5 100644
--- a/tests/performance/test-cases/mbw-text-plain/pom.xml
+++ b/tests/performance/test-cases/mbw-text-plain/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>text-plain</artifactId>
diff --git a/tests/performance/test-cases/mbw-text-plain/src/main/java/org/glassfish/jersey/tests/performance/mbw/text/JaxRsApplication.java b/tests/performance/test-cases/mbw-text-plain/src/main/java/org/glassfish/jersey/tests/performance/mbw/text/JaxRsApplication.java
index 5cd0cba..f8f814a 100644
--- a/tests/performance/test-cases/mbw-text-plain/src/main/java/org/glassfish/jersey/tests/performance/mbw/text/JaxRsApplication.java
+++ b/tests/performance/test-cases/mbw-text-plain/src/main/java/org/glassfish/jersey/tests/performance/mbw/text/JaxRsApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/mbw-text-plain/src/main/java/org/glassfish/jersey/tests/performance/mbw/text/TextEntityResource.java b/tests/performance/test-cases/mbw-text-plain/src/main/java/org/glassfish/jersey/tests/performance/mbw/text/TextEntityResource.java
index 9d83bc9..21833bf 100644
--- a/tests/performance/test-cases/mbw-text-plain/src/main/java/org/glassfish/jersey/tests/performance/mbw/text/TextEntityResource.java
+++ b/tests/performance/test-cases/mbw-text-plain/src/main/java/org/glassfish/jersey/tests/performance/mbw/text/TextEntityResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,14 +16,14 @@
 
 package org.glassfish.jersey.tests.performance.mbw.text;
 
-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.MediaType;
+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.MediaType;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/mbw-text-plain/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/mbw-text-plain/src/main/webapp/WEB-INF/web.xml
index 8476905..b61823a 100644
--- a/tests/performance/test-cases/mbw-text-plain/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/mbw-text-plain/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.mbw.text.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/mbw-text-plain/src/test/java/org/glassfish/jersey/tests/performance/mbw/text/TextEntityTest.java b/tests/performance/test-cases/mbw-text-plain/src/test/java/org/glassfish/jersey/tests/performance/mbw/text/TextEntityTest.java
index 00fcdbf..d0f0a71 100644
--- a/tests/performance/test-cases/mbw-text-plain/src/test/java/org/glassfish/jersey/tests/performance/mbw/text/TextEntityTest.java
+++ b/tests/performance/test-cases/mbw-text-plain/src/test/java/org/glassfish/jersey/tests/performance/mbw/text/TextEntityTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.mbw.text;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/mbw-xml-jaxb/pom.xml b/tests/performance/test-cases/mbw-xml-jaxb/pom.xml
index d043ae7..aed91e9 100644
--- a/tests/performance/test-cases/mbw-xml-jaxb/pom.xml
+++ b/tests/performance/test-cases/mbw-xml-jaxb/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>xml-jaxb</artifactId>
@@ -37,6 +37,11 @@
     <dependencies>
 
         <dependency>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>jakarta.ws.rs</groupId>
             <artifactId>jakarta.ws.rs-api</artifactId>
             <scope>provided</scope>
@@ -75,6 +80,25 @@
                 </dependency>
             </dependencies>
         </profile>
+        <profile>
+            <id>jdk8</id>
+            <activation>
+                <jdk>1.8</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <excludes>
+                                <exclude>org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java</exclude>
+                            </excludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
     </profiles>
 
 </project>
diff --git a/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/JaxRsApplication.java b/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/JaxRsApplication.java
index e23b191..6c5ede2 100644
--- a/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/JaxRsApplication.java
+++ b/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/JaxRsApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/Person.java b/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/Person.java
index b3f5692..af525ae 100644
--- a/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/Person.java
+++ b/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/Person.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,7 @@
 
 import java.util.Objects;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Test data bean.
diff --git a/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityResource.java b/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityResource.java
index 83bc1a0..9d8ffb5 100644
--- a/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityResource.java
+++ b/tests/performance/test-cases/mbw-xml-jaxb/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,13 +17,13 @@
 package org.glassfish.jersey.tests.performance.mbw.xml;
 
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/mbw-xml-jaxb/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/mbw-xml-jaxb/src/main/webapp/WEB-INF/web.xml
index 2a80019..66da5df 100644
--- a/tests/performance/test-cases/mbw-xml-jaxb/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/mbw-xml-jaxb/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.mbw.xml.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/mbw-xml-jaxb/src/test/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java b/tests/performance/test-cases/mbw-xml-jaxb/src/test/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java
index 2f18118..9ffcd1c 100644
--- a/tests/performance/test-cases/mbw-xml-jaxb/src/test/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java
+++ b/tests/performance/test-cases/mbw-xml-jaxb/src/test/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.mbw.xml;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/mbw-xml-moxy/pom.xml b/tests/performance/test-cases/mbw-xml-moxy/pom.xml
index 6b99bc2..17610d5 100644
--- a/tests/performance/test-cases/mbw-xml-moxy/pom.xml
+++ b/tests/performance/test-cases/mbw-xml-moxy/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>xml-moxy</artifactId>
diff --git a/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/JaxRsApplication.java b/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/JaxRsApplication.java
index 1ecd688..2418d75 100644
--- a/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/JaxRsApplication.java
+++ b/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/JaxRsApplication.java
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.moxy.xml.MoxyXmlFeature;
 
diff --git a/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/Person.java b/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/Person.java
index 2cc19b1..89cea77 100644
--- a/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/Person.java
+++ b/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/Person.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,7 +17,7 @@
 package org.glassfish.jersey.tests.performance.mbw.xml;
 
 import java.util.Objects;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Test data bean.
diff --git a/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityResource.java b/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityResource.java
index af17728..9e19856 100644
--- a/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityResource.java
+++ b/tests/performance/test-cases/mbw-xml-moxy/src/main/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,13 +17,13 @@
 package org.glassfish.jersey.tests.performance.mbw.xml;
 
 
-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.MediaType;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
+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.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/mbw-xml-moxy/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/mbw-xml-moxy/src/main/webapp/WEB-INF/web.xml
index 2a80019..66da5df 100644
--- a/tests/performance/test-cases/mbw-xml-moxy/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/mbw-xml-moxy/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.mbw.xml.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/mbw-xml-moxy/src/test/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java b/tests/performance/test-cases/mbw-xml-moxy/src/test/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java
index 03d4ac0..261cbd1 100644
--- a/tests/performance/test-cases/mbw-xml-moxy/src/test/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java
+++ b/tests/performance/test-cases/mbw-xml-moxy/src/test/java/org/glassfish/jersey/tests/performance/mbw/xml/XmlEntityTest.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jersey.tests.performance.mbw.xml;
 
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
 
 import org.glassfish.jersey.client.ClientConfig;
 import org.glassfish.jersey.moxy.xml.MoxyXmlFeature;
diff --git a/tests/performance/test-cases/monitoring/src/main/java/org/glassfish/jersey/tests/performance/monitoring/Resource.java b/tests/performance/test-cases/monitoring/src/main/java/org/glassfish/jersey/tests/performance/monitoring/Resource.java
index 6956ec8..b2530fc 100644
--- a/tests/performance/test-cases/monitoring/src/main/java/org/glassfish/jersey/tests/performance/monitoring/Resource.java
+++ b/tests/performance/test-cases/monitoring/src/main/java/org/glassfish/jersey/tests/performance/monitoring/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,12 +16,12 @@
 
 package org.glassfish.jersey.tests.performance.monitoring;
 
-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 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;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/performance/test-cases/monitoring/src/main/java/org/glassfish/jersey/tests/performance/monitoring/SubResourceLocator.java b/tests/performance/test-cases/monitoring/src/main/java/org/glassfish/jersey/tests/performance/monitoring/SubResourceLocator.java
index 0172930..b3ef928 100644
--- a/tests/performance/test-cases/monitoring/src/main/java/org/glassfish/jersey/tests/performance/monitoring/SubResourceLocator.java
+++ b/tests/performance/test-cases/monitoring/src/main/java/org/glassfish/jersey/tests/performance/monitoring/SubResourceLocator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,11 @@
 
 package org.glassfish.jersey.tests.performance.monitoring;
 
-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 jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
 
 /**
  * @author Michal Gajdos
diff --git a/tests/performance/test-cases/param-srl/pom.xml b/tests/performance/test-cases/param-srl/pom.xml
index 0986518..d058416 100644
--- a/tests/performance/test-cases/param-srl/pom.xml
+++ b/tests/performance/test-cases/param-srl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>param-srl</artifactId>
diff --git a/tests/performance/test-cases/param-srl/src/main/java/org/glassfish/jersey/tests/performance/param/srl/JaxRsApplication.java b/tests/performance/test-cases/param-srl/src/main/java/org/glassfish/jersey/tests/performance/param/srl/JaxRsApplication.java
index a163edb..dc841a3 100644
--- a/tests/performance/test-cases/param-srl/src/main/java/org/glassfish/jersey/tests/performance/param/srl/JaxRsApplication.java
+++ b/tests/performance/test-cases/param-srl/src/main/java/org/glassfish/jersey/tests/performance/param/srl/JaxRsApplication.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/param-srl/src/main/java/org/glassfish/jersey/tests/performance/param/srl/SrlResource.java b/tests/performance/test-cases/param-srl/src/main/java/org/glassfish/jersey/tests/performance/param/srl/SrlResource.java
index e12da4d..4304e41 100644
--- a/tests/performance/test-cases/param-srl/src/main/java/org/glassfish/jersey/tests/performance/param/srl/SrlResource.java
+++ b/tests/performance/test-cases/param-srl/src/main/java/org/glassfish/jersey/tests/performance/param/srl/SrlResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,13 +16,13 @@
 
 package org.glassfish.jersey.tests.performance.param.srl;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.MatrixParam;
-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 jakarta.ws.rs.GET;
+import jakarta.ws.rs.MatrixParam;
+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;
 
 /**
  * Test resource.
diff --git a/tests/performance/test-cases/param-srl/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/param-srl/src/main/webapp/WEB-INF/web.xml
index 1e27b3b..f5eeb9b 100644
--- a/tests/performance/test-cases/param-srl/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/param-srl/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.param.srl.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/param-srl/src/test/java/org/glassfish/jersey/tests/performance/param/srl/SrlSrmTest.java b/tests/performance/test-cases/param-srl/src/test/java/org/glassfish/jersey/tests/performance/param/srl/SrlSrmTest.java
index d9559ab..ec692f0 100644
--- a/tests/performance/test-cases/param-srl/src/test/java/org/glassfish/jersey/tests/performance/param/srl/SrlSrmTest.java
+++ b/tests/performance/test-cases/param-srl/src/test/java/org/glassfish/jersey/tests/performance/param/srl/SrlSrmTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.performance.param.srl;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/test-cases/pom.xml b/tests/performance/test-cases/pom.xml
index db91ad1..240d406 100644
--- a/tests/performance/test-cases/pom.xml
+++ b/tests/performance/test-cases/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
diff --git a/tests/performance/test-cases/proxy-injection/pom.xml b/tests/performance/test-cases/proxy-injection/pom.xml
index 1eddf36..417a396 100644
--- a/tests/performance/test-cases/proxy-injection/pom.xml
+++ b/tests/performance/test-cases/proxy-injection/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance.testcases</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>proxy-injection</artifactId>
diff --git a/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/FieldInjectedResource.java b/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/FieldInjectedResource.java
index 1e5567a..f92f104 100644
--- a/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/FieldInjectedResource.java
+++ b/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/FieldInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.performance.proxy.injection;
 
-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.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-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.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Test resource to test field injected proxy-able parameters.
diff --git a/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/JaxRsApplication.java b/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/JaxRsApplication.java
index 014b013..b03f039 100644
--- a/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/JaxRsApplication.java
+++ b/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/JaxRsApplication.java
@@ -18,7 +18,7 @@
 
 import java.util.HashSet;
 import java.util.Set;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 /**
  * Test case JAX-RS application.
diff --git a/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/MethodInjectedResource.java b/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/MethodInjectedResource.java
index 90670dc..aed89a6 100644
--- a/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/MethodInjectedResource.java
+++ b/tests/performance/test-cases/proxy-injection/src/main/java/org/glassfish/jersey/tests/performance/proxy/injection/MethodInjectedResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,15 +16,15 @@
 
 package org.glassfish.jersey.tests.performance.proxy.injection;
 
-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.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-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.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
 
 /**
  * Test resource to compare resource method with and without injected method proxiable parameters.
diff --git a/tests/performance/test-cases/proxy-injection/src/main/webapp/WEB-INF/web.xml b/tests/performance/test-cases/proxy-injection/src/main/webapp/WEB-INF/web.xml
index da3331d..ac3ca76 100644
--- a/tests/performance/test-cases/proxy-injection/src/main/webapp/WEB-INF/web.xml
+++ b/tests/performance/test-cases/proxy-injection/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -26,7 +26,7 @@
         <servlet-name>JaxRsApplication</servlet-name>
         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>javax.ws.rs.Application</param-name>
+            <param-name>jakarta.ws.rs.Application</param-name>
             <param-value>org.glassfish.jersey.tests.performance.proxy.injection.JaxRsApplication</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
diff --git a/tests/performance/test-cases/proxy-injection/src/test/java/org/glassfish/jersey/tests/performance/proxy/injection/InjectedResourcesTest.java b/tests/performance/test-cases/proxy-injection/src/test/java/org/glassfish/jersey/tests/performance/proxy/injection/InjectedResourcesTest.java
index c35aa3a..949c561 100644
--- a/tests/performance/test-cases/proxy-injection/src/test/java/org/glassfish/jersey/tests/performance/proxy/injection/InjectedResourcesTest.java
+++ b/tests/performance/test-cases/proxy-injection/src/test/java/org/glassfish/jersey/tests/performance/proxy/injection/InjectedResourcesTest.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.performance.proxy.injection;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.glassfish.jersey.test.JerseyTest;
 
diff --git a/tests/performance/tools/pom.xml b/tests/performance/tools/pom.xml
index 53f08e5..6e7949d 100644
--- a/tests/performance/tools/pom.xml
+++ b/tests/performance/tools/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests.performance</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
     <groupId>org.glassfish.jersey.tests.performance.tools</groupId>
     <artifactId>performance-test-tools</artifactId>
diff --git a/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/Person.java b/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/Person.java
index 1161482..d3c5c8b 100644
--- a/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/Person.java
+++ b/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/Person.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
 
 package org.glassfish.jersey.tests.performance.tools;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Person data bean, copied from mbw tests and annotated for the test data generation tool.
diff --git a/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestBean.java b/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestBean.java
index 8447358..837c3ca 100644
--- a/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestBean.java
+++ b/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestBean.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,9 +21,9 @@
 import java.util.HashSet;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 /**
  * Example of a complex testing bean.
diff --git a/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestDataGeneratorApp.java b/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestDataGeneratorApp.java
index 9542105..050f07d 100644
--- a/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestDataGeneratorApp.java
+++ b/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestDataGeneratorApp.java
@@ -28,10 +28,10 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
 import org.glassfish.jersey.moxy.json.MoxyJsonConfig;
diff --git a/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestDataGeneratorResource.java b/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestDataGeneratorResource.java
index 19d72b6..b0d0b93 100644
--- a/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestDataGeneratorResource.java
+++ b/tests/performance/tools/src/main/java/org/glassfish/jersey/tests/performance/tools/TestDataGeneratorResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,10 +16,10 @@
 
 package org.glassfish.jersey.tests.performance.tools;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
diff --git a/tests/pom.xml b/tests/pom.xml
index ca326b2..2915a00 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <groupId>org.glassfish.jersey.tests</groupId>
@@ -69,7 +69,6 @@
         <dependency>
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
-            <version>${project.version}</version>
         </dependency>
     </dependencies>
 
@@ -86,7 +85,7 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-install-plugin</artifactId>
                 <configuration>
-                    <skip>true</skip>
+                    <skip>false</skip>
                 </configuration>
             </plugin>
         </plugins>
@@ -114,6 +113,7 @@
             </activation>
             <modules>
                 <module>release-test</module>
+                <module>version-agnostic</module>
             </modules>
         </profile>
     </profiles>
diff --git a/tests/release-test/pom.xml b/tests/release-test/pom.xml
index 5b54183..2882162 100644
--- a/tests/release-test/pom.xml
+++ b/tests/release-test/pom.xml
@@ -20,17 +20,10 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-<!--    <parent>-->
-<!--        <groupId>org.eclipse.ee4j</groupId>-->
-<!--        <artifactId>project</artifactId>-->
-<!--        <version>1.0.8</version>-->
-<!--        <relativePath>../../../pom.xml</relativePath>-->
-<!--    </parent>-->
-
     <parent>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -53,7 +46,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <version>3.0.0-M7</version>
+                <version>${surefire.mvn.plugin.version}</version>
                 <configuration>
                     <forkCount>1</forkCount>
                     <reuseForks>false</reuseForks>
@@ -116,7 +109,7 @@
         <dependency>
             <groupId>org.apache.maven.plugin-testing</groupId>
             <artifactId>maven-plugin-testing-harness</artifactId>
-            <version>3.3.0</version>
+            <version>${harness.testing.mvn.plugin.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -155,7 +148,7 @@
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-surefire-plugin</artifactId>
-                        <version>3.0.0-M7</version>
+                        <version>${surefire.mvn.plugin.version}</version>
                         <configuration>
                             <forkCount>1</forkCount>
                             <reuseForks>false</reuseForks>
diff --git a/tests/release-test/src/test/java/org/glassfish/jersey/test/artifacts/NoticeFilesTest.java b/tests/release-test/src/test/java/org/glassfish/jersey/test/artifacts/NoticeFilesTest.java
index 3ad58c4..fe33742 100644
--- a/tests/release-test/src/test/java/org/glassfish/jersey/test/artifacts/NoticeFilesTest.java
+++ b/tests/release-test/src/test/java/org/glassfish/jersey/test/artifacts/NoticeFilesTest.java
@@ -22,7 +22,7 @@
 import org.junit.Assert;
 import org.junit.Test;
 
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
@@ -177,7 +177,7 @@
         dependencyPairs.add(new NoticeDependencyVersionPair("Jackson JAX-RS Providers", "${jackson.version}"));
         dependencyPairs.add(new NoticeDependencyVersionPair("Javassist", "${javassist.version}"));
         dependencyPairs.add(new NoticeDependencyVersionPair("Hibernate Validator CDI", "${validation.impl.version}"));
-        dependencyPairs.add(new NoticeDependencyVersionPair("Bean Validation", "${javax.validation.api.version}"));
+        dependencyPairs.add(new NoticeDependencyVersionPair("Bean Validation", "${jakarta.validation.api.version}"));
         return dependencyPairs;
     }
 
diff --git a/tests/stress/pom.xml b/tests/stress/pom.xml
index da92cf5..bb69102 100644
--- a/tests/stress/pom.xml
+++ b/tests/stress/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.glassfish.jersey.tests</groupId>
         <artifactId>project</artifactId>
-        <version>2.43-SNAPSHOT</version>
+        <version>3.0.99-SNAPSHOT</version>
     </parent>
 
     <artifactId>stress</artifactId>
diff --git a/tests/version-agnostic/pom.xml b/tests/version-agnostic/pom.xml
new file mode 100644
index 0000000..c4c44f5
--- /dev/null
+++ b/tests/version-agnostic/pom.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+
+    This program and the accompanying materials are made available under the
+    terms of the Eclipse Public License v. 2.0, which is available at
+    http://www.eclipse.org/legal/epl-2.0.
+
+    This Source Code may also be made available under the following Secondary
+    Licenses when the conditions for such availability set forth in the
+    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+    version 2 with the GNU Classpath Exception, which is available at
+    https://www.gnu.org/software/classpath/license.html.
+
+    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.eclipse.ee4j</groupId>
+        <artifactId>project</artifactId>
+        <version>1.0.8</version>
+        <relativePath>../../../pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.glassfish.jersey.tests</groupId>
+    <artifactId>version-agnostic</artifactId>
+    <packaging>jar</packaging>
+    <name>jersey-agnostic-test</name>
+
+    <description>Jersey post-release validation tests</description>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <hk2.version>3.0.3</hk2.version>
+        <jersey.version>3.0.99-SNAPSHOT</jersey.version>
+    </properties>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>3.0.0-M7</version>
+                <configuration>
+                    <forkCount>1</forkCount>
+                    <reuseForks>false</reuseForks>
+                    <enableAssertions>false</enableAssertions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.glassfish.copyright</groupId>
+                <artifactId>glassfish-copyright-maven-plugin</artifactId>
+                <version>2.4</version>
+                <configuration>
+                    <excludeFile>etc/config/copyright-exclude</excludeFile>
+                    <!--svn|mercurial|git - defaults to svn-->
+                    <scm>git</scm>
+                    <!-- turn on/off debugging -->
+                    <debug>false</debug>
+                    <!-- skip files not under SCM-->
+                    <scmOnly>true</scmOnly>
+                    <!-- turn off warnings -->
+                    <warn>false</warn>
+                    <!-- for use with repair -->
+                    <update>false</update>
+                    <!-- check that year is correct -->
+                    <ignoreYear>false</ignoreYear>
+                    <templateFile>etc/config/copyright.txt</templateFile>
+                    <bsdTemplateFile>etc/config/edl-copyright.txt</bsdTemplateFile>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>noTests</id>
+            <activation>
+                <property>
+                    <name>skipTests</name>
+                </property>
+            </activation>
+            <properties>
+                <maven.test.skip>true</maven.test.skip>
+            </properties>
+        </profile>
+        <profile>
+            <id>version-agnostic</id>
+            <activation>
+                <property>
+                    <name>!skipTests</name>
+                </property>
+            </activation>
+            <dependencyManagement>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.glassfish.jersey</groupId>
+                        <artifactId>jersey-bom</artifactId>
+                        <version>${jersey.version}</version>
+                        <scope>import</scope>
+                        <type>pom</type>
+                    </dependency>
+                </dependencies>
+            </dependencyManagement>
+
+            <dependencies>
+                <dependency>
+                    <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+                    <artifactId>jersey-test-framework-provider-bundle</artifactId>
+                    <type>pom</type>
+                    <scope>test</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.jersey.connectors</groupId>
+                    <artifactId>jersey-jetty-connector</artifactId>
+                    <scope>test</scope>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.glassfish.jersey.inject</groupId>
+                    <artifactId>jersey-hk2</artifactId>
+                    <version>${jersey.version}</version>
+                    <scope>test</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.hk2</groupId>
+                    <artifactId>hk2-api</artifactId>
+                    <version>${hk2.version}</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.hk2</groupId>
+                    <artifactId>hk2-utils</artifactId>
+                    <version>${hk2.version}</version>
+                </dependency>
+                <dependency>
+                    <groupId>org.glassfish.hk2</groupId>
+                    <artifactId>hk2-locator</artifactId>
+                    <version>${hk2.version}</version>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+</project>
diff --git a/tests/version-agnostic/src/test/java/org/glassfish/jersey/test/agnostic/JettyHeaderTest.java b/tests/version-agnostic/src/test/java/org/glassfish/jersey/test/agnostic/JettyHeaderTest.java
new file mode 100644
index 0000000..e720080
--- /dev/null
+++ b/tests/version-agnostic/src/test/java/org/glassfish/jersey/test/agnostic/JettyHeaderTest.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package org.glassfish.jersey.test.agnostic;
+
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+public class JettyHeaderTest extends JerseyTest {
+    @Path("/")
+    public static class JettyHeaderTestResource {
+        @Context
+        HttpHeaders httpHeaders;
+
+        @GET
+        public String get() {
+            return httpHeaders.getHeaderString(HttpHeaders.USER_AGENT);
+        }
+    }
+
+    @Override
+    protected Application configure() {
+        return new ResourceConfig(JettyHeaderTestResource.class);
+                //.register(LoggingFeature.builder().level(Level.INFO).verbosity(LoggingFeature.Verbosity.PAYLOAD_ANY).build());
+    }
+
+    @Override
+    protected void configureClient(ClientConfig config) {
+        config.connectorProvider(new JettyConnectorProvider());
+    }
+
+    @Test
+    public void helloWorldTest() {
+        try (Response r = target().request().get()) {
+            Assertions.assertEquals(200, r.getStatus());
+
+            int index = -1;
+            String userAgent = r.readEntity(String.class);
+            index = userAgent.indexOf("Jersey");
+            Assertions.assertTrue(index != -1);
+
+            index = userAgent.indexOf("Jersey", index + 1);
+            Assertions.assertEquals(-1, index);
+        }
+    }
+}
diff --git a/tools/jersey-release-notes-maven-plugin/pom.xml b/tools/jersey-release-notes-maven-plugin/pom.xml
index e1f8091..79fd77b 100644
--- a/tools/jersey-release-notes-maven-plugin/pom.xml
+++ b/tools/jersey-release-notes-maven-plugin/pom.xml
@@ -67,7 +67,7 @@
         <dependency>
             <groupId>org.apache.maven.plugin-testing</groupId>
             <artifactId>maven-plugin-testing-harness</artifactId>
-            <version>3.3.0</version>
+            <version>${harness.testing.mvn.plugin.version}</version>
             <scope>test</scope>
         </dependency>
 
diff --git a/tools/jersey-release-notes-maven-plugin/src/test/resources/pom.xml b/tools/jersey-release-notes-maven-plugin/src/test/resources/pom.xml
index b449864..52d5e34 100644
--- a/tools/jersey-release-notes-maven-plugin/src/test/resources/pom.xml
+++ b/tools/jersey-release-notes-maven-plugin/src/test/resources/pom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+    Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
 
     This program and the accompanying materials are made available under the
     terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,7 +22,7 @@
 
     <groupId>org.glassfish.jersey</groupId>
     <artifactId>jersey-release-notes</artifactId>
-    <version>2.30-SNAPSHOT</version>
+    <version>3.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <build>