diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/apps/ConnectionProber/src/main/java/prober/ProberServlet.java b/appserver/tests/appserv-tests/devtests/admin/cli/apps/ConnectionProber/src/main/java/prober/ProberServlet.java
index 6cc60cd..bd24d89 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/apps/ConnectionProber/src/main/java/prober/ProberServlet.java
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/apps/ConnectionProber/src/main/java/prober/ProberServlet.java
@@ -25,10 +25,10 @@
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import jakarta.annotation.Resource;
-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 org.glassfish.flashlight.client.ProbeClientMediator;
 import org.glassfish.flashlight.provider.FlashlightProbe;
 import org.glassfish.flashlight.provider.ProbeRegistry;
diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/apps/MonApp/src/main/java/com/elf/enterprise/monitoring/ProbeServlet.java b/appserver/tests/appserv-tests/devtests/admin/cli/apps/MonApp/src/main/java/com/elf/enterprise/monitoring/ProbeServlet.java
index 0c2ba56..d309c68 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/apps/MonApp/src/main/java/com/elf/enterprise/monitoring/ProbeServlet.java
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/apps/MonApp/src/main/java/com/elf/enterprise/monitoring/ProbeServlet.java
@@ -25,10 +25,10 @@
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import jakarta.annotation.Resource;
-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 org.glassfish.external.probe.provider.PluginPoint;
 import org.glassfish.external.probe.provider.annotations.Probe;
 import org.glassfish.external.probe.provider.annotations.ProbeProvider;
diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/apps/MyEjb/MyEjb-war/src/java/MyEjbServlet.java b/appserver/tests/appserv-tests/devtests/admin/cli/apps/MyEjb/MyEjb-war/src/java/MyEjbServlet.java
index 7c6b79d..0558fea 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/apps/MyEjb/MyEjb-war/src/java/MyEjbServlet.java
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/apps/MyEjb/MyEjb-war/src/java/MyEjbServlet.java
@@ -23,11 +23,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 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;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/apps/Zombie/src/main/java/com/elf/enterprise/zombie/Zombie.java b/appserver/tests/appserv-tests/devtests/admin/cli/apps/Zombie/src/main/java/com/elf/enterprise/zombie/Zombie.java
index ec18f52..a4f19f0 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/apps/Zombie/src/main/java/com/elf/enterprise/zombie/Zombie.java
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/apps/Zombie/src/main/java/com/elf/enterprise/zombie/Zombie.java
@@ -22,8 +22,8 @@
 package com.elf.enterprise.zombie;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/batch/pay-roll-job-with-ejb/stateless/ejb/com/oracle/javaee7/samples/batch/simple/JobSubmitterServlet.java b/appserver/tests/appserv-tests/devtests/batch/pay-roll-job-with-ejb/stateless/ejb/com/oracle/javaee7/samples/batch/simple/JobSubmitterServlet.java
index ddeb2ad..7a167e6 100644
--- a/appserver/tests/appserv-tests/devtests/batch/pay-roll-job-with-ejb/stateless/ejb/com/oracle/javaee7/samples/batch/simple/JobSubmitterServlet.java
+++ b/appserver/tests/appserv-tests/devtests/batch/pay-roll-job-with-ejb/stateless/ejb/com/oracle/javaee7/samples/batch/simple/JobSubmitterServlet.java
@@ -25,10 +25,10 @@
 import jakarta.batch.operations.JobOperator;
 import jakarta.batch.runtime.BatchRuntime;
 import jakarta.batch.runtime.JobExecution;
-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 jakarta.batch.runtime.context.BatchContext;
 import jakarta.enterprise.concurrent.ManagedExecutorService;
 import jakarta.inject.Inject;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/alternatives/servlet/AlternativesServlet.java b/appserver/tests/appserv-tests/devtests/cdi/alternatives/servlet/AlternativesServlet.java
index 155dab5..45224a4 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/alternatives/servlet/AlternativesServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/alternatives/servlet/AlternativesServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import test.artifacts.Asynchronous;
 import test.artifacts.AsynchronousPaymentProcessor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/ambiguous-deps/servlet/AmbiguousDependenciesServlet.java b/appserver/tests/appserv-tests/devtests/cdi/ambiguous-deps/servlet/AmbiguousDependenciesServlet.java
index 8a2da58..2a9338b 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/ambiguous-deps/servlet/AmbiguousDependenciesServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/ambiguous-deps/servlet/AmbiguousDependenciesServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import test.artifacts.Asynchronous;
 import test.artifacts.AsynchronousPaymentProcessor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/decorators/decorators-over-beans-from-producer-methods/servlet/test/servlet/TestDecorationOfBeansFromProducerMethodsTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/decorators/decorators-over-beans-from-producer-methods/servlet/test/servlet/TestDecorationOfBeansFromProducerMethodsTestServlet.java
index e17fb55..172a7e3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/decorators/decorators-over-beans-from-producer-methods/servlet/test/servlet/TestDecorationOfBeansFromProducerMethodsTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/decorators/decorators-over-beans-from-producer-methods/servlet/test/servlet/TestDecorationOfBeansFromProducerMethodsTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.ProducedAtRuntime;
 import test.beans.TestBeanDecorator;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/decorators/simple-decorator/servlet/test/servlet/SimpleDecoratorTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/decorators/simple-decorator/servlet/test/servlet/SimpleDecoratorTestServlet.java
index 13d64f4..897cab3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/decorators/simple-decorator/servlet/test/servlet/SimpleDecoratorTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/decorators/simple-decorator/servlet/test/servlet/SimpleDecoratorTestServlet.java
@@ -21,11 +21,11 @@
 import java.math.BigDecimal;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Account;
 import test.beans.LargeTransactionDecorator;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/conditional-observer/servlet/test/servlet/ConditionalObserverTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/events/conditional-observer/servlet/test/servlet/ConditionalObserverTestServlet.java
index 3ec2055..a8e4f0e 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/conditional-observer/servlet/test/servlet/ConditionalObserverTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/conditional-observer/servlet/test/servlet/ConditionalObserverTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.SecondTestEventConditionalObserver;
 import test.beans.TestEventConditionalObserver;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/event-producers/servlet/test/servlet/SimpleEventObserverTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/events/event-producers/servlet/test/servlet/SimpleEventObserverTestServlet.java
index 08b4402..57e8c3b 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/event-producers/servlet/test/servlet/SimpleEventObserverTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/event-producers/servlet/test/servlet/SimpleEventObserverTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestEventObserver;
 import test.beans.TestEventProducer;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/event-qualifiers-with-members/servlet/test/servlet/ConditionalObserverTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/events/event-qualifiers-with-members/servlet/test/servlet/ConditionalObserverTestServlet.java
index a26f429..e577e60 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/event-qualifiers-with-members/servlet/test/servlet/ConditionalObserverTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/event-qualifiers-with-members/servlet/test/servlet/ConditionalObserverTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestEventConditionalObserver;
 import test.beans.TestEventProducer;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/multiple-event-qualifiers/servlet/test/servlet/MultipleEventQualifierTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/events/multiple-event-qualifiers/servlet/test/servlet/MultipleEventQualifierTestServlet.java
index 887bdca..315c7fd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/multiple-event-qualifiers/servlet/test/servlet/MultipleEventQualifierTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/multiple-event-qualifiers/servlet/test/servlet/MultipleEventQualifierTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestEventObserver;
 import test.beans.TestEventProducer;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/events/simple-event-observers/servlet/test/servlet/SimpleEventObserverTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/events/simple-event-observers/servlet/test/servlet/SimpleEventObserverTestServlet.java
index f563edf..9d1a56a 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/events/simple-event-observers/servlet/test/servlet/SimpleEventObserverTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/events/simple-event-observers/servlet/test/servlet/SimpleEventObserverTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestEventObserver;
 import test.beans.TestRequestScopedBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/InjectionPointFilter.java b/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/InjectionPointFilter.java
index 0fd897e..c884226 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/InjectionPointFilter.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/InjectionPointFilter.java
@@ -16,13 +16,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.annotation.WebFilter;
+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.annotation.WebFilter;
 
 import test.artifacts.HttpParams;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/InjectionPointServlet.java b/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/InjectionPointServlet.java
index 8ff75ad..9c95d13 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/InjectionPointServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/InjectionPointServlet.java
@@ -20,11 +20,11 @@
 
 import jakarta.enterprise.inject.Instance;
 import jakarta.inject.Inject;
-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;
 
 import test.artifacts.HttpParam;
 import test.artifacts.HttpParams;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/test/artifacts/HttpParams.java b/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/test/artifacts/HttpParams.java
index 8b85e55..5e2793f 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/test/artifacts/HttpParams.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/injection-point/servlet/test/artifacts/HttpParams.java
@@ -21,7 +21,7 @@
 import jakarta.enterprise.context.RequestScoped;
 import jakarta.enterprise.inject.Produces;
 import jakarta.enterprise.inject.spi.InjectionPoint;
-import javax.servlet.ServletRequest;
+import jakarta.servlet.ServletRequest;
 
 @RequestScoped
 public class HttpParams {
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-bean-validation/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-bean-validation/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
index a549990..793e5c5 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-bean-validation/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-bean-validation/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.AnotherTestBean;
 import test.beans.Preferred;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-inheritance/servlet/test/servlet/BindingTypeInheritanceTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-inheritance/servlet/test/servlet/BindingTypeInheritanceTestServlet.java
index 0393c78..27bc05d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-inheritance/servlet/test/servlet/BindingTypeInheritanceTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-inheritance/servlet/test/servlet/BindingTypeInheritanceTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.SecondShoppingCart;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-with-members/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-with-members/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
index b2adca2..088d6ce 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-with-members/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-binding-type-with-members/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.RequiresNewTransactionInterceptor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-business-method-interception/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-business-method-interception/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
index c02d26f..61b8aea 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-business-method-interception/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-business-method-interception/servlet/test/servlet/BusinessMethodInterceptorTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-invalid-interceptor-specified-at-beans-xml/servlet/test/servlet/InvalidInterceptorInBeansXMLTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-invalid-interceptor-specified-at-beans-xml/servlet/test/servlet/InvalidInterceptorInBeansXMLTestServlet.java
index 8b28649..8aec06a 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-invalid-interceptor-specified-at-beans-xml/servlet/test/servlet/InvalidInterceptorInBeansXMLTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-invalid-interceptor-specified-at-beans-xml/servlet/test/servlet/InvalidInterceptorInBeansXMLTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptor-binding-annotations/servlet/test/servlet/MultipleInterceptorBindingAnnotationsTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptor-binding-annotations/servlet/test/servlet/MultipleInterceptorBindingAnnotationsTestServlet.java
index 346998c..f8c0a8d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptor-binding-annotations/servlet/test/servlet/MultipleInterceptorBindingAnnotationsTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptor-binding-annotations/servlet/test/servlet/MultipleInterceptorBindingAnnotationsTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.SecondShoppingCart;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptors-for-a-binding-type/servlet/test/servlet/MultipleInterceptorImplementationsTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptors-for-a-binding-type/servlet/test/servlet/MultipleInterceptorImplementationsTestServlet.java
index 72f0114..d5cf6f3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptors-for-a-binding-type/servlet/test/servlet/MultipleInterceptorImplementationsTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-multiple-interceptors-for-a-binding-type/servlet/test/servlet/MultipleInterceptorImplementationsTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.SecondTransactionInterceptor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-at-interceptors/servlet/test/servlet/InterceptorsTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-at-interceptors/servlet/test/servlet/InterceptorsTestServlet.java
index 921d259..146ff27 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-at-interceptors/servlet/test/servlet/InterceptorsTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-at-interceptors/servlet/test/servlet/InterceptorsTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.SecureInterceptor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-at-interceptors/servlet/test/servlet/InterceptorsTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-at-interceptors/servlet/test/servlet/InterceptorsTestServlet.java
index 9196c91..7fc4b9c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-at-interceptors/servlet/test/servlet/InterceptorsTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-at-interceptors/servlet/test/servlet/InterceptorsTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 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;
 
 import org.glassfish.cditest.security.interceptor.SecurityInterceptor;
 import org.glassfish.cditest.user.api.UserService;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-interceptor-bindings/servlet/test/servlet/InterceptorsTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-interceptor-bindings/servlet/test/servlet/InterceptorsTestServlet.java
index 9196c91..7fc4b9c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-interceptor-bindings/servlet/test/servlet/InterceptorsTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/interceptors/interceptors-use-of-interceptors-in-ejbs-through-interceptor-bindings/servlet/test/servlet/InterceptorsTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 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;
 
 import org.glassfish.cditest.security.interceptor.SecurityInterceptor;
 import org.glassfish.cditest.user.api.UserService;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-injection-no-interface-ejb/servlet/test/servlet/NoInterfaceEJBTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-injection-no-interface-ejb/servlet/test/servlet/NoInterfaceEJBTestServlet.java
index 63a29a4..3d3829f 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-injection-no-interface-ejb/servlet/test/servlet/NoInterfaceEJBTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-injection-no-interface-ejb/servlet/test/servlet/NoInterfaceEJBTestServlet.java
@@ -20,21 +20,21 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 import jakarta.transaction.UserTransaction;
 import test.beans.TestBeanInterface;
 import test.beans.artifacts.InjectViaAtEJB;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-extended-transaction-context/servlet/test/servlet/JPAResourceInjectionServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-extended-transaction-context/servlet/test/servlet/JPAResourceInjectionServlet.java
index 42a4bd7..a2320bd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-extended-transaction-context/servlet/test/servlet/JPAResourceInjectionServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-extended-transaction-context/servlet/test/servlet/JPAResourceInjectionServlet.java
@@ -24,11 +24,11 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 import jakarta.transaction.UserTransaction;
 
 import test.beans.TestBeanInterface;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-with-resource-declaration-in-another-jar/war/com/acme/servlet/HelloServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-with-resource-declaration-in-another-jar/war/com/acme/servlet/HelloServlet.java
index 1c0ce55..f6a904d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-with-resource-declaration-in-another-jar/war/com/acme/servlet/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection-with-resource-declaration-in-another-jar/war/com/acme/servlet/HelloServlet.java
@@ -24,11 +24,11 @@
 import jakarta.inject.Inject;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 
 import com.acme.ejb.api.Hello;
 import com.acme.util.TestDependentBeanInLib;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection/servlet/test/servlet/JPAResourceInjectionServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection/servlet/test/servlet/JPAResourceInjectionServlet.java
index dbdf150..4189144 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection/servlet/test/servlet/JPAResourceInjectionServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/em-resource-injection/servlet/test/servlet/JPAResourceInjectionServlet.java
@@ -24,11 +24,11 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 import jakarta.transaction.UserTransaction;
 
 import test.beans.TestBeanInterface;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/javaee-component-resource-typesafe-injection/servlet/test/servlet/TypesafeJavaEEResourceInjectionTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/javaee-component-resource-typesafe-injection/servlet/test/servlet/TypesafeJavaEEResourceInjectionTestServlet.java
index c4347b6..d28273c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/javaee-component-resource-typesafe-injection/servlet/test/servlet/TypesafeJavaEEResourceInjectionTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/javaee-component-resource-typesafe-injection/servlet/test/servlet/TypesafeJavaEEResourceInjectionTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 import javax.sql.DataSource;
 
 import test.beans.TestBeanInterface;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field-in-library-jar/servlet/test/servlet/JMSResourceInjectionInLibraryBeanArchiveTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field-in-library-jar/servlet/test/servlet/JMSResourceInjectionInLibraryBeanArchiveTestServlet.java
index 51e620a..63ff52d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field-in-library-jar/servlet/test/servlet/JMSResourceInjectionInLibraryBeanArchiveTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field-in-library-jar/servlet/test/servlet/JMSResourceInjectionInLibraryBeanArchiveTestServlet.java
@@ -22,11 +22,11 @@
 import jakarta.inject.Inject;
 import jakarta.jms.Queue;
 import jakarta.jms.Session;
-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;
 
 import test.beans.TestBeanInterface;
 import test.beans.artifacts.Preferred;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field/servlet/test/servlet/JMSResourceInjectionInLibraryBeanArchiveTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field/servlet/test/servlet/JMSResourceInjectionInLibraryBeanArchiveTestServlet.java
index 51e620a..63ff52d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field/servlet/test/servlet/JMSResourceInjectionInLibraryBeanArchiveTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jms-resource-producer-field/servlet/test/servlet/JMSResourceInjectionInLibraryBeanArchiveTestServlet.java
@@ -22,11 +22,11 @@
 import jakarta.inject.Inject;
 import jakarta.jms.Queue;
 import jakarta.jms.Session;
-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;
 
 import test.beans.TestBeanInterface;
 import test.beans.artifacts.Preferred;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-non-serializable/servlet/test/servlet/JPAResourceInjectionServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-non-serializable/servlet/test/servlet/JPAResourceInjectionServlet.java
index 6f44b12..3247750 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-non-serializable/servlet/test/servlet/JPAResourceInjectionServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-non-serializable/servlet/test/servlet/JPAResourceInjectionServlet.java
@@ -24,11 +24,11 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 import jakarta.transaction.UserTransaction;
 
 import test.beans.TestBeanInterface;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-passivating-scope/servlet/test/servlet/JPAResourceInjectionServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-passivating-scope/servlet/test/servlet/JPAResourceInjectionServlet.java
index eb0ecf1..6201f70 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-passivating-scope/servlet/test/servlet/JPAResourceInjectionServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-passivating-scope/servlet/test/servlet/JPAResourceInjectionServlet.java
@@ -24,11 +24,11 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 import jakarta.transaction.UserTransaction;
 
 import test.beans.TestBeanInterface;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-with-singleton-ejb-producer/servlet/test/servlet/JPAResourceInjectionServletFromSingletonEJB.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-with-singleton-ejb-producer/servlet/test/servlet/JPAResourceInjectionServletFromSingletonEJB.java
index 7b1e7e1..8f7b2f9 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-with-singleton-ejb-producer/servlet/test/servlet/JPAResourceInjectionServletFromSingletonEJB.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection-with-singleton-ejb-producer/servlet/test/servlet/JPAResourceInjectionServletFromSingletonEJB.java
@@ -24,11 +24,11 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 import jakarta.transaction.UserTransaction;
 
 import test.beans.TestBeanInterface;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection/servlet/test/servlet/JPAResourceInjectionServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection/servlet/test/servlet/JPAResourceInjectionServlet.java
index c269997..dc4e18f 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection/servlet/test/servlet/JPAResourceInjectionServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/jpa-resource-injection/servlet/test/servlet/JPAResourceInjectionServlet.java
@@ -24,11 +24,11 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 import jakarta.transaction.UserTransaction;
 
 import test.beans.TestBeanInterface;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/no-interface-ejb/servlet/test/servlet/NoInterfaceEJBTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/no-interface-ejb/servlet/test/servlet/NoInterfaceEJBTestServlet.java
index 1499ab0..df000ca 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/no-interface-ejb/servlet/test/servlet/NoInterfaceEJBTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/no-interface-ejb/servlet/test/servlet/NoInterfaceEJBTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestBeanInterface;
 import test.beans.artifacts.InjectViaAtEJB;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/slsb-injection-into-sessionscoped/servlet/test/servlet/SLSBInjectionIntoSessionScopedBeanTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/slsb-injection-into-sessionscoped/servlet/test/servlet/SLSBInjectionIntoSessionScopedBeanTestServlet.java
index 3b4304c..4ac9274 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/slsb-injection-into-sessionscoped/servlet/test/servlet/SLSBInjectionIntoSessionScopedBeanTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-component-resources/slsb-injection-into-sessionscoped/servlet/test/servlet/SLSBInjectionIntoSessionScopedBeanTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestBeanInterface;
 import test.beans.TestSessionScopedBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/bean-in-lib-dir-used-by-ejb-in-ear/war/com/acme/servlet/HelloServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/bean-in-lib-dir-used-by-ejb-in-ear/war/com/acme/servlet/HelloServlet.java
index c1b8749..550b0a3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/bean-in-lib-dir-used-by-ejb-in-ear/war/com/acme/servlet/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/bean-in-lib-dir-used-by-ejb-in-ear/war/com/acme/servlet/HelloServlet.java
@@ -23,11 +23,11 @@
 import jakarta.ejb.EJB;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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;
 
 import com.acme.ejb.api.Hello;
 import com.acme.util.TestDatabase;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/SimpleJavaEEIntegrationTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/SimpleJavaEEIntegrationTestServlet.java
index d5ad616..66ec9c1 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/SimpleJavaEEIntegrationTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/builtin-beans/servlet/test/servlet/SimpleJavaEEIntegrationTestServlet.java
@@ -21,11 +21,11 @@
 import java.security.Principal;
 
 import jakarta.inject.Inject;
-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;
 import javax.sql.DataSource;
 import jakarta.transaction.UserTransaction;
 import jakarta.validation.Validator;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/servlet/test/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/servlet/test/servlet/TestServlet.java
index b88e975..61cb0df 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/servlet/test/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-extension-alternative/servlet/test/servlet/TestServlet.java
@@ -29,12 +29,12 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.transaction.UserTransaction;
 
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection/servlet/test/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection/servlet/test/servlet/TestServlet.java
index e771242..395118c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection/servlet/test/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-javaee-injection/servlet/test/servlet/TestServlet.java
@@ -29,12 +29,12 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.transaction.UserTransaction;
 
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed/servlet/TestServlet.java
index 5cace30..40ea2ec 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering-reversed/servlet/TestServlet.java
@@ -19,12 +19,12 @@
 import java.util.Enumeration;
 import java.util.Set;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.inject.Inject;
 import jakarta.enterprise.inject.Any;
 import jakarta.enterprise.inject.Default;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering/servlet/TestServlet.java
index 5cace30..40ea2ec 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib-ordering/servlet/TestServlet.java
@@ -19,12 +19,12 @@
 import java.util.Enumeration;
 import java.util.Set;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.inject.Inject;
 import jakarta.enterprise.inject.Any;
 import jakarta.enterprise.inject.Default;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib/servlet/TestServlet.java
index 80efc2e..908a5cd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/cdi-servlet-3.0-annotation-with-web-inf-lib/servlet/TestServlet.java
@@ -19,12 +19,12 @@
 import java.util.Enumeration;
 import java.util.Set;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.inject.Inject;
 import jakarta.enterprise.inject.Any;
 import jakarta.enterprise.inject.Default;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/no-interface-local-view-proxy-serializable/servlet/test/servlet/NoInterfaceProxySerializableEJBTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/no-interface-local-view-proxy-serializable/servlet/test/servlet/NoInterfaceProxySerializableEJBTestServlet.java
index 245f48b..ff7f1ed 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/no-interface-local-view-proxy-serializable/servlet/test/servlet/NoInterfaceProxySerializableEJBTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/no-interface-local-view-proxy-serializable/servlet/test/servlet/NoInterfaceProxySerializableEJBTestServlet.java
@@ -25,11 +25,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestBeanInterface;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/normal-bean-injection-ear/war/com/acme/NormalLookupInEARServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/normal-bean-injection-ear/war/com/acme/NormalLookupInEARServlet.java
index 8936285..97db2bd 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/normal-bean-injection-ear/war/com/acme/NormalLookupInEARServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/normal-bean-injection-ear/war/com/acme/NormalLookupInEARServlet.java
@@ -24,12 +24,12 @@
 import jakarta.enterprise.inject.Instance;
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
-import javax.servlet.ServletConfig;
-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.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @SuppressWarnings("serial")
 @WebServlet(urlPatterns = "/HelloServlet", loadOnStartup = 1)
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/war/com/acme/ProgrammaticLookupInEARServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/war/com/acme/ProgrammaticLookupInEARServlet.java
index 5b189b7..eb63768 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/war/com/acme/ProgrammaticLookupInEARServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/programmatic-lookup-ear/war/com/acme/ProgrammaticLookupInEARServlet.java
@@ -24,12 +24,12 @@
 import jakarta.enterprise.inject.Instance;
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
-import javax.servlet.ServletConfig;
-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.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @SuppressWarnings("serial")
 @WebServlet(urlPatterns = "/HelloServlet", loadOnStartup = 1)
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextBridge.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextBridge.java
index 749cbaf..0aab361 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextBridge.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextBridge.java
@@ -21,9 +21,9 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.util.AnnotationLiteral;
 import jakarta.inject.Inject;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
 
 import tests.cdi.artifacts.Destroyed;
 import tests.cdi.artifacts.Initialized;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextProducer.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextProducer.java
index 297d8b2..7dd695c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextProducer.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/context/ServletContextProducer.java
@@ -22,8 +22,8 @@
 //import jakarta.enterprise.inject.Produces;
 //import jakarta.enterprise.inject.spi.BeanManager;
 //import jakarta.inject.Inject;
-//import javax.servlet.ServletContext;
-//import javax.servlet.ServletContextEvent;
+//import jakarta.servlet.ServletContext;
+//import jakarta.servlet.ServletContextEvent;
 //
 //import tests.cdi.artifacts.Destroyed;
 //import tests.cdi.artifacts.Initialized;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/servlet/TestBean.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/servlet/TestBean.java
index 276d9ab..421f836 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/servlet/TestBean.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/servlet/TestBean.java
@@ -17,7 +17,7 @@
 package tests.cdi.servlet;
 
 import jakarta.inject.Inject;
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 //Simple TestBean to test CDI. 
 public class TestBean
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/servlet/TestServlet.java
index 79cd22c..2b263ac 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/servlet-context-injection-cdi/servlet/tests/cdi/servlet/TestServlet.java
@@ -22,13 +22,13 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name = "mytest", urlPatterns = { "/myurl" }, initParams = {
         @WebInitParam(name = "n1", value = "v1"),
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-noargconstructor-missing/servlet/test/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-noargconstructor-missing/servlet/test/servlet/TestServlet.java
index 6caedba..173b030 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-noargconstructor-missing/servlet/test/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-noargconstructor-missing/servlet/test/servlet/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import test.beans.TestManagedBean;
 import test.interceptors.TestAroundInvokeInterceptor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/servlet/TestServlet.java
index e3d3f10..b1e5939 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/simple-managed-bean-interceptor-nonnull-package/servlet/test/servlet/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import test.beans.TestManagedBean;
 import test.interceptors.TestAroundInvokeInterceptor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/app/src/mdb/MyMessageBean.java
index 2be0f81..effe4dc 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/javaee-integration/standalone-resource-adapter-as-bean-archive/app/src/mdb/MyMessageBean.java
@@ -29,8 +29,8 @@
 import javax.naming.*;
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-lifecycle-polymorphism/servlet/com/tests/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-lifecycle-polymorphism/servlet/com/tests/TestServlet.java
index 6075a2c..6337b0d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-lifecycle-polymorphism/servlet/com/tests/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-lifecycle-polymorphism/servlet/com/tests/TestServlet.java
@@ -21,12 +21,12 @@
 
 import jakarta.annotation.Generated;
 import jakarta.annotation.Resource;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @SuppressWarnings("serial")
 @WebServlet(name="mytest",
diff --git a/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-via-resource-injection/servlet/com/tests/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-via-resource-injection/servlet/com/tests/TestServlet.java
index 8719376..6aec84e 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-via-resource-injection/servlet/com/tests/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/managed-beans/managed-bean-via-resource-injection/servlet/com/tests/TestServlet.java
@@ -19,12 +19,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @SuppressWarnings("serial")
 @WebServlet(name="mytest",
diff --git a/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/descriptor/MANIFEST.MF b/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/descriptor/MANIFEST.MF
index ee90990..9e6ef2a 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/descriptor/MANIFEST.MF
+++ b/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/descriptor/MANIFEST.MF
@@ -17,5 +17,5 @@
 Bundle-SymbolicName: tests.cdi.simple-cdi-osgi-test
 Web-ContextPath: /test
 Import-Package: jakarta.enterprise.context,jakarta.enterprise.inject,javax
- .inject,jakarta.enterprise.inject.spi,javax.servlet,javax.servlet.annotation,javax.servlet.http,javax.naming
+ .inject,jakarta.enterprise.inject.spi,jakarta.servlet,jakarta.servlet.annotation,jakarta.servlet.http,javax.naming
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/servlet/tests/cdi/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/servlet/tests/cdi/TestServlet.java
index 67f230a..177f830 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/servlet/tests/cdi/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/servlet/tests/cdi/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.inject.Inject;
 import jakarta.enterprise.inject.spi.BeanManager;
 import javax.naming.InitialContext;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-interface/servlet/test/servlet/PortableExtensionBeanInterfaceTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-interface/servlet/test/servlet/PortableExtensionBeanInterfaceTestServlet.java
index 50a7793..5aa8ae9 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-interface/servlet/test/servlet/PortableExtensionBeanInterfaceTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-interface/servlet/test/servlet/PortableExtensionBeanInterfaceTestServlet.java
@@ -33,11 +33,11 @@
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-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;
 
 import test.beans.DuplicateTestBean;
 import test.beans.Preferred;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-manager/servlet/test/servlet/PortableExtensionBeanManagerTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-manager/servlet/test/servlet/PortableExtensionBeanManagerTestServlet.java
index af563bd..5861ffb 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-manager/servlet/test/servlet/PortableExtensionBeanManagerTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/bean-manager/servlet/test/servlet/PortableExtensionBeanManagerTestServlet.java
@@ -27,11 +27,11 @@
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-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;
 
 import test.beans.Preferred;
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
index 66ddeef..0ce5910 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
@@ -29,11 +29,11 @@
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-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;
 
 import com.sun.xml.bind.v2.schemagen.xmlschema.Annotated;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/servlet/test/servlet/PortableExtensionBeanRegistrationTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/servlet/test/servlet/PortableExtensionBeanRegistrationTestServlet.java
index 001440b..efafc44 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/servlet/test/servlet/PortableExtensionBeanRegistrationTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration-extension-in-lib/servlet/test/servlet/PortableExtensionBeanRegistrationTestServlet.java
@@ -29,11 +29,11 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.util.AnnotationLiteral;
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/servlet/test/servlet/PortableExtensionBeanRegistrationTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/servlet/test/servlet/PortableExtensionBeanRegistrationTestServlet.java
index 886b2ec..9b9acca 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/servlet/test/servlet/PortableExtensionBeanRegistrationTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/new-bean-registration/servlet/test/servlet/PortableExtensionBeanRegistrationTestServlet.java
@@ -29,11 +29,11 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.util.AnnotationLiteral;
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/package-private-extension-constructor/servlet/test/servlet/PackagePrivateConstructorInPortableExtensionTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/package-private-extension-constructor/servlet/test/servlet/PackagePrivateConstructorInPortableExtensionTestServlet.java
index 4b5c220..3df88b2 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/package-private-extension-constructor/servlet/test/servlet/PackagePrivateConstructorInPortableExtensionTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/package-private-extension-constructor/servlet/test/servlet/PackagePrivateConstructorInPortableExtensionTestServlet.java
@@ -23,11 +23,11 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.util.AnnotationLiteral;
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
index 6cefa08..bfd9aa5 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/process-injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
@@ -29,11 +29,11 @@
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-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;
 
 /**
  * @author Jitendra Kotamraju
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/simple-portable-extension/servlet/test/servlet/SimplePortableExtensionTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/simple-portable-extension/servlet/test/servlet/SimplePortableExtensionTestServlet.java
index 90a936d..84a868a 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/simple-portable-extension/servlet/test/servlet/SimplePortableExtensionTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/simple-portable-extension/servlet/test/servlet/SimplePortableExtensionTestServlet.java
@@ -23,11 +23,11 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.util.AnnotationLiteral;
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.TestBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/servlet/test/servlet/ProducerMethodDisposesTestServlet1.java b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/servlet/test/servlet/ProducerMethodDisposesTestServlet1.java
index 02d68e9..7c1a597 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/servlet/test/servlet/ProducerMethodDisposesTestServlet1.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/servlet/test/servlet/ProducerMethodDisposesTestServlet1.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.TestQualifier;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/servlet/test/servlet/ProducerMethodDisposesTestServlet2.java b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/servlet/test/servlet/ProducerMethodDisposesTestServlet2.java
index a7bfd94..535c1f4 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/servlet/test/servlet/ProducerMethodDisposesTestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-disposes/servlet/test/servlet/ProducerMethodDisposesTestServlet2.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.BeanSetup;
 import test.beans.TestRequestScopedBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-qualifiers/servlet/ProducerMethodTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-qualifiers/servlet/ProducerMethodTestServlet.java
index 1d3055a..7fb8952 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-qualifiers/servlet/ProducerMethodTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-qualifiers/servlet/ProducerMethodTestServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name = "mytest", urlPatterns = { "/myurl" }, initParams = {
         @WebInitParam(name = "n1", value = "v1"),
diff --git a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/servlet/test/servlet/ProducerMethodRuntimePolymorhpismTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/servlet/test/servlet/ProducerMethodRuntimePolymorhpismTestServlet.java
index 46fb806..ad462ce 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/servlet/test/servlet/ProducerMethodRuntimePolymorhpismTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/producer-methods/producer-method-runtimepolymorphism/servlet/test/servlet/ProducerMethodRuntimePolymorhpismTestServlet.java
@@ -21,11 +21,11 @@
 
 import jakarta.enterprise.context.SessionScoped;
 import jakarta.inject.Inject;
-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;
 
 import test.beans.CreditCardPaymentStrategy;
 import test.beans.PaymentStrategy;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/programmatic-lookup/servlet/test/servlets/ProgrammaticLookupServlet.java b/appserver/tests/appserv-tests/devtests/cdi/programmatic-lookup/servlet/test/servlets/ProgrammaticLookupServlet.java
index a23bac6..7ee0671 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/programmatic-lookup/servlet/test/servlets/ProgrammaticLookupServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/programmatic-lookup/servlet/test/servlets/ProgrammaticLookupServlet.java
@@ -24,12 +24,12 @@
 import jakarta.enterprise.inject.Instance;
 import jakarta.enterprise.util.AnnotationLiteral;
 import jakarta.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import test.artifacts.Asynchronous;
 import test.artifacts.ChequePaymentProcessor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/qualifiers/servlet/QualifierServlet.java b/appserver/tests/appserv-tests/devtests/cdi/qualifiers/servlet/QualifierServlet.java
index 553b35f..5f32d68 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/qualifiers/servlet/QualifierServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/qualifiers/servlet/QualifierServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import test.artifacts.Asynchronous;
 import test.artifacts.AsynchronousPaymentProcessor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/dependent-scope/servlet/test/servlets/DependentScopeTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/scopes/dependent-scope/servlet/test/servlets/DependentScopeTestServlet.java
index b9a75f7..d049a4b 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/dependent-scope/servlet/test/servlets/DependentScopeTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/dependent-scope/servlet/test/servlets/DependentScopeTestServlet.java
@@ -22,11 +22,11 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
-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;
 
 import test.beans.TestDependentScopedBean;
 import test.beans.TestRequestScopedBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/servlet/test/servlets/NewQualifierTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/servlet/test/servlets/NewQualifierTestServlet.java
index 04af4d2..975a355 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/servlet/test/servlets/NewQualifierTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/new-qualifier/servlet/test/servlets/NewQualifierTestServlet.java
@@ -22,11 +22,11 @@
 import jakarta.enterprise.inject.New;
 import jakarta.enterprise.inject.Instance;
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestRequestScopedBean;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/scopes/singleton-scope/servlet/test/servlets/SingletonScopedServlet.java b/appserver/tests/appserv-tests/devtests/cdi/scopes/singleton-scope/servlet/test/servlets/SingletonScopedServlet.java
index 95c925b..a7694cb 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/scopes/singleton-scope/servlet/test/servlets/SingletonScopedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/scopes/singleton-scope/servlet/test/servlets/SingletonScopedServlet.java
@@ -22,11 +22,11 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
-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;
 
 import test.beans.TestSessionScopedBean;
 import test.beans.TestSingletonScopedBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-3.0-annotation/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-3.0-annotation/servlet/TestServlet.java
index f4ebb67..af6fae3 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-3.0-annotation/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-3.0-annotation/servlet/TestServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.inject.Inject;
 import jakarta.enterprise.inject.spi.BeanManager;
 import javax.naming.InitialContext;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/servlet/TestFilter.java
index a398802..0eacf6d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/servlet/TestFilter.java
@@ -18,13 +18,13 @@
 
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.inject.Inject;
-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.annotation.WebFilter;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns = "/*")
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/servlet/TestServlet.java
index 2cab270..f9dead6 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/cdi-servlet-filter-3.0-annotation/servlet/TestServlet.java
@@ -20,11 +20,11 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
-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;
 
 @WebServlet(name="mytest", urlPatterns={"/myurl"})
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/foo.txt b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/foo.txt
deleted file mode 100644
index b76d6e1..0000000
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/foo.txt
+++ /dev/null
@@ -1,1987 +0,0 @@
-Apache Ant version 1.7.1 compiled on June 27 2008
-Buildfile: build.xml
-Detected Java version: 1.6 in: /space/apps/jdk1.6.0_22/jre
-Detected OS: Linux
-parsing buildfile /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml with URI = file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/properties.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/common.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.properties
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/run.xml
-[antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found.
- [property] Loading Environment env.
-Property "BASH_SOURCE" has not been set
-Property "LINENO" has not been set
-Property "FUNCNAME[0]" has not been set
-Property "NEW_PWD" has not been set
-Property "build.classes.dir" has not been set
- [macrodef] creating macro  run-test
-Build sequence for target(s) `clean' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setS1ASclassPath:
-[pathconvert] Set property s1as.classpath = /export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/acc-config.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/admin-cli.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/admin-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/admin-util.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/amx-all.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/annotation-framework.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ant.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/antlr-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/api-exporter.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/appclient-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/appclient-server-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/appclient.security.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/asm-all-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/auto-depends.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/org.apache.felix.bundlerepository.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/org.apache.felix.eventadmin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/org.apache.felix.scr.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-cdi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-ee-resources.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-ejb-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-javaee-base.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-jdbc.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-jpa.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-jta.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-web-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/backup.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/hibernate-validator.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/branding.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/class-model.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cli-optional.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cluster-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cluster-cli.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cluster-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cluster-ssh.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-ejb-mapping.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-enhancer.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-generator-database.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-model.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-support-ejb.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-support-sqlstore.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-utility.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/common-util.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/config-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/config-types.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/config.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/connectors-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/connectors-inbound-runtime.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/connectors-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/connectors-runtime.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-cluster-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-cluster-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-common-full-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-common-full-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-common-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-community-branding-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-corba-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-corba-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-ejb-lite-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-ejb-lite-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-ejb-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-ejb-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jca-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jca-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jdbc-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jdbc-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jms-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jms-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jts-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jts-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-plugin-service.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-updatecenter-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-web-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-web-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/container-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/dataprovider.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/dbschema-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-autodeploy.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-client.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-javaee-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-javaee-full.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/dol.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ejb-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ejb-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ejb.security.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/el-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/endorsed/javax.annotation.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/endorsed/jaxb-api-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/endorsed/webservices-api-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/flashlight-extra-jdk-packages.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/flashlight-framework.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gf-client-module.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gf-connectors-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gf-ejb-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gf-web-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-asm.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-codegen.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-csiv2-idl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-newtimer.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-omgapi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-orb.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-orbgeneric.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-ee-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-extra-jre-packages.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-mbeanserver.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-naming.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-oracle-jdbc-driver-packages.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-registration.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gmbal-api-only.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gmbal.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gms-adapter.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gms-bootstrap.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-comet.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-config.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-framework-tests.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-framework.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-http-ajp.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-http-server.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-http-servlet.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-http.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-portunif.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-rcm.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-websockets.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ha-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ha-file-store.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ha-shoal-cache-bootstrap.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ha-shoal-cache-store.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/hk2-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/hk2.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/inmemory.jacc.provider.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jackson-core-asl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jackson-jaxrs.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jackson-mapper-asl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jackson-xc.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jaspic.provider.framework.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javaee-kernel.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.ejb.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.enterprise.deploy.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.jms.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.mail.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.management.j2ee.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.persistence.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.resource.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.security.auth.message.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.security.jacc.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.servlet.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.servlet.jsp.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.servlet.jsp.jstl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.transaction.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jaxb-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jaxrpc-api-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jdbc-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-client.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-gf-server.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-gf-statsproviders.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-grizzly2.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-json.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-multipart.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jettison.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jms-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jms-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jmxremote_optional-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jpa-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsf-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsf-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsf-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsftemplating.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsp-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jspcaching-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsr109-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jstl-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jstl-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jta.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jts.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/kernel.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/launcher.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ldapbp-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/libpam4j-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/libvirt.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/load-balancer-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/logging.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/management-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/metro-glue.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/mimepull.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/monitoring-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/orb-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/orb-enabler.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/orb-iiop.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.configadmin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.fileinstall.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.gogo.command.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.gogo.runtime.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.gogo.shell.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.shell.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.shell.remote.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.shell.tui.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.antlr.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.asm.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.jpa.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.jpa.modelgen.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.oracle.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-adapter.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-jpa-extension.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-main.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-resource-locator.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/persistence-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/pkg-client.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/registration-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/registration-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/rest-service.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/scattered-archive-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/schema2beans-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/security.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/server-mgmt.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/shoal-cache.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/shoal-gms-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/shoal-gms-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/simple-glassfish-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/soap-tcp.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ssl-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/stats77.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/transaction-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/trilead-ssh2-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/virt-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/war-util.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-cli.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-embed-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-embed-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-glue.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-gui-plugin-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-ha.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-naming.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/websecurity.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/webservices-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/webservices-extra-jdk-packages.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/webservices-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/webservices.security.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/weld-integration-fragment.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/weld-integration.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/weld-osgi-bundle.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/woodstox-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/work-management.jar
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Property "env.JAVKE_HOME" has not been set
-Property "Derby.classpath" has not been set
-Override ignored for property "cluster.name"
-
-clean:
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-  [antcall] calling target(s) [clean-common] in build file /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-parsing buildfile /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml with URI = file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/properties.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/common.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.properties
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/run.xml
- [property] Loading Environment env.
-Override ignored for property "env.SESSION_MANAGER"
-Override ignored for property "env.LESSOPEN"
-Override ignored for property "env.NORMBGCOLOR"
-Override ignored for property "env.CVSROOT"
-Override ignored for property "env.MY_ANT_HOME"
-Override ignored for property "env.PWD"
-Override ignored for property "env.XDG_SESSION_COOKIE"
-Override ignored for property "env.LANG"
-Override ignored for property "env.WS"
-Override ignored for property "env.AWT_TOOLKIT"
-Override ignored for property "env.DEFAULTS_PATH"
-Override ignored for property "env.HISTSIZE"
-Override ignored for property "env.INSTALL_ROOT"
-Override ignored for property "env.DISPLAY"
-Override ignored for property "env._"
-Override ignored for property "env.USER"
-Override ignored for property "env.HISTCONTROL"
-Override ignored for property "env.SHELL"
-Override ignored for property "env.NLSPATH"
-Override ignored for property "env.XDG_DATA_DIRS"
-Override ignored for property "env.DESKTOP_SESSION"
-Override ignored for property "env.HISTFILESIZE"
-Override ignored for property "env.APS_HOME"
-Override ignored for property "env.WIDTH"
-Override ignored for property "env.JAVANETCVSROOT"
-Override ignored for property "env.PATH"
-Override ignored for property "env.no_proxy"
-Override ignored for property "env.NORMFGCOLOR"
-Override ignored for property "env.LC_CTYPE"
-Override ignored for property "env.DBUS_SESSION_BUS_ADDRESS"
-Override ignored for property "env.REALPLAYER_HOME"
-Override ignored for property "env.SSH_AGENT_PID"
-Override ignored for property "env.SHLVL"
-Override ignored for property "env.GDMSESSION"
-Override ignored for property "env.GNOME_DESKTOP_SESSION_ID"
-Override ignored for property "env.GDM_KEYBOARD_LAYOUT"
-Override ignored for property "env.GNOME_KEYRING_PID"
-Override ignored for property "env.OS"
-Override ignored for property "env.LOGNAME"
-Override ignored for property "env.ALSA_OUTPUT_PORTS"
-Override ignored for property "env.SCUMMVM_PORT"
-Override ignored for property "env.JAVA_HOME"
-Override ignored for property "env.TERM"
-Override ignored for property "env.QLTESTRES"
-Override ignored for property "env.NO_PROXY"
-Override ignored for property "env.GDM_LANG"
-Override ignored for property "env.DTACH_HOME"
-Override ignored for property "env.OLDPWD"
-Override ignored for property "env.DEBUG"
-Override ignored for property "env.GCONF_LOCAL_LOCKS"
-Override ignored for property "env.M2_HOME"
-Override ignored for property "env.EC2_CERT"
-Override ignored for property "env.WINDOWID"
-Override ignored for property "env.EC2_PRIVATE_KEY"
-Override ignored for property "env.REDCVSROOT"
-Override ignored for property "env.MOZ_DISABLE_PANGO"
-Override ignored for property "env.XFILESEARCHPATH"
-Override ignored for property "env.HOME"
-Override ignored for property "env.ANT_HOME"
-Override ignored for property "env.LD_LIBRARY_PATH"
-Override ignored for property "env.MAVEN_OPTS"
-Override ignored for property "env.SSH_AUTH_SOCK"
-Override ignored for property "env.RBARWIDTH"
-Override ignored for property "env.S1AS_HOME"
-Property "BASH_SOURCE" has not been set
-Property "LINENO" has not been set
-Property "FUNCNAME[0]" has not been set
-Override ignored for property "env.PS4"
-Override ignored for property "env.MAVEN_HOME"
-Override ignored for property "env.XAUTHORITY"
-Property "NEW_PWD" has not been set
-Override ignored for property "env.PS1"
-Override ignored for property "env.MANDATORY_PATH"
-Override ignored for property "env.SPEECHD_PORT"
-Override ignored for property "env.GTK_MODULES"
-Override ignored for property "env.WINDOW_MANAGER"
-Override ignored for property "env.DTRX_HOME"
-Override ignored for property "env.COLORTERM"
-Override ignored for property "env.EDITOR"
-Override ignored for property "env.MALLOC_CHECK_"
-Override ignored for property "env.ORBIT_SOCKETDIR"
-Override ignored for property "env.WP_INSTALL_ROOT"
-Override ignored for property "env.USERNAME"
-Override ignored for property "env.SCALA_HOME"
-Override ignored for property "env.COPE_PATH"
-Override ignored for property "env.QL_HOME"
-Override ignored for property "env.AS_ADMIN_READTIMEOUT"
-Override ignored for property "env.MY_SCRIPT_DIR"
-Override ignored for property "env.GNOME_KEYRING_CONTROL"
-Override ignored for property "env.XDG_CONFIG_DIRS"
-Override ignored for property "env.TODOTXT_HOME"
-Override ignored for property "env.LESSCLOSE"
-Override ignored for property "module"
-Override ignored for property "appname"
-Override ignored for property "assemble"
-Override ignored for property "contextroot"
-Override ignored for property "beans.xml"
-Override ignored for property "target-to-run"
- [macrodef] creating macro  run-test
-Build sequence for target(s) `clean-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-  [antcall] Entering /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml...
-Build sequence for target(s) `clean-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setOSConditions:
-Override ignored for property "isUnix"
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setToolUnix:
-Override ignored for property "APPCLIENT"
-Override ignored for property "ASADMIN"
-Override ignored for property "ASANT"
-Override ignored for property "CAPTURESCHEMA"
-Override ignored for property "CHECKPATCH"
-Override ignored for property "INSTALLPATCH"
-Override ignored for property "JSPC"
-Override ignored for property "LISTPATCH"
-Override ignored for property "PACKAGE-APPCLIENT"
-Override ignored for property "VERIFIER"
-Override ignored for property "RMIC"
-Override ignored for property "TNAMESERV"
-Override ignored for property "WSCOMPILE"
-Override ignored for property "WSIMPORT"
-Override ignored for property "pb.start.server"
-Override ignored for property "pb.start.server1"
-Override ignored for property "IMQDBMGR"
-Override ignored for property "ld.library.path"
-
-setS1ASclassPath:
-Skipped because property 's1as.classpath' set.
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "pe"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "instance.https.port"
-Override ignored for property "admin.domain"
-Override ignored for property "admin.password"
-Override ignored for property "http.address"
-Override ignored for property "http.alternate.port"
-Override ignored for property "ssl.password"
-Override ignored for property "instance.http.port"
-Override ignored for property "resources.dottedname.prefix"
-Override ignored for property "results.mailer"
-Override ignored for property "admin.domain.dir"
-Override ignored for property "admin.user"
-Override ignored for property "config.dottedname.prefix"
-Override ignored for property "instance.name"
-Override ignored for property "precompilejsp"
-Override ignored for property "admin.password.file"
-Override ignored for property "http.port"
-Override ignored for property "https.port"
-Override ignored for property "results.mailee"
-Override ignored for property "appserver.instance.name"
-Override ignored for property "master.password"
-Override ignored for property "http.host"
-Override ignored for property "instance.http.port.3"
-Override ignored for property "instance.http.port.2"
-Override ignored for property "admin.port"
-Override ignored for property "cluster.name"
-Override ignored for property "appserver.instance.dir"
-Override ignored for property "autodeploy.dir"
-Override ignored for property "orb.port"
-Override ignored for property "admin.host"
-Override ignored for property "instance.name.3"
-Override ignored for property "instance.name.2"
-Override ignored for property "results.mailhost"
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
-Override ignored for property "as.props"
-Override ignored for property "authrealmname"
-Override ignored for property "apptype"
-Override ignored for property "db.root"
-Override ignored for property "db.dir"
-Override ignored for property "db.classpath"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Override ignored for property "db.host"
-Override ignored for property "db.url"
-Override ignored for property "db.xaclass"
-Override ignored for property "db.name"
-Override ignored for property "db.driver"
-Override ignored for property "db.port"
-Override ignored for property "db.port.2"
-Override ignored for property "db.class"
-Override ignored for property "db.user"
-Override ignored for property "db.pwd"
-Override ignored for property "db.type"
-Property "env.JAVKE_HOME" has not been set
-Override ignored for property "javke.home"
-Override ignored for property "dest.type"
-Override ignored for property "dest.name"
-Override ignored for property "jms.factory.name"
-Override ignored for property "jms.factory.type"
-Override ignored for property "jms.resource.name"
-Override ignored for property "jms.resource.type"
-Override ignored for property "jdbc.conpool.name"
-Override ignored for property "jdbc.resource.name"
-Override ignored for property "jdbc.resource.type"
-Override ignored for property "pm.resource.name"
-Override ignored for property "pm.factory.class"
-Override ignored for property "appclient.application.args"
-Override ignored for property "build.base.dir"
-Override ignored for property "build.webapps.dir"
-Override ignored for property "build.classes.dir"
-Override ignored for property "assemble.dir"
-Override ignored for property "results.dir"
-Property "Derby.classpath" has not been set
-Override ignored for property "s1astest.classpath"
-Override ignored for property "ejbjar.classes"
-Override ignored for property "appclientjar.classes"
-Override ignored for property "webclient.war.files"
-Override ignored for property "webclient.war.classes"
-Override ignored for property "test.name"
-Override ignored for property "test.description"
-Override ignored for property "test.count"
-Override ignored for property "cluster.name"
-Override ignored for property "clustered.server.name"
-Override ignored for property "clustered.server.name.two"
-Override ignored for property "nodeagent.name"
-Override ignored for property "das.host"
-Override ignored for property "das.jmx.port"
-Override ignored for property "http.listener1.port"
-Override ignored for property "http.listener2.port"
-Override ignored for property "orb.listener1.port"
-Override ignored for property "ssl.port"
-Override ignored for property "ssl.mutualauth.port"
-Override ignored for property "jmx.system.connector.port"
-Override ignored for property "http.listener1.port.two"
-Override ignored for property "http.listener2.port.two"
-Override ignored for property "orb.listener1.port.two"
-Override ignored for property "ssl.port.two"
-Override ignored for property "ssl.mutualauth.port.two"
-Override ignored for property "jmx.system.connector.port.two"
-Override ignored for property "cert.nickname"
-
-clean-common:
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-  [antcall] calling target(s) [clean-classes-common] in build file /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-parsing buildfile /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml with URI = file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/properties.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/common.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.properties
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/run.xml
- [property] Loading Environment env.
-Override ignored for property "env.SESSION_MANAGER"
-Override ignored for property "env.LESSOPEN"
-Override ignored for property "env.NORMBGCOLOR"
-Override ignored for property "env.CVSROOT"
-Override ignored for property "env.MY_ANT_HOME"
-Override ignored for property "env.PWD"
-Override ignored for property "env.XDG_SESSION_COOKIE"
-Override ignored for property "env.LANG"
-Override ignored for property "env.WS"
-Override ignored for property "env.AWT_TOOLKIT"
-Override ignored for property "env.DEFAULTS_PATH"
-Override ignored for property "env.HISTSIZE"
-Override ignored for property "env.INSTALL_ROOT"
-Override ignored for property "env.DISPLAY"
-Override ignored for property "env._"
-Override ignored for property "env.USER"
-Override ignored for property "env.HISTCONTROL"
-Override ignored for property "env.SHELL"
-Override ignored for property "env.NLSPATH"
-Override ignored for property "env.XDG_DATA_DIRS"
-Override ignored for property "env.DESKTOP_SESSION"
-Override ignored for property "env.HISTFILESIZE"
-Override ignored for property "env.APS_HOME"
-Override ignored for property "env.WIDTH"
-Override ignored for property "env.JAVANETCVSROOT"
-Override ignored for property "env.PATH"
-Override ignored for property "env.no_proxy"
-Override ignored for property "env.NORMFGCOLOR"
-Override ignored for property "env.LC_CTYPE"
-Override ignored for property "env.DBUS_SESSION_BUS_ADDRESS"
-Override ignored for property "env.REALPLAYER_HOME"
-Override ignored for property "env.SSH_AGENT_PID"
-Override ignored for property "env.SHLVL"
-Override ignored for property "env.GDMSESSION"
-Override ignored for property "env.GNOME_DESKTOP_SESSION_ID"
-Override ignored for property "env.GDM_KEYBOARD_LAYOUT"
-Override ignored for property "env.GNOME_KEYRING_PID"
-Override ignored for property "env.OS"
-Override ignored for property "env.LOGNAME"
-Override ignored for property "env.ALSA_OUTPUT_PORTS"
-Override ignored for property "env.SCUMMVM_PORT"
-Override ignored for property "env.JAVA_HOME"
-Override ignored for property "env.TERM"
-Override ignored for property "env.QLTESTRES"
-Override ignored for property "env.NO_PROXY"
-Override ignored for property "env.GDM_LANG"
-Override ignored for property "env.DTACH_HOME"
-Override ignored for property "env.OLDPWD"
-Override ignored for property "env.DEBUG"
-Override ignored for property "env.GCONF_LOCAL_LOCKS"
-Override ignored for property "env.M2_HOME"
-Override ignored for property "env.EC2_CERT"
-Override ignored for property "env.WINDOWID"
-Override ignored for property "env.EC2_PRIVATE_KEY"
-Override ignored for property "env.REDCVSROOT"
-Override ignored for property "env.MOZ_DISABLE_PANGO"
-Override ignored for property "env.XFILESEARCHPATH"
-Override ignored for property "env.HOME"
-Override ignored for property "env.ANT_HOME"
-Override ignored for property "env.LD_LIBRARY_PATH"
-Override ignored for property "env.MAVEN_OPTS"
-Override ignored for property "env.SSH_AUTH_SOCK"
-Override ignored for property "env.RBARWIDTH"
-Override ignored for property "env.S1AS_HOME"
-Property "BASH_SOURCE" has not been set
-Property "LINENO" has not been set
-Property "FUNCNAME[0]" has not been set
-Override ignored for property "env.PS4"
-Override ignored for property "env.MAVEN_HOME"
-Override ignored for property "env.XAUTHORITY"
-Property "NEW_PWD" has not been set
-Override ignored for property "env.PS1"
-Override ignored for property "env.MANDATORY_PATH"
-Override ignored for property "env.SPEECHD_PORT"
-Override ignored for property "env.GTK_MODULES"
-Override ignored for property "env.WINDOW_MANAGER"
-Override ignored for property "env.DTRX_HOME"
-Override ignored for property "env.COLORTERM"
-Override ignored for property "env.EDITOR"
-Override ignored for property "env.MALLOC_CHECK_"
-Override ignored for property "env.ORBIT_SOCKETDIR"
-Override ignored for property "env.WP_INSTALL_ROOT"
-Override ignored for property "env.USERNAME"
-Override ignored for property "env.SCALA_HOME"
-Override ignored for property "env.COPE_PATH"
-Override ignored for property "env.QL_HOME"
-Override ignored for property "env.AS_ADMIN_READTIMEOUT"
-Override ignored for property "env.MY_SCRIPT_DIR"
-Override ignored for property "env.GNOME_KEYRING_CONTROL"
-Override ignored for property "env.XDG_CONFIG_DIRS"
-Override ignored for property "env.TODOTXT_HOME"
-Override ignored for property "env.LESSCLOSE"
-Override ignored for property "module"
-Override ignored for property "appname"
-Override ignored for property "assemble"
-Override ignored for property "contextroot"
-Override ignored for property "beans.xml"
-Override ignored for property "target-to-run"
- [macrodef] creating macro  run-test
-Build sequence for target(s) `clean-classes-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-classes-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-classes-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-  [antcall] Entering /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml...
-Build sequence for target(s) `clean-classes-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-classes-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-classes-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setOSConditions:
-Override ignored for property "isUnix"
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setToolUnix:
-Override ignored for property "APPCLIENT"
-Override ignored for property "ASADMIN"
-Override ignored for property "ASANT"
-Override ignored for property "CAPTURESCHEMA"
-Override ignored for property "CHECKPATCH"
-Override ignored for property "INSTALLPATCH"
-Override ignored for property "JSPC"
-Override ignored for property "LISTPATCH"
-Override ignored for property "PACKAGE-APPCLIENT"
-Override ignored for property "VERIFIER"
-Override ignored for property "RMIC"
-Override ignored for property "TNAMESERV"
-Override ignored for property "WSCOMPILE"
-Override ignored for property "WSIMPORT"
-Override ignored for property "pb.start.server"
-Override ignored for property "pb.start.server1"
-Override ignored for property "IMQDBMGR"
-Override ignored for property "ld.library.path"
-
-setS1ASclassPath:
-Skipped because property 's1as.classpath' set.
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "pe"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "instance.https.port"
-Override ignored for property "admin.domain"
-Override ignored for property "admin.password"
-Override ignored for property "http.address"
-Override ignored for property "http.alternate.port"
-Override ignored for property "ssl.password"
-Override ignored for property "instance.http.port"
-Override ignored for property "resources.dottedname.prefix"
-Override ignored for property "results.mailer"
-Override ignored for property "admin.domain.dir"
-Override ignored for property "admin.user"
-Override ignored for property "config.dottedname.prefix"
-Override ignored for property "instance.name"
-Override ignored for property "precompilejsp"
-Override ignored for property "admin.password.file"
-Override ignored for property "http.port"
-Override ignored for property "https.port"
-Override ignored for property "results.mailee"
-Override ignored for property "appserver.instance.name"
-Override ignored for property "master.password"
-Override ignored for property "http.host"
-Override ignored for property "instance.http.port.3"
-Override ignored for property "instance.http.port.2"
-Override ignored for property "admin.port"
-Override ignored for property "cluster.name"
-Override ignored for property "appserver.instance.dir"
-Override ignored for property "autodeploy.dir"
-Override ignored for property "orb.port"
-Override ignored for property "admin.host"
-Override ignored for property "instance.name.3"
-Override ignored for property "instance.name.2"
-Override ignored for property "results.mailhost"
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
-Override ignored for property "as.props"
-Override ignored for property "authrealmname"
-Override ignored for property "apptype"
-Override ignored for property "db.root"
-Override ignored for property "db.dir"
-Override ignored for property "db.classpath"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Override ignored for property "db.host"
-Override ignored for property "db.url"
-Override ignored for property "db.xaclass"
-Override ignored for property "db.name"
-Override ignored for property "db.driver"
-Override ignored for property "db.port"
-Override ignored for property "db.port.2"
-Override ignored for property "db.class"
-Override ignored for property "db.user"
-Override ignored for property "db.pwd"
-Override ignored for property "db.type"
-Property "env.JAVKE_HOME" has not been set
-Override ignored for property "javke.home"
-Override ignored for property "dest.type"
-Override ignored for property "dest.name"
-Override ignored for property "jms.factory.name"
-Override ignored for property "jms.factory.type"
-Override ignored for property "jms.resource.name"
-Override ignored for property "jms.resource.type"
-Override ignored for property "jdbc.conpool.name"
-Override ignored for property "jdbc.resource.name"
-Override ignored for property "jdbc.resource.type"
-Override ignored for property "pm.resource.name"
-Override ignored for property "pm.factory.class"
-Override ignored for property "appclient.application.args"
-Override ignored for property "build.base.dir"
-Override ignored for property "build.webapps.dir"
-Override ignored for property "build.classes.dir"
-Override ignored for property "assemble.dir"
-Override ignored for property "results.dir"
-Property "Derby.classpath" has not been set
-Override ignored for property "s1astest.classpath"
-Override ignored for property "ejbjar.classes"
-Override ignored for property "appclientjar.classes"
-Override ignored for property "webclient.war.files"
-Override ignored for property "webclient.war.classes"
-Override ignored for property "test.name"
-Override ignored for property "test.description"
-Override ignored for property "test.count"
-Override ignored for property "cluster.name"
-Override ignored for property "clustered.server.name"
-Override ignored for property "clustered.server.name.two"
-Override ignored for property "nodeagent.name"
-Override ignored for property "das.host"
-Override ignored for property "das.jmx.port"
-Override ignored for property "http.listener1.port"
-Override ignored for property "http.listener2.port"
-Override ignored for property "orb.listener1.port"
-Override ignored for property "ssl.port"
-Override ignored for property "ssl.mutualauth.port"
-Override ignored for property "jmx.system.connector.port"
-Override ignored for property "http.listener1.port.two"
-Override ignored for property "http.listener2.port.two"
-Override ignored for property "orb.listener1.port.two"
-Override ignored for property "ssl.port.two"
-Override ignored for property "ssl.mutualauth.port.two"
-Override ignored for property "jmx.system.connector.port.two"
-Override ignored for property "cert.nickname"
-
-clean-classes-common:
-     [echo] common.xml: Cleaning test source files: /export/work/workspaces/gfv3/appserv-tests/build/module
-   [delete] Deleting directory /export/work/workspaces/gfv3/appserv-tests/build/module
-   [delete] Deleting /export/work/workspaces/gfv3/appserv-tests/build/module/classes/TestServlet$1.class
-   [delete] Deleting /export/work/workspaces/gfv3/appserv-tests/build/module/classes/TestServlet.class
-   [delete] Deleting /export/work/workspaces/gfv3/appserv-tests/build/module/classes/TestBean.class
-   [delete] Deleting /export/work/workspaces/gfv3/appserv-tests/build/module/classes/TestLoggerProducer.class
-   [delete] Deleting /export/work/workspaces/gfv3/appserv-tests/build/module/classes/ClassUnavailableAtRuntime.class
-   [delete] Deleting /export/work/workspaces/gfv3/appserv-tests/build/module/classes/OptionalService.class
-   [delete] Deleting directory /export/work/workspaces/gfv3/appserv-tests/build/module/classes
-   [delete] Deleting directory /export/work/workspaces/gfv3/appserv-tests/build/module
-  [antcall] Exiting /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml.
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-  [antcall] calling target(s) [clean-jars-common] in build file /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-parsing buildfile /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml with URI = file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/properties.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/common.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.properties
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/run.xml
- [property] Loading Environment env.
-Override ignored for property "env.SESSION_MANAGER"
-Override ignored for property "env.LESSOPEN"
-Override ignored for property "env.NORMBGCOLOR"
-Override ignored for property "env.CVSROOT"
-Override ignored for property "env.MY_ANT_HOME"
-Override ignored for property "env.PWD"
-Override ignored for property "env.XDG_SESSION_COOKIE"
-Override ignored for property "env.LANG"
-Override ignored for property "env.WS"
-Override ignored for property "env.AWT_TOOLKIT"
-Override ignored for property "env.DEFAULTS_PATH"
-Override ignored for property "env.HISTSIZE"
-Override ignored for property "env.INSTALL_ROOT"
-Override ignored for property "env.DISPLAY"
-Override ignored for property "env._"
-Override ignored for property "env.USER"
-Override ignored for property "env.HISTCONTROL"
-Override ignored for property "env.SHELL"
-Override ignored for property "env.NLSPATH"
-Override ignored for property "env.XDG_DATA_DIRS"
-Override ignored for property "env.DESKTOP_SESSION"
-Override ignored for property "env.HISTFILESIZE"
-Override ignored for property "env.APS_HOME"
-Override ignored for property "env.WIDTH"
-Override ignored for property "env.JAVANETCVSROOT"
-Override ignored for property "env.PATH"
-Override ignored for property "env.no_proxy"
-Override ignored for property "env.NORMFGCOLOR"
-Override ignored for property "env.LC_CTYPE"
-Override ignored for property "env.DBUS_SESSION_BUS_ADDRESS"
-Override ignored for property "env.REALPLAYER_HOME"
-Override ignored for property "env.SSH_AGENT_PID"
-Override ignored for property "env.SHLVL"
-Override ignored for property "env.GDMSESSION"
-Override ignored for property "env.GNOME_DESKTOP_SESSION_ID"
-Override ignored for property "env.GDM_KEYBOARD_LAYOUT"
-Override ignored for property "env.GNOME_KEYRING_PID"
-Override ignored for property "env.OS"
-Override ignored for property "env.LOGNAME"
-Override ignored for property "env.ALSA_OUTPUT_PORTS"
-Override ignored for property "env.SCUMMVM_PORT"
-Override ignored for property "env.JAVA_HOME"
-Override ignored for property "env.TERM"
-Override ignored for property "env.QLTESTRES"
-Override ignored for property "env.NO_PROXY"
-Override ignored for property "env.GDM_LANG"
-Override ignored for property "env.DTACH_HOME"
-Override ignored for property "env.OLDPWD"
-Override ignored for property "env.DEBUG"
-Override ignored for property "env.GCONF_LOCAL_LOCKS"
-Override ignored for property "env.M2_HOME"
-Override ignored for property "env.EC2_CERT"
-Override ignored for property "env.WINDOWID"
-Override ignored for property "env.EC2_PRIVATE_KEY"
-Override ignored for property "env.REDCVSROOT"
-Override ignored for property "env.MOZ_DISABLE_PANGO"
-Override ignored for property "env.XFILESEARCHPATH"
-Override ignored for property "env.HOME"
-Override ignored for property "env.ANT_HOME"
-Override ignored for property "env.LD_LIBRARY_PATH"
-Override ignored for property "env.MAVEN_OPTS"
-Override ignored for property "env.SSH_AUTH_SOCK"
-Override ignored for property "env.RBARWIDTH"
-Override ignored for property "env.S1AS_HOME"
-Property "BASH_SOURCE" has not been set
-Property "LINENO" has not been set
-Property "FUNCNAME[0]" has not been set
-Override ignored for property "env.PS4"
-Override ignored for property "env.MAVEN_HOME"
-Override ignored for property "env.XAUTHORITY"
-Property "NEW_PWD" has not been set
-Override ignored for property "env.PS1"
-Override ignored for property "env.MANDATORY_PATH"
-Override ignored for property "env.SPEECHD_PORT"
-Override ignored for property "env.GTK_MODULES"
-Override ignored for property "env.WINDOW_MANAGER"
-Override ignored for property "env.DTRX_HOME"
-Override ignored for property "env.COLORTERM"
-Override ignored for property "env.EDITOR"
-Override ignored for property "env.MALLOC_CHECK_"
-Override ignored for property "env.ORBIT_SOCKETDIR"
-Override ignored for property "env.WP_INSTALL_ROOT"
-Override ignored for property "env.USERNAME"
-Override ignored for property "env.SCALA_HOME"
-Override ignored for property "env.COPE_PATH"
-Override ignored for property "env.QL_HOME"
-Override ignored for property "env.AS_ADMIN_READTIMEOUT"
-Override ignored for property "env.MY_SCRIPT_DIR"
-Override ignored for property "env.GNOME_KEYRING_CONTROL"
-Override ignored for property "env.XDG_CONFIG_DIRS"
-Override ignored for property "env.TODOTXT_HOME"
-Override ignored for property "env.LESSCLOSE"
-Override ignored for property "module"
-Override ignored for property "appname"
-Override ignored for property "assemble"
-Override ignored for property "contextroot"
-Override ignored for property "beans.xml"
-Override ignored for property "target-to-run"
- [macrodef] creating macro  run-test
-Build sequence for target(s) `clean-jars-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-jars-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-jars-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-  [antcall] Entering /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml...
-Build sequence for target(s) `clean-jars-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-jars-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-jars-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setOSConditions:
-Override ignored for property "isUnix"
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setToolUnix:
-Override ignored for property "APPCLIENT"
-Override ignored for property "ASADMIN"
-Override ignored for property "ASANT"
-Override ignored for property "CAPTURESCHEMA"
-Override ignored for property "CHECKPATCH"
-Override ignored for property "INSTALLPATCH"
-Override ignored for property "JSPC"
-Override ignored for property "LISTPATCH"
-Override ignored for property "PACKAGE-APPCLIENT"
-Override ignored for property "VERIFIER"
-Override ignored for property "RMIC"
-Override ignored for property "TNAMESERV"
-Override ignored for property "WSCOMPILE"
-Override ignored for property "WSIMPORT"
-Override ignored for property "pb.start.server"
-Override ignored for property "pb.start.server1"
-Override ignored for property "IMQDBMGR"
-Override ignored for property "ld.library.path"
-
-setS1ASclassPath:
-Skipped because property 's1as.classpath' set.
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "pe"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "instance.https.port"
-Override ignored for property "admin.domain"
-Override ignored for property "admin.password"
-Override ignored for property "http.address"
-Override ignored for property "http.alternate.port"
-Override ignored for property "ssl.password"
-Override ignored for property "instance.http.port"
-Override ignored for property "resources.dottedname.prefix"
-Override ignored for property "results.mailer"
-Override ignored for property "admin.domain.dir"
-Override ignored for property "admin.user"
-Override ignored for property "config.dottedname.prefix"
-Override ignored for property "instance.name"
-Override ignored for property "precompilejsp"
-Override ignored for property "admin.password.file"
-Override ignored for property "http.port"
-Override ignored for property "https.port"
-Override ignored for property "results.mailee"
-Override ignored for property "appserver.instance.name"
-Override ignored for property "master.password"
-Override ignored for property "http.host"
-Override ignored for property "instance.http.port.3"
-Override ignored for property "instance.http.port.2"
-Override ignored for property "admin.port"
-Override ignored for property "cluster.name"
-Override ignored for property "appserver.instance.dir"
-Override ignored for property "autodeploy.dir"
-Override ignored for property "orb.port"
-Override ignored for property "admin.host"
-Override ignored for property "instance.name.3"
-Override ignored for property "instance.name.2"
-Override ignored for property "results.mailhost"
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
-Override ignored for property "as.props"
-Override ignored for property "authrealmname"
-Override ignored for property "apptype"
-Override ignored for property "db.root"
-Override ignored for property "db.dir"
-Override ignored for property "db.classpath"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Override ignored for property "db.host"
-Override ignored for property "db.url"
-Override ignored for property "db.xaclass"
-Override ignored for property "db.name"
-Override ignored for property "db.driver"
-Override ignored for property "db.port"
-Override ignored for property "db.port.2"
-Override ignored for property "db.class"
-Override ignored for property "db.user"
-Override ignored for property "db.pwd"
-Override ignored for property "db.type"
-Property "env.JAVKE_HOME" has not been set
-Override ignored for property "javke.home"
-Override ignored for property "dest.type"
-Override ignored for property "dest.name"
-Override ignored for property "jms.factory.name"
-Override ignored for property "jms.factory.type"
-Override ignored for property "jms.resource.name"
-Override ignored for property "jms.resource.type"
-Override ignored for property "jdbc.conpool.name"
-Override ignored for property "jdbc.resource.name"
-Override ignored for property "jdbc.resource.type"
-Override ignored for property "pm.resource.name"
-Override ignored for property "pm.factory.class"
-Override ignored for property "appclient.application.args"
-Override ignored for property "build.base.dir"
-Override ignored for property "build.webapps.dir"
-Override ignored for property "build.classes.dir"
-Override ignored for property "assemble.dir"
-Override ignored for property "results.dir"
-Property "Derby.classpath" has not been set
-Override ignored for property "s1astest.classpath"
-Override ignored for property "ejbjar.classes"
-Override ignored for property "appclientjar.classes"
-Override ignored for property "webclient.war.files"
-Override ignored for property "webclient.war.classes"
-Override ignored for property "test.name"
-Override ignored for property "test.description"
-Override ignored for property "test.count"
-Override ignored for property "cluster.name"
-Override ignored for property "clustered.server.name"
-Override ignored for property "clustered.server.name.two"
-Override ignored for property "nodeagent.name"
-Override ignored for property "das.host"
-Override ignored for property "das.jmx.port"
-Override ignored for property "http.listener1.port"
-Override ignored for property "http.listener2.port"
-Override ignored for property "orb.listener1.port"
-Override ignored for property "ssl.port"
-Override ignored for property "ssl.mutualauth.port"
-Override ignored for property "jmx.system.connector.port"
-Override ignored for property "http.listener1.port.two"
-Override ignored for property "http.listener2.port.two"
-Override ignored for property "orb.listener1.port.two"
-Override ignored for property "ssl.port.two"
-Override ignored for property "ssl.mutualauth.port.two"
-Override ignored for property "jmx.system.connector.port.two"
-Override ignored for property "cert.nickname"
-  [antcall] Exiting /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml.
-  [antcall] Exiting /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml.
-Build sequence for target(s) `compile' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean, compile]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean, compile, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setOSConditions:
-Override ignored for property "isUnix"
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setToolUnix:
-Override ignored for property "APPCLIENT"
-Override ignored for property "ASADMIN"
-Override ignored for property "ASANT"
-Override ignored for property "CAPTURESCHEMA"
-Override ignored for property "CHECKPATCH"
-Override ignored for property "INSTALLPATCH"
-Override ignored for property "JSPC"
-Override ignored for property "LISTPATCH"
-Override ignored for property "PACKAGE-APPCLIENT"
-Override ignored for property "VERIFIER"
-Override ignored for property "RMIC"
-Override ignored for property "TNAMESERV"
-Override ignored for property "WSCOMPILE"
-Override ignored for property "WSIMPORT"
-Override ignored for property "pb.start.server"
-Override ignored for property "pb.start.server1"
-Override ignored for property "IMQDBMGR"
-Override ignored for property "ld.library.path"
-
-setS1ASclassPath:
-Skipped because property 's1as.classpath' set.
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "pe"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "instance.https.port"
-Override ignored for property "admin.domain"
-Override ignored for property "admin.password"
-Override ignored for property "http.address"
-Override ignored for property "http.alternate.port"
-Override ignored for property "ssl.password"
-Override ignored for property "instance.http.port"
-Override ignored for property "resources.dottedname.prefix"
-Override ignored for property "results.mailer"
-Override ignored for property "admin.domain.dir"
-Override ignored for property "admin.user"
-Override ignored for property "config.dottedname.prefix"
-Override ignored for property "instance.name"
-Override ignored for property "precompilejsp"
-Override ignored for property "admin.password.file"
-Override ignored for property "http.port"
-Override ignored for property "https.port"
-Override ignored for property "results.mailee"
-Override ignored for property "appserver.instance.name"
-Override ignored for property "master.password"
-Override ignored for property "http.host"
-Override ignored for property "instance.http.port.3"
-Override ignored for property "instance.http.port.2"
-Override ignored for property "admin.port"
-Override ignored for property "cluster.name"
-Override ignored for property "appserver.instance.dir"
-Override ignored for property "autodeploy.dir"
-Override ignored for property "orb.port"
-Override ignored for property "admin.host"
-Override ignored for property "instance.name.3"
-Override ignored for property "instance.name.2"
-Override ignored for property "results.mailhost"
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
-Override ignored for property "as.props"
-Override ignored for property "authrealmname"
-Override ignored for property "apptype"
-Override ignored for property "db.root"
-Override ignored for property "db.dir"
-Override ignored for property "db.classpath"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Override ignored for property "db.host"
-Override ignored for property "db.url"
-Override ignored for property "db.xaclass"
-Override ignored for property "db.name"
-Override ignored for property "db.driver"
-Override ignored for property "db.port"
-Override ignored for property "db.port.2"
-Override ignored for property "db.class"
-Override ignored for property "db.user"
-Override ignored for property "db.pwd"
-Override ignored for property "db.type"
-Property "env.JAVKE_HOME" has not been set
-Override ignored for property "javke.home"
-Override ignored for property "dest.type"
-Override ignored for property "dest.name"
-Override ignored for property "jms.factory.name"
-Override ignored for property "jms.factory.type"
-Override ignored for property "jms.resource.name"
-Override ignored for property "jms.resource.type"
-Override ignored for property "jdbc.conpool.name"
-Override ignored for property "jdbc.resource.name"
-Override ignored for property "jdbc.resource.type"
-Override ignored for property "pm.resource.name"
-Override ignored for property "pm.factory.class"
-Override ignored for property "appclient.application.args"
-Override ignored for property "build.base.dir"
-Override ignored for property "build.webapps.dir"
-Override ignored for property "build.classes.dir"
-Override ignored for property "assemble.dir"
-Override ignored for property "results.dir"
-Property "Derby.classpath" has not been set
-Override ignored for property "s1astest.classpath"
-Override ignored for property "ejbjar.classes"
-Override ignored for property "appclientjar.classes"
-Override ignored for property "webclient.war.files"
-Override ignored for property "webclient.war.classes"
-Override ignored for property "test.name"
-Override ignored for property "test.description"
-Override ignored for property "test.count"
-Override ignored for property "cluster.name"
-Override ignored for property "clustered.server.name"
-Override ignored for property "clustered.server.name.two"
-Override ignored for property "nodeagent.name"
-Override ignored for property "das.host"
-Override ignored for property "das.jmx.port"
-Override ignored for property "http.listener1.port"
-Override ignored for property "http.listener2.port"
-Override ignored for property "orb.listener1.port"
-Override ignored for property "ssl.port"
-Override ignored for property "ssl.mutualauth.port"
-Override ignored for property "jmx.system.connector.port"
-Override ignored for property "http.listener1.port.two"
-Override ignored for property "http.listener2.port.two"
-Override ignored for property "orb.listener1.port.two"
-Override ignored for property "ssl.port.two"
-Override ignored for property "ssl.mutualauth.port.two"
-Override ignored for property "jmx.system.connector.port.two"
-Override ignored for property "cert.nickname"
-
-clean:
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-  [antcall] calling target(s) [clean-common] in build file /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-parsing buildfile /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml with URI = file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/properties.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/common.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.properties
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/run.xml
- [property] Loading Environment env.
-Override ignored for property "env.SESSION_MANAGER"
-Override ignored for property "env.LESSOPEN"
-Override ignored for property "env.NORMBGCOLOR"
-Override ignored for property "env.CVSROOT"
-Override ignored for property "env.MY_ANT_HOME"
-Override ignored for property "env.PWD"
-Override ignored for property "env.XDG_SESSION_COOKIE"
-Override ignored for property "env.LANG"
-Override ignored for property "env.WS"
-Override ignored for property "env.AWT_TOOLKIT"
-Override ignored for property "env.DEFAULTS_PATH"
-Override ignored for property "env.HISTSIZE"
-Override ignored for property "env.INSTALL_ROOT"
-Override ignored for property "env.DISPLAY"
-Override ignored for property "env._"
-Override ignored for property "env.USER"
-Override ignored for property "env.HISTCONTROL"
-Override ignored for property "env.SHELL"
-Override ignored for property "env.NLSPATH"
-Override ignored for property "env.XDG_DATA_DIRS"
-Override ignored for property "env.DESKTOP_SESSION"
-Override ignored for property "env.HISTFILESIZE"
-Override ignored for property "env.APS_HOME"
-Override ignored for property "env.WIDTH"
-Override ignored for property "env.JAVANETCVSROOT"
-Override ignored for property "env.PATH"
-Override ignored for property "env.no_proxy"
-Override ignored for property "env.NORMFGCOLOR"
-Override ignored for property "env.LC_CTYPE"
-Override ignored for property "env.DBUS_SESSION_BUS_ADDRESS"
-Override ignored for property "env.REALPLAYER_HOME"
-Override ignored for property "env.SSH_AGENT_PID"
-Override ignored for property "env.SHLVL"
-Override ignored for property "env.GDMSESSION"
-Override ignored for property "env.GNOME_DESKTOP_SESSION_ID"
-Override ignored for property "env.GDM_KEYBOARD_LAYOUT"
-Override ignored for property "env.GNOME_KEYRING_PID"
-Override ignored for property "env.OS"
-Override ignored for property "env.LOGNAME"
-Override ignored for property "env.ALSA_OUTPUT_PORTS"
-Override ignored for property "env.SCUMMVM_PORT"
-Override ignored for property "env.JAVA_HOME"
-Override ignored for property "env.TERM"
-Override ignored for property "env.QLTESTRES"
-Override ignored for property "env.NO_PROXY"
-Override ignored for property "env.GDM_LANG"
-Override ignored for property "env.DTACH_HOME"
-Override ignored for property "env.OLDPWD"
-Override ignored for property "env.DEBUG"
-Override ignored for property "env.GCONF_LOCAL_LOCKS"
-Override ignored for property "env.M2_HOME"
-Override ignored for property "env.EC2_CERT"
-Override ignored for property "env.WINDOWID"
-Override ignored for property "env.EC2_PRIVATE_KEY"
-Override ignored for property "env.REDCVSROOT"
-Override ignored for property "env.MOZ_DISABLE_PANGO"
-Override ignored for property "env.XFILESEARCHPATH"
-Override ignored for property "env.HOME"
-Override ignored for property "env.ANT_HOME"
-Override ignored for property "env.LD_LIBRARY_PATH"
-Override ignored for property "env.MAVEN_OPTS"
-Override ignored for property "env.SSH_AUTH_SOCK"
-Override ignored for property "env.RBARWIDTH"
-Override ignored for property "env.S1AS_HOME"
-Property "BASH_SOURCE" has not been set
-Property "LINENO" has not been set
-Property "FUNCNAME[0]" has not been set
-Override ignored for property "env.PS4"
-Override ignored for property "env.MAVEN_HOME"
-Override ignored for property "env.XAUTHORITY"
-Property "NEW_PWD" has not been set
-Override ignored for property "env.PS1"
-Override ignored for property "env.MANDATORY_PATH"
-Override ignored for property "env.SPEECHD_PORT"
-Override ignored for property "env.GTK_MODULES"
-Override ignored for property "env.WINDOW_MANAGER"
-Override ignored for property "env.DTRX_HOME"
-Override ignored for property "env.COLORTERM"
-Override ignored for property "env.EDITOR"
-Override ignored for property "env.MALLOC_CHECK_"
-Override ignored for property "env.ORBIT_SOCKETDIR"
-Override ignored for property "env.WP_INSTALL_ROOT"
-Override ignored for property "env.USERNAME"
-Override ignored for property "env.SCALA_HOME"
-Override ignored for property "env.COPE_PATH"
-Override ignored for property "env.QL_HOME"
-Override ignored for property "env.AS_ADMIN_READTIMEOUT"
-Override ignored for property "env.MY_SCRIPT_DIR"
-Override ignored for property "env.GNOME_KEYRING_CONTROL"
-Override ignored for property "env.XDG_CONFIG_DIRS"
-Override ignored for property "env.TODOTXT_HOME"
-Override ignored for property "env.LESSCLOSE"
-Override ignored for property "module"
-Override ignored for property "appname"
-Override ignored for property "assemble"
-Override ignored for property "contextroot"
-Override ignored for property "beans.xml"
-Override ignored for property "target-to-run"
- [macrodef] creating macro  run-test
-Build sequence for target(s) `clean-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-  [antcall] Entering /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml...
-Build sequence for target(s) `clean-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setOSConditions:
-Override ignored for property "isUnix"
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setToolUnix:
-Override ignored for property "APPCLIENT"
-Override ignored for property "ASADMIN"
-Override ignored for property "ASANT"
-Override ignored for property "CAPTURESCHEMA"
-Override ignored for property "CHECKPATCH"
-Override ignored for property "INSTALLPATCH"
-Override ignored for property "JSPC"
-Override ignored for property "LISTPATCH"
-Override ignored for property "PACKAGE-APPCLIENT"
-Override ignored for property "VERIFIER"
-Override ignored for property "RMIC"
-Override ignored for property "TNAMESERV"
-Override ignored for property "WSCOMPILE"
-Override ignored for property "WSIMPORT"
-Override ignored for property "pb.start.server"
-Override ignored for property "pb.start.server1"
-Override ignored for property "IMQDBMGR"
-Override ignored for property "ld.library.path"
-
-setS1ASclassPath:
-Skipped because property 's1as.classpath' set.
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "pe"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "instance.https.port"
-Override ignored for property "admin.domain"
-Override ignored for property "admin.password"
-Override ignored for property "http.address"
-Override ignored for property "http.alternate.port"
-Override ignored for property "ssl.password"
-Override ignored for property "instance.http.port"
-Override ignored for property "resources.dottedname.prefix"
-Override ignored for property "results.mailer"
-Override ignored for property "admin.domain.dir"
-Override ignored for property "admin.user"
-Override ignored for property "config.dottedname.prefix"
-Override ignored for property "instance.name"
-Override ignored for property "precompilejsp"
-Override ignored for property "admin.password.file"
-Override ignored for property "http.port"
-Override ignored for property "https.port"
-Override ignored for property "results.mailee"
-Override ignored for property "appserver.instance.name"
-Override ignored for property "master.password"
-Override ignored for property "http.host"
-Override ignored for property "instance.http.port.3"
-Override ignored for property "instance.http.port.2"
-Override ignored for property "admin.port"
-Override ignored for property "cluster.name"
-Override ignored for property "appserver.instance.dir"
-Override ignored for property "autodeploy.dir"
-Override ignored for property "orb.port"
-Override ignored for property "admin.host"
-Override ignored for property "instance.name.3"
-Override ignored for property "instance.name.2"
-Override ignored for property "results.mailhost"
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
-Override ignored for property "as.props"
-Override ignored for property "authrealmname"
-Override ignored for property "apptype"
-Override ignored for property "db.root"
-Override ignored for property "db.dir"
-Override ignored for property "db.classpath"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Override ignored for property "db.host"
-Override ignored for property "db.url"
-Override ignored for property "db.xaclass"
-Override ignored for property "db.name"
-Override ignored for property "db.driver"
-Override ignored for property "db.port"
-Override ignored for property "db.port.2"
-Override ignored for property "db.class"
-Override ignored for property "db.user"
-Override ignored for property "db.pwd"
-Override ignored for property "db.type"
-Property "env.JAVKE_HOME" has not been set
-Override ignored for property "javke.home"
-Override ignored for property "dest.type"
-Override ignored for property "dest.name"
-Override ignored for property "jms.factory.name"
-Override ignored for property "jms.factory.type"
-Override ignored for property "jms.resource.name"
-Override ignored for property "jms.resource.type"
-Override ignored for property "jdbc.conpool.name"
-Override ignored for property "jdbc.resource.name"
-Override ignored for property "jdbc.resource.type"
-Override ignored for property "pm.resource.name"
-Override ignored for property "pm.factory.class"
-Override ignored for property "appclient.application.args"
-Override ignored for property "build.base.dir"
-Override ignored for property "build.webapps.dir"
-Override ignored for property "build.classes.dir"
-Override ignored for property "assemble.dir"
-Override ignored for property "results.dir"
-Property "Derby.classpath" has not been set
-Override ignored for property "s1astest.classpath"
-Override ignored for property "ejbjar.classes"
-Override ignored for property "appclientjar.classes"
-Override ignored for property "webclient.war.files"
-Override ignored for property "webclient.war.classes"
-Override ignored for property "test.name"
-Override ignored for property "test.description"
-Override ignored for property "test.count"
-Override ignored for property "cluster.name"
-Override ignored for property "clustered.server.name"
-Override ignored for property "clustered.server.name.two"
-Override ignored for property "nodeagent.name"
-Override ignored for property "das.host"
-Override ignored for property "das.jmx.port"
-Override ignored for property "http.listener1.port"
-Override ignored for property "http.listener2.port"
-Override ignored for property "orb.listener1.port"
-Override ignored for property "ssl.port"
-Override ignored for property "ssl.mutualauth.port"
-Override ignored for property "jmx.system.connector.port"
-Override ignored for property "http.listener1.port.two"
-Override ignored for property "http.listener2.port.two"
-Override ignored for property "orb.listener1.port.two"
-Override ignored for property "ssl.port.two"
-Override ignored for property "ssl.mutualauth.port.two"
-Override ignored for property "jmx.system.connector.port.two"
-Override ignored for property "cert.nickname"
-
-clean-common:
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-  [antcall] calling target(s) [clean-classes-common] in build file /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-parsing buildfile /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml with URI = file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/properties.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/common.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.properties
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/run.xml
- [property] Loading Environment env.
-Override ignored for property "env.SESSION_MANAGER"
-Override ignored for property "env.LESSOPEN"
-Override ignored for property "env.NORMBGCOLOR"
-Override ignored for property "env.CVSROOT"
-Override ignored for property "env.MY_ANT_HOME"
-Override ignored for property "env.PWD"
-Override ignored for property "env.XDG_SESSION_COOKIE"
-Override ignored for property "env.LANG"
-Override ignored for property "env.WS"
-Override ignored for property "env.AWT_TOOLKIT"
-Override ignored for property "env.DEFAULTS_PATH"
-Override ignored for property "env.HISTSIZE"
-Override ignored for property "env.INSTALL_ROOT"
-Override ignored for property "env.DISPLAY"
-Override ignored for property "env._"
-Override ignored for property "env.USER"
-Override ignored for property "env.HISTCONTROL"
-Override ignored for property "env.SHELL"
-Override ignored for property "env.NLSPATH"
-Override ignored for property "env.XDG_DATA_DIRS"
-Override ignored for property "env.DESKTOP_SESSION"
-Override ignored for property "env.HISTFILESIZE"
-Override ignored for property "env.APS_HOME"
-Override ignored for property "env.WIDTH"
-Override ignored for property "env.JAVANETCVSROOT"
-Override ignored for property "env.PATH"
-Override ignored for property "env.no_proxy"
-Override ignored for property "env.NORMFGCOLOR"
-Override ignored for property "env.LC_CTYPE"
-Override ignored for property "env.DBUS_SESSION_BUS_ADDRESS"
-Override ignored for property "env.REALPLAYER_HOME"
-Override ignored for property "env.SSH_AGENT_PID"
-Override ignored for property "env.SHLVL"
-Override ignored for property "env.GDMSESSION"
-Override ignored for property "env.GNOME_DESKTOP_SESSION_ID"
-Override ignored for property "env.GDM_KEYBOARD_LAYOUT"
-Override ignored for property "env.GNOME_KEYRING_PID"
-Override ignored for property "env.OS"
-Override ignored for property "env.LOGNAME"
-Override ignored for property "env.ALSA_OUTPUT_PORTS"
-Override ignored for property "env.SCUMMVM_PORT"
-Override ignored for property "env.JAVA_HOME"
-Override ignored for property "env.TERM"
-Override ignored for property "env.QLTESTRES"
-Override ignored for property "env.NO_PROXY"
-Override ignored for property "env.GDM_LANG"
-Override ignored for property "env.DTACH_HOME"
-Override ignored for property "env.OLDPWD"
-Override ignored for property "env.DEBUG"
-Override ignored for property "env.GCONF_LOCAL_LOCKS"
-Override ignored for property "env.M2_HOME"
-Override ignored for property "env.EC2_CERT"
-Override ignored for property "env.WINDOWID"
-Override ignored for property "env.EC2_PRIVATE_KEY"
-Override ignored for property "env.REDCVSROOT"
-Override ignored for property "env.MOZ_DISABLE_PANGO"
-Override ignored for property "env.XFILESEARCHPATH"
-Override ignored for property "env.HOME"
-Override ignored for property "env.ANT_HOME"
-Override ignored for property "env.LD_LIBRARY_PATH"
-Override ignored for property "env.MAVEN_OPTS"
-Override ignored for property "env.SSH_AUTH_SOCK"
-Override ignored for property "env.RBARWIDTH"
-Override ignored for property "env.S1AS_HOME"
-Property "BASH_SOURCE" has not been set
-Property "LINENO" has not been set
-Property "FUNCNAME[0]" has not been set
-Override ignored for property "env.PS4"
-Override ignored for property "env.MAVEN_HOME"
-Override ignored for property "env.XAUTHORITY"
-Property "NEW_PWD" has not been set
-Override ignored for property "env.PS1"
-Override ignored for property "env.MANDATORY_PATH"
-Override ignored for property "env.SPEECHD_PORT"
-Override ignored for property "env.GTK_MODULES"
-Override ignored for property "env.WINDOW_MANAGER"
-Override ignored for property "env.DTRX_HOME"
-Override ignored for property "env.COLORTERM"
-Override ignored for property "env.EDITOR"
-Override ignored for property "env.MALLOC_CHECK_"
-Override ignored for property "env.ORBIT_SOCKETDIR"
-Override ignored for property "env.WP_INSTALL_ROOT"
-Override ignored for property "env.USERNAME"
-Override ignored for property "env.SCALA_HOME"
-Override ignored for property "env.COPE_PATH"
-Override ignored for property "env.QL_HOME"
-Override ignored for property "env.AS_ADMIN_READTIMEOUT"
-Override ignored for property "env.MY_SCRIPT_DIR"
-Override ignored for property "env.GNOME_KEYRING_CONTROL"
-Override ignored for property "env.XDG_CONFIG_DIRS"
-Override ignored for property "env.TODOTXT_HOME"
-Override ignored for property "env.LESSCLOSE"
-Override ignored for property "module"
-Override ignored for property "appname"
-Override ignored for property "assemble"
-Override ignored for property "contextroot"
-Override ignored for property "beans.xml"
-Override ignored for property "target-to-run"
- [macrodef] creating macro  run-test
-Build sequence for target(s) `clean-classes-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-classes-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-classes-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-  [antcall] Entering /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml...
-Build sequence for target(s) `clean-classes-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-classes-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-classes-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setOSConditions:
-Override ignored for property "isUnix"
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setToolUnix:
-Override ignored for property "APPCLIENT"
-Override ignored for property "ASADMIN"
-Override ignored for property "ASANT"
-Override ignored for property "CAPTURESCHEMA"
-Override ignored for property "CHECKPATCH"
-Override ignored for property "INSTALLPATCH"
-Override ignored for property "JSPC"
-Override ignored for property "LISTPATCH"
-Override ignored for property "PACKAGE-APPCLIENT"
-Override ignored for property "VERIFIER"
-Override ignored for property "RMIC"
-Override ignored for property "TNAMESERV"
-Override ignored for property "WSCOMPILE"
-Override ignored for property "WSIMPORT"
-Override ignored for property "pb.start.server"
-Override ignored for property "pb.start.server1"
-Override ignored for property "IMQDBMGR"
-Override ignored for property "ld.library.path"
-
-setS1ASclassPath:
-Skipped because property 's1as.classpath' set.
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "pe"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "instance.https.port"
-Override ignored for property "admin.domain"
-Override ignored for property "admin.password"
-Override ignored for property "http.address"
-Override ignored for property "http.alternate.port"
-Override ignored for property "ssl.password"
-Override ignored for property "instance.http.port"
-Override ignored for property "resources.dottedname.prefix"
-Override ignored for property "results.mailer"
-Override ignored for property "admin.domain.dir"
-Override ignored for property "admin.user"
-Override ignored for property "config.dottedname.prefix"
-Override ignored for property "instance.name"
-Override ignored for property "precompilejsp"
-Override ignored for property "admin.password.file"
-Override ignored for property "http.port"
-Override ignored for property "https.port"
-Override ignored for property "results.mailee"
-Override ignored for property "appserver.instance.name"
-Override ignored for property "master.password"
-Override ignored for property "http.host"
-Override ignored for property "instance.http.port.3"
-Override ignored for property "instance.http.port.2"
-Override ignored for property "admin.port"
-Override ignored for property "cluster.name"
-Override ignored for property "appserver.instance.dir"
-Override ignored for property "autodeploy.dir"
-Override ignored for property "orb.port"
-Override ignored for property "admin.host"
-Override ignored for property "instance.name.3"
-Override ignored for property "instance.name.2"
-Override ignored for property "results.mailhost"
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
-Override ignored for property "as.props"
-Override ignored for property "authrealmname"
-Override ignored for property "apptype"
-Override ignored for property "db.root"
-Override ignored for property "db.dir"
-Override ignored for property "db.classpath"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Override ignored for property "db.host"
-Override ignored for property "db.url"
-Override ignored for property "db.xaclass"
-Override ignored for property "db.name"
-Override ignored for property "db.driver"
-Override ignored for property "db.port"
-Override ignored for property "db.port.2"
-Override ignored for property "db.class"
-Override ignored for property "db.user"
-Override ignored for property "db.pwd"
-Override ignored for property "db.type"
-Property "env.JAVKE_HOME" has not been set
-Override ignored for property "javke.home"
-Override ignored for property "dest.type"
-Override ignored for property "dest.name"
-Override ignored for property "jms.factory.name"
-Override ignored for property "jms.factory.type"
-Override ignored for property "jms.resource.name"
-Override ignored for property "jms.resource.type"
-Override ignored for property "jdbc.conpool.name"
-Override ignored for property "jdbc.resource.name"
-Override ignored for property "jdbc.resource.type"
-Override ignored for property "pm.resource.name"
-Override ignored for property "pm.factory.class"
-Override ignored for property "appclient.application.args"
-Override ignored for property "build.base.dir"
-Override ignored for property "build.webapps.dir"
-Override ignored for property "build.classes.dir"
-Override ignored for property "assemble.dir"
-Override ignored for property "results.dir"
-Property "Derby.classpath" has not been set
-Override ignored for property "s1astest.classpath"
-Override ignored for property "ejbjar.classes"
-Override ignored for property "appclientjar.classes"
-Override ignored for property "webclient.war.files"
-Override ignored for property "webclient.war.classes"
-Override ignored for property "test.name"
-Override ignored for property "test.description"
-Override ignored for property "test.count"
-Override ignored for property "cluster.name"
-Override ignored for property "clustered.server.name"
-Override ignored for property "clustered.server.name.two"
-Override ignored for property "nodeagent.name"
-Override ignored for property "das.host"
-Override ignored for property "das.jmx.port"
-Override ignored for property "http.listener1.port"
-Override ignored for property "http.listener2.port"
-Override ignored for property "orb.listener1.port"
-Override ignored for property "ssl.port"
-Override ignored for property "ssl.mutualauth.port"
-Override ignored for property "jmx.system.connector.port"
-Override ignored for property "http.listener1.port.two"
-Override ignored for property "http.listener2.port.two"
-Override ignored for property "orb.listener1.port.two"
-Override ignored for property "ssl.port.two"
-Override ignored for property "ssl.mutualauth.port.two"
-Override ignored for property "jmx.system.connector.port.two"
-Override ignored for property "cert.nickname"
-
-clean-classes-common:
-     [echo] common.xml: Cleaning test source files: /export/work/workspaces/gfv3/appserv-tests/build/module
-  [antcall] Exiting /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml.
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-  [antcall] calling target(s) [clean-jars-common] in build file /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-parsing buildfile /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml with URI = file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/properties.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/common.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.properties
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/run.xml
- [property] Loading Environment env.
-Override ignored for property "env.SESSION_MANAGER"
-Override ignored for property "env.LESSOPEN"
-Override ignored for property "env.NORMBGCOLOR"
-Override ignored for property "env.CVSROOT"
-Override ignored for property "env.MY_ANT_HOME"
-Override ignored for property "env.PWD"
-Override ignored for property "env.XDG_SESSION_COOKIE"
-Override ignored for property "env.LANG"
-Override ignored for property "env.WS"
-Override ignored for property "env.AWT_TOOLKIT"
-Override ignored for property "env.DEFAULTS_PATH"
-Override ignored for property "env.HISTSIZE"
-Override ignored for property "env.INSTALL_ROOT"
-Override ignored for property "env.DISPLAY"
-Override ignored for property "env._"
-Override ignored for property "env.USER"
-Override ignored for property "env.HISTCONTROL"
-Override ignored for property "env.SHELL"
-Override ignored for property "env.NLSPATH"
-Override ignored for property "env.XDG_DATA_DIRS"
-Override ignored for property "env.DESKTOP_SESSION"
-Override ignored for property "env.HISTFILESIZE"
-Override ignored for property "env.APS_HOME"
-Override ignored for property "env.WIDTH"
-Override ignored for property "env.JAVANETCVSROOT"
-Override ignored for property "env.PATH"
-Override ignored for property "env.no_proxy"
-Override ignored for property "env.NORMFGCOLOR"
-Override ignored for property "env.LC_CTYPE"
-Override ignored for property "env.DBUS_SESSION_BUS_ADDRESS"
-Override ignored for property "env.REALPLAYER_HOME"
-Override ignored for property "env.SSH_AGENT_PID"
-Override ignored for property "env.SHLVL"
-Override ignored for property "env.GDMSESSION"
-Override ignored for property "env.GNOME_DESKTOP_SESSION_ID"
-Override ignored for property "env.GDM_KEYBOARD_LAYOUT"
-Override ignored for property "env.GNOME_KEYRING_PID"
-Override ignored for property "env.OS"
-Override ignored for property "env.LOGNAME"
-Override ignored for property "env.ALSA_OUTPUT_PORTS"
-Override ignored for property "env.SCUMMVM_PORT"
-Override ignored for property "env.JAVA_HOME"
-Override ignored for property "env.TERM"
-Override ignored for property "env.QLTESTRES"
-Override ignored for property "env.NO_PROXY"
-Override ignored for property "env.GDM_LANG"
-Override ignored for property "env.DTACH_HOME"
-Override ignored for property "env.OLDPWD"
-Override ignored for property "env.DEBUG"
-Override ignored for property "env.GCONF_LOCAL_LOCKS"
-Override ignored for property "env.M2_HOME"
-Override ignored for property "env.EC2_CERT"
-Override ignored for property "env.WINDOWID"
-Override ignored for property "env.EC2_PRIVATE_KEY"
-Override ignored for property "env.REDCVSROOT"
-Override ignored for property "env.MOZ_DISABLE_PANGO"
-Override ignored for property "env.XFILESEARCHPATH"
-Override ignored for property "env.HOME"
-Override ignored for property "env.ANT_HOME"
-Override ignored for property "env.LD_LIBRARY_PATH"
-Override ignored for property "env.MAVEN_OPTS"
-Override ignored for property "env.SSH_AUTH_SOCK"
-Override ignored for property "env.RBARWIDTH"
-Override ignored for property "env.S1AS_HOME"
-Property "BASH_SOURCE" has not been set
-Property "LINENO" has not been set
-Property "FUNCNAME[0]" has not been set
-Override ignored for property "env.PS4"
-Override ignored for property "env.MAVEN_HOME"
-Override ignored for property "env.XAUTHORITY"
-Property "NEW_PWD" has not been set
-Override ignored for property "env.PS1"
-Override ignored for property "env.MANDATORY_PATH"
-Override ignored for property "env.SPEECHD_PORT"
-Override ignored for property "env.GTK_MODULES"
-Override ignored for property "env.WINDOW_MANAGER"
-Override ignored for property "env.DTRX_HOME"
-Override ignored for property "env.COLORTERM"
-Override ignored for property "env.EDITOR"
-Override ignored for property "env.MALLOC_CHECK_"
-Override ignored for property "env.ORBIT_SOCKETDIR"
-Override ignored for property "env.WP_INSTALL_ROOT"
-Override ignored for property "env.USERNAME"
-Override ignored for property "env.SCALA_HOME"
-Override ignored for property "env.COPE_PATH"
-Override ignored for property "env.QL_HOME"
-Override ignored for property "env.AS_ADMIN_READTIMEOUT"
-Override ignored for property "env.MY_SCRIPT_DIR"
-Override ignored for property "env.GNOME_KEYRING_CONTROL"
-Override ignored for property "env.XDG_CONFIG_DIRS"
-Override ignored for property "env.TODOTXT_HOME"
-Override ignored for property "env.LESSCLOSE"
-Override ignored for property "module"
-Override ignored for property "appname"
-Override ignored for property "assemble"
-Override ignored for property "contextroot"
-Override ignored for property "beans.xml"
-Override ignored for property "target-to-run"
- [macrodef] creating macro  run-test
-Build sequence for target(s) `clean-jars-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-jars-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-jars-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-  [antcall] Entering /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml...
-Build sequence for target(s) `clean-jars-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-jars-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, clean-jars-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, compile-common, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setOSConditions:
-Override ignored for property "isUnix"
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setToolUnix:
-Override ignored for property "APPCLIENT"
-Override ignored for property "ASADMIN"
-Override ignored for property "ASANT"
-Override ignored for property "CAPTURESCHEMA"
-Override ignored for property "CHECKPATCH"
-Override ignored for property "INSTALLPATCH"
-Override ignored for property "JSPC"
-Override ignored for property "LISTPATCH"
-Override ignored for property "PACKAGE-APPCLIENT"
-Override ignored for property "VERIFIER"
-Override ignored for property "RMIC"
-Override ignored for property "TNAMESERV"
-Override ignored for property "WSCOMPILE"
-Override ignored for property "WSIMPORT"
-Override ignored for property "pb.start.server"
-Override ignored for property "pb.start.server1"
-Override ignored for property "IMQDBMGR"
-Override ignored for property "ld.library.path"
-
-setS1ASclassPath:
-Skipped because property 's1as.classpath' set.
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "pe"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "instance.https.port"
-Override ignored for property "admin.domain"
-Override ignored for property "admin.password"
-Override ignored for property "http.address"
-Override ignored for property "http.alternate.port"
-Override ignored for property "ssl.password"
-Override ignored for property "instance.http.port"
-Override ignored for property "resources.dottedname.prefix"
-Override ignored for property "results.mailer"
-Override ignored for property "admin.domain.dir"
-Override ignored for property "admin.user"
-Override ignored for property "config.dottedname.prefix"
-Override ignored for property "instance.name"
-Override ignored for property "precompilejsp"
-Override ignored for property "admin.password.file"
-Override ignored for property "http.port"
-Override ignored for property "https.port"
-Override ignored for property "results.mailee"
-Override ignored for property "appserver.instance.name"
-Override ignored for property "master.password"
-Override ignored for property "http.host"
-Override ignored for property "instance.http.port.3"
-Override ignored for property "instance.http.port.2"
-Override ignored for property "admin.port"
-Override ignored for property "cluster.name"
-Override ignored for property "appserver.instance.dir"
-Override ignored for property "autodeploy.dir"
-Override ignored for property "orb.port"
-Override ignored for property "admin.host"
-Override ignored for property "instance.name.3"
-Override ignored for property "instance.name.2"
-Override ignored for property "results.mailhost"
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
-Override ignored for property "as.props"
-Override ignored for property "authrealmname"
-Override ignored for property "apptype"
-Override ignored for property "db.root"
-Override ignored for property "db.dir"
-Override ignored for property "db.classpath"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Override ignored for property "db.host"
-Override ignored for property "db.url"
-Override ignored for property "db.xaclass"
-Override ignored for property "db.name"
-Override ignored for property "db.driver"
-Override ignored for property "db.port"
-Override ignored for property "db.port.2"
-Override ignored for property "db.class"
-Override ignored for property "db.user"
-Override ignored for property "db.pwd"
-Override ignored for property "db.type"
-Property "env.JAVKE_HOME" has not been set
-Override ignored for property "javke.home"
-Override ignored for property "dest.type"
-Override ignored for property "dest.name"
-Override ignored for property "jms.factory.name"
-Override ignored for property "jms.factory.type"
-Override ignored for property "jms.resource.name"
-Override ignored for property "jms.resource.type"
-Override ignored for property "jdbc.conpool.name"
-Override ignored for property "jdbc.resource.name"
-Override ignored for property "jdbc.resource.type"
-Override ignored for property "pm.resource.name"
-Override ignored for property "pm.factory.class"
-Override ignored for property "appclient.application.args"
-Override ignored for property "build.base.dir"
-Override ignored for property "build.webapps.dir"
-Override ignored for property "build.classes.dir"
-Override ignored for property "assemble.dir"
-Override ignored for property "results.dir"
-Property "Derby.classpath" has not been set
-Override ignored for property "s1astest.classpath"
-Override ignored for property "ejbjar.classes"
-Override ignored for property "appclientjar.classes"
-Override ignored for property "webclient.war.files"
-Override ignored for property "webclient.war.classes"
-Override ignored for property "test.name"
-Override ignored for property "test.description"
-Override ignored for property "test.count"
-Override ignored for property "cluster.name"
-Override ignored for property "clustered.server.name"
-Override ignored for property "clustered.server.name.two"
-Override ignored for property "nodeagent.name"
-Override ignored for property "das.host"
-Override ignored for property "das.jmx.port"
-Override ignored for property "http.listener1.port"
-Override ignored for property "http.listener2.port"
-Override ignored for property "orb.listener1.port"
-Override ignored for property "ssl.port"
-Override ignored for property "ssl.mutualauth.port"
-Override ignored for property "jmx.system.connector.port"
-Override ignored for property "http.listener1.port.two"
-Override ignored for property "http.listener2.port.two"
-Override ignored for property "orb.listener1.port.two"
-Override ignored for property "ssl.port.two"
-Override ignored for property "ssl.mutualauth.port.two"
-Override ignored for property "jmx.system.connector.port.two"
-Override ignored for property "cert.nickname"
-  [antcall] Exiting /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml.
-  [antcall] Exiting /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml.
-
-compile:
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-  [antcall] calling target(s) [compile-common] in build file /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-parsing buildfile /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml with URI = file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml
-Project base dir set to: /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/properties.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/common.xml
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.properties
-resolving systemId: file:/export/work/workspaces/gfv3/appserv-tests/config/run.xml
- [property] Loading Environment env.
-Override ignored for property "env.SESSION_MANAGER"
-Override ignored for property "env.LESSOPEN"
-Override ignored for property "env.NORMBGCOLOR"
-Override ignored for property "env.CVSROOT"
-Override ignored for property "env.MY_ANT_HOME"
-Override ignored for property "env.PWD"
-Override ignored for property "env.XDG_SESSION_COOKIE"
-Override ignored for property "env.LANG"
-Override ignored for property "env.WS"
-Override ignored for property "env.AWT_TOOLKIT"
-Override ignored for property "env.DEFAULTS_PATH"
-Override ignored for property "env.HISTSIZE"
-Override ignored for property "env.INSTALL_ROOT"
-Override ignored for property "env.DISPLAY"
-Override ignored for property "env._"
-Override ignored for property "env.USER"
-Override ignored for property "env.HISTCONTROL"
-Override ignored for property "env.SHELL"
-Override ignored for property "env.NLSPATH"
-Override ignored for property "env.XDG_DATA_DIRS"
-Override ignored for property "env.DESKTOP_SESSION"
-Override ignored for property "env.HISTFILESIZE"
-Override ignored for property "env.APS_HOME"
-Override ignored for property "env.WIDTH"
-Override ignored for property "env.JAVANETCVSROOT"
-Override ignored for property "env.PATH"
-Override ignored for property "env.no_proxy"
-Override ignored for property "env.NORMFGCOLOR"
-Override ignored for property "env.LC_CTYPE"
-Override ignored for property "env.DBUS_SESSION_BUS_ADDRESS"
-Override ignored for property "env.REALPLAYER_HOME"
-Override ignored for property "env.SSH_AGENT_PID"
-Override ignored for property "env.SHLVL"
-Override ignored for property "env.GDMSESSION"
-Override ignored for property "env.GNOME_DESKTOP_SESSION_ID"
-Override ignored for property "env.GDM_KEYBOARD_LAYOUT"
-Override ignored for property "env.GNOME_KEYRING_PID"
-Override ignored for property "env.OS"
-Override ignored for property "env.LOGNAME"
-Override ignored for property "env.ALSA_OUTPUT_PORTS"
-Override ignored for property "env.SCUMMVM_PORT"
-Override ignored for property "env.JAVA_HOME"
-Override ignored for property "env.TERM"
-Override ignored for property "env.QLTESTRES"
-Override ignored for property "env.NO_PROXY"
-Override ignored for property "env.GDM_LANG"
-Override ignored for property "env.DTACH_HOME"
-Override ignored for property "env.OLDPWD"
-Override ignored for property "env.DEBUG"
-Override ignored for property "env.GCONF_LOCAL_LOCKS"
-Override ignored for property "env.M2_HOME"
-Override ignored for property "env.EC2_CERT"
-Override ignored for property "env.WINDOWID"
-Override ignored for property "env.EC2_PRIVATE_KEY"
-Override ignored for property "env.REDCVSROOT"
-Override ignored for property "env.MOZ_DISABLE_PANGO"
-Override ignored for property "env.XFILESEARCHPATH"
-Override ignored for property "env.HOME"
-Override ignored for property "env.ANT_HOME"
-Override ignored for property "env.LD_LIBRARY_PATH"
-Override ignored for property "env.MAVEN_OPTS"
-Override ignored for property "env.SSH_AUTH_SOCK"
-Override ignored for property "env.RBARWIDTH"
-Override ignored for property "env.S1AS_HOME"
-Property "BASH_SOURCE" has not been set
-Property "LINENO" has not been set
-Property "FUNCNAME[0]" has not been set
-Override ignored for property "env.PS4"
-Override ignored for property "env.MAVEN_HOME"
-Override ignored for property "env.XAUTHORITY"
-Property "NEW_PWD" has not been set
-Override ignored for property "env.PS1"
-Override ignored for property "env.MANDATORY_PATH"
-Override ignored for property "env.SPEECHD_PORT"
-Override ignored for property "env.GTK_MODULES"
-Override ignored for property "env.WINDOW_MANAGER"
-Override ignored for property "env.DTRX_HOME"
-Override ignored for property "env.COLORTERM"
-Override ignored for property "env.EDITOR"
-Override ignored for property "env.MALLOC_CHECK_"
-Override ignored for property "env.ORBIT_SOCKETDIR"
-Override ignored for property "env.WP_INSTALL_ROOT"
-Override ignored for property "env.USERNAME"
-Override ignored for property "env.SCALA_HOME"
-Override ignored for property "env.COPE_PATH"
-Override ignored for property "env.QL_HOME"
-Override ignored for property "env.AS_ADMIN_READTIMEOUT"
-Override ignored for property "env.MY_SCRIPT_DIR"
-Override ignored for property "env.GNOME_KEYRING_CONTROL"
-Override ignored for property "env.XDG_CONFIG_DIRS"
-Override ignored for property "env.TODOTXT_HOME"
-Override ignored for property "env.LESSCLOSE"
-Override ignored for property "module"
-Override ignored for property "appname"
-Override ignored for property "assemble"
-Override ignored for property "contextroot"
-Override ignored for property "beans.xml"
-Override ignored for property "target-to-run"
- [macrodef] creating macro  run-test
-Build sequence for target(s) `compile-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, compile-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, compile-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-  [antcall] Entering /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml...
-Build sequence for target(s) `compile-common' is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, compile-common]
-Complete build sequence is [setOSConditions, setToolWin, setToolUnix, setToolProperty, setS1ASclassPath, init-common, compile-common, restart-instance-common, execute-sql-common, deploy-rar-common, undeploy, deploy-jdbc-common, undeploy-rar-common, set-derby-connpool-props, create-sql-common, deploy-war-no-context-root-pe, verifier-common, start-server-unix, test-tagfiles-exist, create-PermSize, execute-ejb-sql-common, undeploy-client-common, prepare-keystore-common, deploy-verify-common-ee, startDerby, confirmMissingReport-common, create-connector-resource-common, asadmin-common, create-connector-connpool, delete-connector-connpool-common, verifier, start-clean-server, runwebclient-common, deploy-common-ee, startDerbyNonMac, webclient-war-common, flush-connpool-common, stopDerby, clean-webapps-common, delete-jdbc-connpool-common, prepare-truststore-common, deploy-verify-common, run, test-tlds-exist, deploy-verify-common-pe, undeploy-common, undeploy-jar-common, deploy-client-common, enterprise-common, create-mail-resource-common, package-persistence-common, deploy-war-commonee, startDomainWindows, set-derby-driver-connpool-props, deploy-war-no-context-root, undeploy-jdbc-common, deploy-common-pe, clear, copy-tagfiles, clean, compile, build, deploy, restart-server-instance-common, deploy-jar-common, delete-domain-common, stopPB, compile-common-with-endorsed-dir, import-wsdl, deploy-war-commonpe, restart-server, runclient-common, package-appclientjar-common, ee-common, copy-tlds, delete-persistence-resource-common, undeploy-jms-common, asadmin-common-ignore-fail, startDomainUnix, startDomain, fixFiles, ejb-jar-common, appclient-jar-common, build-ear-common, publish-war-common, build-publish-war, stop-server-unix, clean-classes-common, clean-common, create-jdbc-connpool-common, dev-report, startDerbyMac, deploy-jms-common, package-war-common, package-ejbjar-common, delete-connector-resource-common, deploy-jsp-common, unsetupTimer, undeploy-war-common, change-orb-port, delete-mail-resource-common, deploy-common, create-jms-resource-common, setup-mq-common, delete-jdbc-resource-common, start-server-windows, dumpThreadStack, setupTimer, deploy-war-common, start-server, ee, checkReporting-common, testTimer, stop-server, create-jdbc-driver-connpool-common, all, platform-common, create-jms-connection-common, undeploy-war-name, cleanAS, deploy-dir, preparePB, stop-server-windows, confirmReportPresent-common, delete-jms-resource-common, pb, runtest, create-jvm-options, clean-jars-common, restart-instance, stopDomain, create-connector-connpool-common, set-pointbase-driver-connpool-props, delete-sql-common, deploy-jdbc-driver-common, create-domain-common, delete-jvm-options, create-jdbc-resource-common, prepare-truststore-certutil-common, create-user-common, asadmin-batch-common, delete-user-common, prepare-truststore-keytool-common, convWin, create-persistence-resource-common, get-version-common, startPB, delete-jms-connection-common, usage-common, deploy-war-no-context-root-ee, set-pointbase-connpool-props, usage, convUnix, staticCheck-common, ear-common, deploy-war-name, ]
-
-setOSConditions:
-Override ignored for property "isUnix"
-
-setToolWin:
-Skipped because property 'isWindows' not set.
-
-setToolUnix:
-Override ignored for property "APPCLIENT"
-Override ignored for property "ASADMIN"
-Override ignored for property "ASANT"
-Override ignored for property "CAPTURESCHEMA"
-Override ignored for property "CHECKPATCH"
-Override ignored for property "INSTALLPATCH"
-Override ignored for property "JSPC"
-Override ignored for property "LISTPATCH"
-Override ignored for property "PACKAGE-APPCLIENT"
-Override ignored for property "VERIFIER"
-Override ignored for property "RMIC"
-Override ignored for property "TNAMESERV"
-Override ignored for property "WSCOMPILE"
-Override ignored for property "WSIMPORT"
-Override ignored for property "pb.start.server"
-Override ignored for property "pb.start.server1"
-Override ignored for property "IMQDBMGR"
-Override ignored for property "ld.library.path"
-
-setS1ASclassPath:
-Skipped because property 's1as.classpath' set.
-
-init-common:
-     [echo] Loading props from file /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "pe"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config.properties
-Override ignored for property "instance.https.port"
-Override ignored for property "admin.domain"
-Override ignored for property "admin.password"
-Override ignored for property "http.address"
-Override ignored for property "http.alternate.port"
-Override ignored for property "ssl.password"
-Override ignored for property "instance.http.port"
-Override ignored for property "resources.dottedname.prefix"
-Override ignored for property "results.mailer"
-Override ignored for property "admin.domain.dir"
-Override ignored for property "admin.user"
-Override ignored for property "config.dottedname.prefix"
-Override ignored for property "instance.name"
-Override ignored for property "precompilejsp"
-Override ignored for property "admin.password.file"
-Override ignored for property "http.port"
-Override ignored for property "https.port"
-Override ignored for property "results.mailee"
-Override ignored for property "appserver.instance.name"
-Override ignored for property "master.password"
-Override ignored for property "http.host"
-Override ignored for property "instance.http.port.3"
-Override ignored for property "instance.http.port.2"
-Override ignored for property "admin.port"
-Override ignored for property "cluster.name"
-Override ignored for property "appserver.instance.dir"
-Override ignored for property "autodeploy.dir"
-Override ignored for property "orb.port"
-Override ignored for property "admin.host"
-Override ignored for property "instance.name.3"
-Override ignored for property "instance.name.2"
-Override ignored for property "results.mailhost"
-     [echo] admin.domain domain1
-     [echo] admin.user admin
-     [echo] admin.port 4848
-     [echo] http.port 8080
-     [echo] http.host localhost
-Override ignored for property "as.props"
-Override ignored for property "authrealmname"
-Override ignored for property "apptype"
-Override ignored for property "db.root"
-Override ignored for property "db.dir"
-Override ignored for property "db.classpath"
- [property] Loading /export/work/workspaces/gfv3/appserv-tests/config/derby.properties
-Override ignored for property "db.host"
-Override ignored for property "db.url"
-Override ignored for property "db.xaclass"
-Override ignored for property "db.name"
-Override ignored for property "db.driver"
-Override ignored for property "db.port"
-Override ignored for property "db.port.2"
-Override ignored for property "db.class"
-Override ignored for property "db.user"
-Override ignored for property "db.pwd"
-Override ignored for property "db.type"
-Property "env.JAVKE_HOME" has not been set
-Override ignored for property "javke.home"
-Override ignored for property "dest.type"
-Override ignored for property "dest.name"
-Override ignored for property "jms.factory.name"
-Override ignored for property "jms.factory.type"
-Override ignored for property "jms.resource.name"
-Override ignored for property "jms.resource.type"
-Override ignored for property "jdbc.conpool.name"
-Override ignored for property "jdbc.resource.name"
-Override ignored for property "jdbc.resource.type"
-Override ignored for property "pm.resource.name"
-Override ignored for property "pm.factory.class"
-Override ignored for property "appclient.application.args"
-Override ignored for property "build.base.dir"
-Override ignored for property "build.webapps.dir"
-Override ignored for property "build.classes.dir"
-Override ignored for property "assemble.dir"
-Override ignored for property "results.dir"
-Property "Derby.classpath" has not been set
-Override ignored for property "s1astest.classpath"
-Override ignored for property "ejbjar.classes"
-Override ignored for property "appclientjar.classes"
-Override ignored for property "webclient.war.files"
-Override ignored for property "webclient.war.classes"
-Override ignored for property "test.name"
-Override ignored for property "test.description"
-Override ignored for property "test.count"
-Override ignored for property "cluster.name"
-Override ignored for property "clustered.server.name"
-Override ignored for property "clustered.server.name.two"
-Override ignored for property "nodeagent.name"
-Override ignored for property "das.host"
-Override ignored for property "das.jmx.port"
-Override ignored for property "http.listener1.port"
-Override ignored for property "http.listener2.port"
-Override ignored for property "orb.listener1.port"
-Override ignored for property "ssl.port"
-Override ignored for property "ssl.mutualauth.port"
-Override ignored for property "jmx.system.connector.port"
-Override ignored for property "http.listener1.port.two"
-Override ignored for property "http.listener2.port.two"
-Override ignored for property "orb.listener1.port.two"
-Override ignored for property "ssl.port.two"
-Override ignored for property "ssl.mutualauth.port.two"
-Override ignored for property "jmx.system.connector.port.two"
-Override ignored for property "cert.nickname"
-
-compile-common:
-    [mkdir] Created dir: /export/work/workspaces/gfv3/appserv-tests/build/module/classes
-     [echo] common.xml: Compiling test source files
-    [mkdir] Skipping /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet because it already exists.
-    [javac] ClassUnavailableAtRuntime.java added as ClassUnavailableAtRuntime.class doesn't exist.
-    [javac] OptionalService.java added as OptionalService.class doesn't exist.
-    [javac] TestBean.java added as TestBean.class doesn't exist.
-    [javac] TestLoggerProducer.java added as TestLoggerProducer.class doesn't exist.
-    [javac] TestServlet.java added as TestServlet.class doesn't exist.
-    [javac] Compiling 5 source files to /export/work/workspaces/gfv3/appserv-tests/build/module/classes
-    [javac] Using modern compiler
-dropping /export/work/workspaces/gfv3/appserv-tests/sqetests/connector/lib/cci-derby-proc.jar from path as it doesn't exist
-dropping /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/${Derby.classpath} from path as it doesn't exist
-    [javac] Compilation arguments:
-    [javac] '-d'
-    [javac] '/export/work/workspaces/gfv3/appserv-tests/build/module/classes'
-    [javac] '-classpath'
-    [javac] '/export/work/workspaces/gfv3/appserv-tests/build/module/classes:/export/work/workspaces/gfv3/appserv-tests/lib/reporter.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/acc-config.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/admin-cli.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/admin-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/admin-util.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/amx-all.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/annotation-framework.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ant.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/antlr-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/api-exporter.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/appclient-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/appclient-server-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/appclient.security.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/asm-all-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/auto-depends.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/org.apache.felix.bundlerepository.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/org.apache.felix.eventadmin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/org.apache.felix.scr.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-cdi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-ee-resources.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-ejb-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-javaee-base.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-jdbc.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-jpa.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-jta.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/autostart/osgi-web-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/backup.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/hibernate-validator.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/branding.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/class-model.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cli-optional.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cluster-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cluster-cli.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cluster-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cluster-ssh.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-ejb-mapping.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-enhancer.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-generator-database.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-model.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-support-ejb.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-support-sqlstore.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/cmp-utility.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/common-util.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/config-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/config-types.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/config.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/connectors-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/connectors-inbound-runtime.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/connectors-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/connectors-runtime.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-cluster-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-cluster-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-common-full-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-common-full-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-common-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-community-branding-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-corba-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-corba-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-ejb-lite-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-ejb-lite-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-ejb-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-ejb-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jca-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jca-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jdbc-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jdbc-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jms-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jms-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jts-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-jts-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-plugin-service.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-updatecenter-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-web-plugin-help.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/console-web-plugin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/container-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/dataprovider.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/dbschema-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-autodeploy.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-client.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-javaee-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/deployment-javaee-full.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/dol.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ejb-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ejb-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ejb.security.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/el-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/endorsed/javax.annotation.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/endorsed/jaxb-api-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/endorsed/webservices-api-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/flashlight-extra-jdk-packages.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/flashlight-framework.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gf-client-module.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gf-connectors-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gf-ejb-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gf-web-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-asm.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-codegen.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-csiv2-idl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-newtimer.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-omgapi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-orb.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-corba-orbgeneric.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-ee-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-extra-jre-packages.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-mbeanserver.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-naming.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-oracle-jdbc-driver-packages.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish-registration.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/glassfish.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gmbal-api-only.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gmbal.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gms-adapter.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/gms-bootstrap.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-comet.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-config.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-framework-tests.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-framework.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-http-ajp.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-http-server.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-http-servlet.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-http.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-portunif.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-rcm.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/grizzly-websockets.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ha-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ha-file-store.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ha-shoal-cache-bootstrap.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ha-shoal-cache-store.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/hk2-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/hk2.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/inmemory.jacc.provider.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jackson-core-asl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jackson-jaxrs.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jackson-mapper-asl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jackson-xc.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jaspic.provider.framework.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javaee-kernel.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.ejb.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.enterprise.deploy.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.jms.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.mail.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.management.j2ee.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.persistence.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.resource.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.security.auth.message.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.security.jacc.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.servlet.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.servlet.jsp.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.servlet.jsp.jstl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/javax.transaction.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jaxb-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jaxrpc-api-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jdbc-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-client.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-gf-server.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-gf-statsproviders.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-grizzly2.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-json.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jersey-multipart.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jettison.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jms-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jms-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jmxremote_optional-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jpa-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsf-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsf-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsf-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsftemplating.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsp-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jspcaching-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jsr109-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jstl-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jstl-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jta.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/jts.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/kernel.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/launcher.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ldapbp-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/libpam4j-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/libvirt.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/load-balancer-admin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/logging.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/management-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/metro-glue.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/mimepull.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/monitoring-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/orb-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/orb-enabler.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/orb-iiop.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.configadmin.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.fileinstall.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.gogo.command.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.gogo.runtime.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.gogo.shell.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.shell.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.shell.remote.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.apache.felix.shell.tui.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.antlr.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.asm.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.jpa.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.jpa.modelgen.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/org.eclipse.persistence.oracle.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-adapter.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-container.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-jpa-extension.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-main.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/osgi-resource-locator.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/persistence-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/pkg-client.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/registration-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/registration-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/rest-service.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/scattered-archive-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/schema2beans-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/security.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/server-mgmt.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/shoal-cache.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/shoal-gms-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/shoal-gms-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/simple-glassfish-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/soap-tcp.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/ssl-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/stats77.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/transaction-internal-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/trilead-ssh2-repackaged.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/virt-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/war-util.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-cli.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-core.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-embed-api.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-embed-impl.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-glue.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-gui-plugin-common.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-ha.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/web-naming.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/websecurity.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/webservices-connector.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/webservices-extra-jdk-packages.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/webservices-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/webservices.security.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/weld-integration-fragment.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/weld-integration.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/weld-osgi-bundle.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/woodstox-osgi.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/glassfish/modules/work-management.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/javadb/lib/derby.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/javadb/lib/derbyclient.jar:/export/work/workspaces/gfv3/v3/distributions/glassfish/target/glassfish6/javadb/lib/derbynet.jar:/space/apps/apache-ant-1.7.1/lib/ant-launcher.jar:/space/apps/apache-ant-1.7.1/lib/ant-jai.jar:/space/apps/apache-ant-1.7.1/lib/ant-antlr.jar:/space/apps/apache-ant-1.7.1/lib/ant-starteam.jar:/space/apps/apache-ant-1.7.1/lib/ant-jdepend.jar:/space/apps/apache-ant-1.7.1/lib/ant-apache-oro.jar:/space/apps/apache-ant-1.7.1/lib/ant-trax.jar:/space/apps/apache-ant-1.7.1/lib/ant-apache-regexp.jar:/space/apps/apache-ant-1.7.1/lib/ant-jmf.jar:/space/apps/apache-ant-1.7.1/lib/ant-jsch.jar:/space/apps/apache-ant-1.7.1/lib/ant-apache-bsf.jar:/space/apps/apache-ant-1.7.1/lib/ant-netrexx.jar:/space/apps/apache-ant-1.7.1/lib/ant-swing.jar:/space/apps/apache-ant-1.7.1/lib/xercesImpl.jar:/space/apps/apache-ant-1.7.1/lib/ant-apache-bcel.jar:/space/apps/apache-ant-1.7.1/lib/ant-stylebook.jar:/space/apps/apache-ant-1.7.1/lib/ant-javamail.jar:/space/apps/apache-ant-1.7.1/lib/ant-junit.jar:/space/apps/apache-ant-1.7.1/lib/ant-commons-net.jar:/space/apps/apache-ant-1.7.1/lib/ant-commons-logging.jar:/space/apps/apache-ant-1.7.1/lib/ant-weblogic.jar:/space/apps/apache-ant-1.7.1/lib/ant-apache-log4j.jar:/space/apps/apache-ant-1.7.1/lib/ant.jar:/space/apps/apache-ant-1.7.1/lib/xml-apis.jar:/space/apps/apache-ant-1.7.1/lib/ant-nodeps.jar:/space/apps/apache-ant-1.7.1/lib/ant-testutil.jar:/space/apps/apache-ant-1.7.1/lib/ant-apache-resolver.jar:/space/apps/jdk1.6.0_22/lib/tools.jar'
-    [javac] '-sourcepath'
-    [javac] '/export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet'
-    [javac] '-g'
-    [javac] 
-    [javac] The ' characters around the executable and arguments are
-    [javac] not part of the command.
-    [javac] Files to be compiled:
-    [javac]     /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/ClassUnavailableAtRuntime.java
-    [javac]     /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/OptionalService.java
-    [javac]     /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/TestBean.java
-    [javac]     /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/TestLoggerProducer.java
-    [javac]     /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/TestServlet.java
-  [antcall] Exiting /export/work/workspaces/gfv3/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/build.xml.
-   [delete] Deleting: /export/work/workspaces/gfv3/appserv-tests/build/module/classes/ClassUnavailableAtRuntime.class
-
-BUILD SUCCESSFUL
-Total time: 3 seconds
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/TestServlet.java
index 67edfe7..3119bc5 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/optional-unbundled-beans/servlet/TestServlet.java
@@ -20,12 +20,12 @@
 import java.util.Iterator;
 import java.util.Set;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.inject.Inject;
 import jakarta.enterprise.inject.Any;
 import jakarta.enterprise.inject.spi.Bean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ear/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ear/war/HelloServlet.java
index d8a5609..9d0fd5e 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ear/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ear/war/HelloServlet.java
@@ -19,12 +19,12 @@
 import jakarta.ejb.EJB;
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import jakarta.annotation.Resource;
 import javax.naming.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor-nonnull-package/servlet/com/tests/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor-nonnull-package/servlet/com/tests/TestServlet.java
index f3692ab..ec38415 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor-nonnull-package/servlet/com/tests/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor-nonnull-package/servlet/com/tests/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name="mytest",
         urlPatterns={"/myurl"},
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor/servlet/TestServlet.java
index 95b2928..63d89da 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean-interceptor/servlet/TestServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name="mytest",
         urlPatterns={"/myurl"},
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean/servlet/TestServlet.java
index 9ef3493..8180c4f 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-managed-bean/servlet/TestServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name="mytest",
         urlPatterns={"/myurl"},
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-wab-with-cdi/descriptor/MANIFEST.MF b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-wab-with-cdi/descriptor/MANIFEST.MF
index ee90990..9e6ef2a 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-wab-with-cdi/descriptor/MANIFEST.MF
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-wab-with-cdi/descriptor/MANIFEST.MF
@@ -17,5 +17,5 @@
 Bundle-SymbolicName: tests.cdi.simple-cdi-osgi-test
 Web-ContextPath: /test
 Import-Package: jakarta.enterprise.context,jakarta.enterprise.inject,javax
- .inject,jakarta.enterprise.inject.spi,javax.servlet,javax.servlet.annotation,javax.servlet.http,javax.naming
+ .inject,jakarta.enterprise.inject.spi,jakarta.servlet,jakarta.servlet.annotation,jakarta.servlet.http,javax.naming
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-wab-with-cdi/servlet/tests/cdi/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-wab-with-cdi/servlet/tests/cdi/TestServlet.java
index 67f230a..177f830 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-wab-with-cdi/servlet/tests/cdi/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-wab-with-cdi/servlet/tests/cdi/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.inject.Inject;
 import jakarta.enterprise.inject.spi.BeanManager;
 import javax.naming.InitialContext;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/slf4j-visibility/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/slf4j-visibility/servlet/TestServlet.java
index 27b0683..ffc409b 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/slf4j-visibility/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/slf4j-visibility/servlet/TestServlet.java
@@ -20,12 +20,12 @@
 import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import org.jboss.logging.Logger;
 //import org.slf4j.LoggerFactory;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/specialization/alternative-leaks/servlet/test/servlet/LeakQualifierTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/specialization/alternative-leaks/servlet/test/servlet/LeakQualifierTestServlet.java
index 9dca6a4..519299e 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/specialization/alternative-leaks/servlet/test/servlet/LeakQualifierTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/specialization/alternative-leaks/servlet/test/servlet/LeakQualifierTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestBeanInterface;
 import test.beans.artifacts.LeakQualifier;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/specialization/specialization-simple/servlet/test/servlet/SimpleSpecializationTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/specialization/specialization-simple/servlet/test/servlet/SimpleSpecializationTestServlet.java
index bd71ac0..38d836d 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/specialization/specialization-simple/servlet/test/servlet/SimpleSpecializationTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/specialization/specialization-simple/servlet/test/servlet/SimpleSpecializationTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestBeanInterface;
 import test.beans.artifacts.AnotherQualifier;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/alternative-stereotypes/servlet/test/servlet/AlternativeStereotypesTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/alternative-stereotypes/servlet/test/servlet/AlternativeStereotypesTestServlet.java
index 4bffd3c..cbee7f5 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/alternative-stereotypes/servlet/test/servlet/AlternativeStereotypesTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/alternative-stereotypes/servlet/test/servlet/AlternativeStereotypesTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestBeanInterface;
 import test.beans.artifacts.Preferred;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/interceptor-bindings-for-stereotypes/servlet/test/servlet/InterceptorBindingsForStereotypesTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/interceptor-bindings-for-stereotypes/servlet/test/servlet/InterceptorBindingsForStereotypesTestServlet.java
index 391ba72..b44e631 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/interceptor-bindings-for-stereotypes/servlet/test/servlet/InterceptorBindingsForStereotypesTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/interceptor-bindings-for-stereotypes/servlet/test/servlet/InterceptorBindingsForStereotypesTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.Preferred;
 import test.beans.RequiresNewTransactionInterceptor;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/stereotype-stacking/servlet/test/servlet/StereotypeStackingTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/stereotype-stacking/servlet/test/servlet/StereotypeStackingTestServlet.java
index a614a91..3e66b23 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/stereotypes/stereotype-stacking/servlet/test/servlet/StereotypeStackingTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/stereotypes/stereotype-stacking/servlet/test/servlet/StereotypeStackingTestServlet.java
@@ -20,11 +20,11 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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;
 
 import test.beans.TestSecureBean;
 import test.beans.TestTxBean;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/transactions/transaction-scoped/servlet/test/servlet/TransactionScopedTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/transactions/transaction-scoped/servlet/test/servlet/TransactionScopedTestServlet.java
index 1140143..b6bf43a 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/transactions/transaction-scoped/servlet/test/servlet/TransactionScopedTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/transactions/transaction-scoped/servlet/test/servlet/TransactionScopedTestServlet.java
@@ -21,12 +21,12 @@
 
 import jakarta.enterprise.context.ContextNotActiveException;
 import jakarta.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-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.ServletOutputStream;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.transaction.UserTransaction;
 import java.io.IOException;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/unproxyable-deps/servlet/UnproxyableDepsTest.java b/appserver/tests/appserv-tests/devtests/cdi/unproxyable-deps/servlet/UnproxyableDepsTest.java
index da96f03..bfa6b05 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/unproxyable-deps/servlet/UnproxyableDepsTest.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/unproxyable-deps/servlet/UnproxyableDepsTest.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import test.artifacts.AppScopedBean;
 
diff --git a/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/servlet/UnsatisfiedDependenciesServlet.java b/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/servlet/UnsatisfiedDependenciesServlet.java
index 65af64a..d728288 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/servlet/UnsatisfiedDependenciesServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/unsatisfied-deps/servlet/UnsatisfiedDependenciesServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import test.artifacts.MockPaymentProcessor;
 import test.artifacts.PaymentProcessor;
diff --git a/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml-module-scope/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml-module-scope/app/src/mdb/MyMessageBean.java
index 07dfa7c..54e77ea 100755
--- a/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml-module-scope/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml-module-scope/app/src/mdb/MyMessageBean.java
@@ -20,8 +20,8 @@
 import jakarta.ejb.*;
 import javax.naming.*;
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml/app/src/mdb/MyMessageBean.java
index 1d3d912..ea919dc 100644
--- a/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/connector1.5-resourcesxml/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/connector1.5/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/connector1.5/app/src/mdb/MyMessageBean.java
index 832ff77..b7d443b 100644
--- a/appserver/tests/appserv-tests/devtests/connector/connector1.5/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/connector1.5/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5-resourcesxml/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5-resourcesxml/app/src/mdb/MyMessageBean.java
index 8350885..d1d78f2 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5-resourcesxml/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5-resourcesxml/app/src/mdb/MyMessageBean.java
@@ -20,8 +20,8 @@
 import jakarta.ejb.*;
 import javax.naming.*;
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/src/mdb/MyMessageBean.java
index 832ff77..b7d443b 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedConnector1.5/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb-resourcesxml-defaultconnpool/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/embeddedweb-resourcesxml-defaultconnpool/servlet/SimpleBankServlet.java
index d704112..8295007 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb-resourcesxml-defaultconnpool/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedweb-resourcesxml-defaultconnpool/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/servlet/SimpleBankServlet.java
index 5180787..ff76f00 100644
--- a/appserver/tests/appserv-tests/devtests/connector/embeddedweb/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/embeddedweb/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/nonstringmcfproperties/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/nonstringmcfproperties/servlet/SimpleBankServlet.java
index 5180787..ff76f00 100644
--- a/appserver/tests/appserv-tests/devtests/connector/nonstringmcfproperties/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/nonstringmcfproperties/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/servlet/SimpleServlet.java
index a9d1405..02d3894 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci-embedded/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.Context;
 import javax.rmi.PortableRemoteObject;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/servlet/SimpleServlet.java
index fa2a5a2..a54c854 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/SunRaXml/cci/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.Context;
 import javax.rmi.PortableRemoteObject;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition-embedra/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition-embedra/servlet/Servlet.java
index 7e06423..f365c7f 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition-embedra/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition-embedra/servlet/Servlet.java
@@ -20,9 +20,9 @@
 
 import jakarta.resource.AdministeredObjectDefinitions;
 import jakarta.resource.AdministeredObjectDefinition;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.*;
 import javax.naming.*;
 import jakarta.ejb.EJB;
 import jakarta.ejb.EJBs;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/servlet/Servlet.java
index 4a3ff1d..1b1efa1 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/administered-object-definition/servlet/Servlet.java
@@ -20,9 +20,9 @@
 
 import jakarta.resource.AdministeredObjectDefinitions;
 import jakarta.resource.AdministeredObjectDefinition;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.*;
 import javax.naming.*;
 import jakarta.ejb.EJB;
 import jakarta.ejb.EJBs;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector-mixedmode/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector-mixedmode/app/src/mdb/MyMessageBean.java
index 6eb042f..e4a5735 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector-mixedmode/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector-mixedmode/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector-mixedmode/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector-mixedmode/app/src/servlet/SimpleServlet.java
index f6325c9..243baf4 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector-mixedmode/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector-mixedmode/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector1.5/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector1.5/app/src/mdb/MyMessageBean.java
index 1af8def..47d776f 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector1.5/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector1.5/app/src/mdb/MyMessageBean.java
@@ -21,8 +21,8 @@
 import javax.naming.*;
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector1.5/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector1.5/app/src/servlet/SimpleServlet.java
index 2222038..9e0d61e 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector1.5/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-connector1.5/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/servlet/SimpleBankServlet.java
index 3fdf39c..bc7b55d 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/annotation-embeddedweb/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import jakarta.ejb.*; 
 
 import samples.ejb.subclassing.ejb.*; 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/app-scoped-resources-ms4-demo/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/app-scoped-resources-ms4-demo/app/src/mdb/MyMessageBean.java
index 1da02c2..b7427aa 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/app-scoped-resources-ms4-demo/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/app-scoped-resources-ms4-demo/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/app-scoped-resources-ms4-demo/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/app-scoped-resources-ms4-demo/app/src/servlet/SimpleServlet.java
index b6b2f6c..1ee0d14 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/app-scoped-resources-ms4-demo/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/app-scoped-resources-ms4-demo/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/beanvalidation-simple-resources-xml/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/beanvalidation-simple-resources-xml/app/src/mdb/MyMessageBean.java
index 9004c38..a48aab1 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/beanvalidation-simple-resources-xml/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/beanvalidation-simple-resources-xml/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/beanvalidation-simple/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/beanvalidation-simple/app/src/mdb/MyMessageBean.java
index 9004c38..a48aab1 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/beanvalidation-simple/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/beanvalidation-simple/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/config-property-accessor-test/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/config-property-accessor-test/servlet/SimpleServlet.java
index 1a8b7f4..be37953 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/config-property-accessor-test/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/config-property-accessor-test/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connection-factory-definition-embedra/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/connection-factory-definition-embedra/servlet/Servlet.java
index 5232dec..ad682c2 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connection-factory-definition-embedra/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connection-factory-definition-embedra/servlet/Servlet.java
@@ -23,9 +23,9 @@
 import jakarta.resource.cci.Connection;
 import jakarta.resource.cci.ConnectionFactory;
 import jakarta.resource.spi.TransactionSupport.TransactionSupportLevel;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.*;
 import javax.naming.*;
 import jakarta.ejb.EJB;
 import jakarta.ejb.EJBs;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connection-factory-definition/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/connection-factory-definition/servlet/Servlet.java
index b816b6d..6a5047f 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connection-factory-definition/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connection-factory-definition/servlet/Servlet.java
@@ -23,9 +23,9 @@
 import jakarta.resource.cci.Connection;
 import jakarta.resource.cci.ConnectionFactory;
 import jakarta.resource.spi.TransactionSupport.TransactionSupportLevel;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.*;
 import javax.naming.*;
 import jakarta.ejb.EJB;
 import jakarta.ejb.EJBs;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/app/src/mdb/MyMessageBean.java
index 9004c38..a48aab1 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/app/src/servlet/SimpleServlet.java
index 993a367..4546754 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.5/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/app/src/mdb/MyMessageBean.java
index 4bc0705..19bfdb4 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/app/src/mdb/MyMessageBean.java
@@ -21,8 +21,8 @@
 import javax.naming.*;
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/app/src/servlet/SimpleServlet.java
index c30d130..be37a4a 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6-resources-xml/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/app/src/mdb/MyMessageBean.java
index 4bc0705..19bfdb4 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/app/src/mdb/MyMessageBean.java
@@ -21,8 +21,8 @@
 import javax.naming.*;
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/app/src/servlet/SimpleServlet.java
index c30d130..be37a4a 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/connector1.6/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/datasource-definition/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/datasource-definition/servlet/Servlet.java
index 44d4ea5..3711984 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/datasource-definition/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/datasource-definition/servlet/Servlet.java
@@ -17,8 +17,8 @@
 package com.sun.s1asdev.ejb.ejb30.hello.session3;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import jakarta.ejb.EJB;
 import jakarta.ejb.EJBs;
@@ -27,9 +27,9 @@
 import jakarta.annotation.Resources;
 import javax.sql.DataSource;
 import java.sql.Connection;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
+import jakarta.servlet.http.*;
 
 import jakarta.transaction.UserTransaction;
 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/mdb/MyMessageBean.java
index 2f15a45..0fc57d6 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/mdb/MyMessageBean.java
@@ -20,8 +20,8 @@
 
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/servlet/SimpleServlet.java
index f8fffc7..00fa601 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource-standalone-rar/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/mdb/MyMessageBean.java
index 786600e..90ba055 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/mdb/MyMessageBean.java
@@ -22,8 +22,8 @@
 import javax.naming.*;
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/servlet/SimpleServlet.java
index f8fffc7..00fa601 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/defaultConnectorResource/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb-resources-xml/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb-resources-xml/servlet/SimpleBankServlet.java
index de8a419..efdf0d7 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb-resources-xml/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb-resources-xml/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import jakarta.ejb.*; 
 
 import samples.ejb.subclassing.ejb.*; 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/servlet/SimpleBankServlet.java
index 3fdf39c..bc7b55d 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/embeddedweb/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import jakarta.ejb.*; 
 
 import samples.ejb.subclassing.ejb.*; 
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/servlet/SimpleServlet.java
index 0d7a63d..8a862eb 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/force-deploy-rar/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.VersionCheckerHome;
 import beans.VersionChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/servlet/SimpleBankServlet.java
index a2f103e..a8205cf 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-embedded/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import jakarta.ejb.*; 
 
 import samples.ejb.installed_libraries_embedded.ejb.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/servlet/SimpleServlet.java
index 8193c01..0fb1406 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries-resources/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries/servlet/SimpleServlet.java
index 8193c01..0fb1406 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/installed-libraries/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/jms-connection-factory-definition/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/jms-connection-factory-definition/servlet/Servlet.java
index 4482dd9..7898cdd 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/jms-connection-factory-definition/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/jms-connection-factory-definition/servlet/Servlet.java
@@ -29,12 +29,12 @@
 import jakarta.jms.JMSConnectionFactoryDefinition;
 import jakarta.jms.JMSConnectionFactoryDefinitions;
 import javax.naming.InitialContext;
-import javax.servlet.ServletConfig;
-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.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.transaction.UserTransaction;
 
 @EJB(name = "helloStateless3", beanInterface = Hello.class)
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/jms-destination-definition/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/jms-destination-definition/servlet/Servlet.java
index 5a2f110..9bf5d71 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/jms-destination-definition/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/jms-destination-definition/servlet/Servlet.java
@@ -26,12 +26,12 @@
 import jakarta.jms.JMSDestinationDefinition;
 import jakarta.jms.JMSDestinationDefinitions;
 import javax.naming.InitialContext;
-import javax.servlet.ServletConfig;
-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.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.transaction.UserTransaction;
 
 @EJB(name = "helloStateless3", beanInterface = Hello.class)
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources-app-module-scoped/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources-app-module-scoped/app/src/mdb/MyMessageBean.java
index 1da02c2..b7427aa 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources-app-module-scoped/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources-app-module-scoped/app/src/mdb/MyMessageBean.java
@@ -19,8 +19,8 @@
 import connector.MyMessageListener;
 import jakarta.ejb.*;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources-app-module-scoped/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources-app-module-scoped/app/src/servlet/SimpleServlet.java
index 5d01c07..ea0d5d1 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources-app-module-scoped/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources-app-module-scoped/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources.xml/app/src/mdb/MyMessageBean.java b/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources.xml/app/src/mdb/MyMessageBean.java
index 3ede69c..78a3ee9 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources.xml/app/src/mdb/MyMessageBean.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources.xml/app/src/mdb/MyMessageBean.java
@@ -20,8 +20,8 @@
 import jakarta.ejb.*;
 import javax.naming.*;
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.sql.*;
 import javax.sql.*;
 import jakarta.jms.*;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources.xml/app/src/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources.xml/app/src/servlet/SimpleServlet.java
index 734d14f..ac89e36 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources.xml/app/src/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/multiple-resources.xml/app/src/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.MessageCheckerHome;
 import beans.MessageChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/nonstringmcfproperties/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/nonstringmcfproperties/servlet/SimpleBankServlet.java
index 8384ce4..ee3695f 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/nonstringmcfproperties/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/nonstringmcfproperties/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 
 import samples.ejb.subclassing.ejb.*; 
 import com.sun.jdbcra.spi.JdbcSetupAdmin;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/rar-accessibility/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/rar-accessibility/servlet/SimpleServlet.java
index 553cc61..4514f3e 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/rar-accessibility/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/rar-accessibility/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/servlet/SimpleServlet.java
index a511827..c9b67b2 100644
--- a/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/redeployRar/servlet/SimpleServlet.java
@@ -19,10 +19,10 @@
 import beans.VersionCheckerHome;
 import beans.VersionChecker;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/connector/v3/serializabletest/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/connector/v3/serializabletest/servlet/SimpleServlet.java
index 3dd42dd..bcb98b4 100755
--- a/appserver/tests/appserv-tests/devtests/connector/v3/serializabletest/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/v3/serializabletest/servlet/SimpleServlet.java
@@ -20,9 +20,9 @@
 import com.sun.s1asdev.connector.serializabletest.ejb.SimpleSession;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
 
 
 public class SimpleServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/connector/web2connector/servlet/SimpleBankServlet.java b/appserver/tests/appserv-tests/devtests/connector/web2connector/servlet/SimpleBankServlet.java
index 7a48ac1..96e83a5 100644
--- a/appserver/tests/appserv-tests/devtests/connector/web2connector/servlet/SimpleBankServlet.java
+++ b/appserver/tests/appserv-tests/devtests/connector/web2connector/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/annotation/web/src/ServletTest.java b/appserver/tests/appserv-tests/devtests/deployment/annotation/web/src/ServletTest.java
index d96c3b6..4367939 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/annotation/web/src/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/annotation/web/src/ServletTest.java
@@ -22,10 +22,10 @@
 import jakarta.annotation.PreDestroy;
 import jakarta.annotation.security.DeclareRoles;
 import jakarta.ejb.EJB;
-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 test.ejb.stateful.SFHello;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/directorydeploy/ear/war/GreeterServlet.java b/appserver/tests/appserv-tests/devtests/deployment/directorydeploy/ear/war/GreeterServlet.java
index 936ec3a..0035f0e 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/directorydeploy/ear/war/GreeterServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/directorydeploy/ear/war/GreeterServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*; 
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/directorydeploy/war/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/directorydeploy/war/war/TestServlet.java
index fe60595..ebd0200 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/directorydeploy/war/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/directorydeploy/war/war/TestServlet.java
@@ -20,10 +20,10 @@
 import java.io.PrintWriter;
 import javax.naming.Context;
 import javax.naming.InitialContext;
-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;
 
 public class TestServlet extends HttpServlet
 {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/dol/override/OverrideTestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/dol/override/OverrideTestServlet.java
index fe050f0..56b36ba 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/dol/override/OverrideTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/dol/override/OverrideTestServlet.java
@@ -17,10 +17,10 @@
 package override;
 
 import jakarta.annotation.Resource;
-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 javax.naming.InitialContext;
 import javax.sql.DataSource;
 import java.io.IOException;
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/earwithall2/justweb/JustWebServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/earwithall2/justweb/JustWebServlet.java
index 6dd467c..9d8b29f 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/earwithall2/justweb/JustWebServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/earwithall2/justweb/JustWebServlet.java
@@ -22,10 +22,10 @@
 import java.io.PrintWriter;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
-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;
 
 public class JustWebServlet extends HttpServlet
 {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/i18ntag/MessageTag.java b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/i18ntag/MessageTag.java
index b83527b..56d16f2 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/i18ntag/MessageTag.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/i18ntag/MessageTag.java
@@ -18,10 +18,10 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.jsp.*;
-import javax.servlet.http.*;
-import javax.servlet.*;
-import javax.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.jsp.tagext.*;
 
 /**
  * A simple message taghandler to display localized message from a resource bundle based on jsp request
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/ForwardedServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/ForwardedServlet.java
index 728ddcc..0840fc0 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/ForwardedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/ForwardedServlet.java
@@ -10,8 +10,8 @@
 
 package samples.i18n.simple.servlet;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * Servlet forwarded from SimpleI18nServlet
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/IncludedServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/IncludedServlet.java
index 4cb0066..c315b46 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/IncludedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/IncludedServlet.java
@@ -11,8 +11,8 @@
 package samples.i18n.simple.servlet;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * Servlet included in SimpleI18nServlet
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/LocaleCharsetServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/LocaleCharsetServlet.java
index 65c9f0d..4e78043 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/LocaleCharsetServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/LocaleCharsetServlet.java
@@ -12,9 +12,9 @@
 
 
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
 
 import java.util.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleFilter.java b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleFilter.java
index 80ccb69..c4aa1d7 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleFilter.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleFilter.java
@@ -11,8 +11,8 @@
 package samples.i18n.simple.servlet;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * Simple filter to set the character encoding to be used to parse the request.
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleFilterServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleFilterServlet.java
index de13362..4e62ed0 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleFilterServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleFilterServlet.java
@@ -10,8 +10,8 @@
 
 package samples.i18n.simple.servlet;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * A Simple Servlet to test the filter SimpleFilter
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleI18nServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleI18nServlet.java
index 0af07c2..ba02a2c 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleI18nServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/libClassPath/misc/samples/i18n/simple/servlet/SimpleI18nServlet.java
@@ -13,8 +13,8 @@
 import java.io.*;
 import java.util.*;
 import java.text.DateFormat;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * This is a simple servlet that demonstrates some of most commonly used i18n features of
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/i18ntag/MessageTag.java b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/i18ntag/MessageTag.java
index b83527b..56d16f2 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/i18ntag/MessageTag.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/i18ntag/MessageTag.java
@@ -18,10 +18,10 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.jsp.*;
-import javax.servlet.http.*;
-import javax.servlet.*;
-import javax.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.jsp.tagext.*;
 
 /**
  * A simple message taghandler to display localized message from a resource bundle based on jsp request
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/ForwardedServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/ForwardedServlet.java
index 728ddcc..0840fc0 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/ForwardedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/ForwardedServlet.java
@@ -10,8 +10,8 @@
 
 package samples.i18n.simple.servlet;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * Servlet forwarded from SimpleI18nServlet
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/IncludedServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/IncludedServlet.java
index 4cb0066..c315b46 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/IncludedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/IncludedServlet.java
@@ -11,8 +11,8 @@
 package samples.i18n.simple.servlet;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * Servlet included in SimpleI18nServlet
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/LocaleCharsetServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/LocaleCharsetServlet.java
index 65c9f0d..4e78043 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/LocaleCharsetServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/LocaleCharsetServlet.java
@@ -12,9 +12,9 @@
 
 
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
 
 import java.util.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleFilter.java b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleFilter.java
index 80ccb69..c4aa1d7 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleFilter.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleFilter.java
@@ -11,8 +11,8 @@
 package samples.i18n.simple.servlet;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * Simple filter to set the character encoding to be used to parse the request.
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleFilterServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleFilterServlet.java
index de13362..4e62ed0 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleFilterServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleFilterServlet.java
@@ -10,8 +10,8 @@
 
 package samples.i18n.simple.servlet;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * A Simple Servlet to test the filter SimpleFilter
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleI18nServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleI18nServlet.java
index 0af07c2..ba02a2c 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleI18nServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ear/manifestClassPath/misc/samples/i18n/simple/servlet/SimpleI18nServlet.java
@@ -13,8 +13,8 @@
 import java.io.*;
 import java.util.*;
 import java.text.DateFormat;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * This is a simple servlet that demonstrates some of most commonly used i18n features of
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/mdb/webclient/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/mdb/webclient/servlet/Servlet.java
index 8f41367..96b06ad 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/mdb/webclient/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/mdb/webclient/servlet/Servlet.java
@@ -17,8 +17,8 @@
 package com.sun.s1asdev.ejb.ejb30.hello.mdb;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.jms.*;
 import jakarta.annotation.Resource;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/security/web/MyFilter.java b/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/security/web/MyFilter.java
index d2c90cc..e83a782 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/security/web/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/security/web/MyFilter.java
@@ -20,15 +20,15 @@
 
 import jakarta.annotation.Resource;
 import jakarta.annotation.security.DeclareRoles;
-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.HttpSession;
-import javax.servlet.http.HttpServletRequest;
+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.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
 import javax.sql.DataSource;
 
 @DeclareRoles({ "j2ee", "nobody", "sunuser" })
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/security/web/Servlet.java b/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/security/web/Servlet.java
index 76ba5fc..bd8bac8 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/security/web/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/security/web/Servlet.java
@@ -21,10 +21,10 @@
 
 import jakarta.annotation.security.RunAs;
 import jakarta.ejb.EJB;
-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;
 
 @RunAs(value="sunuser")
 public class Servlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/session3/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/session3/servlet/Servlet.java
index 0b7e79c..e835fbb 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/session3/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb30/ear/session3/servlet/Servlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.EJB;
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/jsp/web/MyFilter.java b/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/jsp/web/MyFilter.java
index c4c342e..439a868 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/jsp/web/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/jsp/web/MyFilter.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 
 import jakarta.annotation.Resource;
-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.HttpSession;
-import javax.servlet.http.HttpServletRequest;
+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.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
 import javax.sql.DataSource;
 
 public class MyFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/jsp/web/MyTag.java b/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/jsp/web/MyTag.java
index 66a9140..fad0f39 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/jsp/web/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/jsp/web/MyTag.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 import jakarta.annotation.Resource;
 import javax.sql.DataSource;
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/servlet/web/MyFilter.java b/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/servlet/web/MyFilter.java
index 137845e..8ce6c9e 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/servlet/web/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/servlet/web/MyFilter.java
@@ -20,15 +20,15 @@
 
 import jakarta.annotation.Resource;
 import jakarta.annotation.security.DeclareRoles;
-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.HttpSession;
-import javax.servlet.http.HttpServletRequest;
+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.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
 import javax.sql.DataSource;
 
 @DeclareRoles({"j2ee", "guest"})
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/servlet/web/Servlet.java b/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/servlet/web/Servlet.java
index 65e5ba3..7cd73b8 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/servlet/web/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb30/war/servlet/web/Servlet.java
@@ -23,10 +23,10 @@
 import jakarta.annotation.Resource;
 import jakarta.annotation.security.RunAs;
 import javax.naming.InitialContext;
-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 javax.sql.DataSource;
 
 @Resource(name="myDataSource", type=DataSource.class, mappedName="jdbc/__default")
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb31/ejblite/javamodule/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ejb31/ejblite/javamodule/war/HelloServlet.java
index b19027c..78277d2 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb31/ejblite/javamodule/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb31/ejblite/javamodule/war/HelloServlet.java
@@ -24,12 +24,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import jakarta.annotation.Resource;
 import javax.naming.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/EJBRef/CorrectLocalRef/webModule/src/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/EJBRef/CorrectLocalRef/webModule/src/TestServlet.java
index 03aa11f..d910d61 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/EJBRef/CorrectLocalRef/webModule/src/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/EJBRef/CorrectLocalRef/webModule/src/TestServlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 import jakarta.annotation.Resource;
 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;
 
 import test.ejb.Sless;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/EJBRef/RemoteRef/webModule/src/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/EJBRef/RemoteRef/webModule/src/TestServlet.java
index 3eb2853..7bae149 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/EJBRef/RemoteRef/webModule/src/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/EJBRef/RemoteRef/webModule/src/TestServlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 import jakarta.annotation.Resource;
 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;
 
 import test.ejb.Sless;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/ResourceRef/CorrectManagedBean/src/gf/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/ResourceRef/CorrectManagedBean/src/gf/TestServlet.java
index 07e7102..0d78c5c 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/ResourceRef/CorrectManagedBean/src/gf/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/ejb31/jndivalidation/ResourceRef/CorrectManagedBean/src/gf/TestServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 import jakarta.annotation.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
-import javax.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
+import jakarta.servlet.ServletException;
 
 @WebServlet(name = "TestServlet", urlPatterns = {"/TestServlet"})
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/jaxrpc/src/server/com/sun/cb/ContextListener.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/jaxrpc/src/server/com/sun/cb/ContextListener.java
index 231bb30..371ee43 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/jaxrpc/src/server/com/sun/cb/ContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/jaxrpc/src/server/com/sun/cb/ContextListener.java
@@ -16,7 +16,7 @@
 
 package com.sun.cb;
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.xml.registry.*; 
 import java.util.ResourceBundle;
 import java.io.*;
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/ConfirmationServlet.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/ConfirmationServlet.java
index 88c8280..77fc500 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/ConfirmationServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/ConfirmationServlet.java
@@ -17,8 +17,8 @@
 package com.sun.cb;
 
 import jakarta.xml.soap.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import javax.xml.transform.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListServlet.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListServlet.java
index 005da45..eb70e37 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListServlet.java
@@ -17,8 +17,8 @@
 package com.sun.cb;
 
 import jakarta.xml.soap.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import javax.xml.transform.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/Dispatcher.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/Dispatcher.java
index 011addd..db03c9f 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/Dispatcher.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/Dispatcher.java
@@ -16,8 +16,8 @@
 
 package com.sun.cb;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.util.*;
 import java.math.BigDecimal;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/RetailPriceListServlet.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/RetailPriceListServlet.java
index 2bd07b3..9fd620d 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/RetailPriceListServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/RetailPriceListServlet.java
@@ -17,8 +17,8 @@
 package com.sun.cb;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * This is a simple example of an HTTP Servlet.  It responds to the GET
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/DefinitionTag.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/DefinitionTag.java
index c1ff74c..64c3092 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/DefinitionTag.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/DefinitionTag.java
@@ -15,9 +15,9 @@
  */
 
 package template;
-import javax.servlet.jsp.JspTagException;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspTagException;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 import java.util.*;
 
 public class DefinitionTag extends SimpleTagSupport {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/InsertTag.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/InsertTag.java
index a3492c7..aeddf42 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/InsertTag.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/InsertTag.java
@@ -16,10 +16,10 @@
 
 package template;
 
-import javax.servlet.ServletException;
-import javax.servlet.jsp.JspTagException;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.jsp.JspTagException;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 import java.util.HashMap;
 
 public class InsertTag extends SimpleTagSupport {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/ParameterTag.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/ParameterTag.java
index 6d584f7..36a8e55 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/ParameterTag.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/ParameterTag.java
@@ -15,8 +15,8 @@
  */
 
 package template;
-import javax.servlet.jsp.tagext.*;
-import javax.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.PageContext;
 import java.util.*;
 
 public class ParameterTag extends SimpleTagSupport {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/ScreenTag.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/ScreenTag.java
index e31f320..7d58b1e 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/ScreenTag.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/src/com/sun/cb/template/ScreenTag.java
@@ -15,8 +15,8 @@
  */
 
 package template;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
-import javax.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.PageContext;
 import java.util.*;
 
 public class ScreenTag extends SimpleTagSupport {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/web/template/screendefinitions.jsp b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/web/template/screendefinitions.jsp
index 9e60473..4cdf970 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/web/template/screendefinitions.jsp
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/web/template/screendefinitions.jsp
@@ -18,7 +18,7 @@
 
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 
-<tt:definition name="coffeebreak" screen="${requestScope['javax.servlet.forward.servlet_path']}">
+<tt:definition name="coffeebreak" screen="${requestScope['jakarta.servlet.forward.servlet_path']}">
   <tt:screen screenId="/orderForm">
     <tt:parameter name="title" value="Coffee Break" direct="true"/>
     <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/web/template/screendefinitions.txt b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/web/template/screendefinitions.txt
index 48068da..81b638c 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/web/template/screendefinitions.txt
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/server/web/template/screendefinitions.txt
@@ -18,7 +18,7 @@
 
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 
-<tt:definition name="coffeebreak" screen="${requestScope['javax.servlet.forward.servlet_path']}">
+<tt:definition name="coffeebreak" screen="${requestScope['jakarta.servlet.forward.servlet_path']}">
   <tt:screen screenId="/orderForm">
     <tt:parameter name="title" value="Coffee Break" direct="true"/>
     <tt:parameter name="banner" value="/banner.jsp" direct="false"/>
diff --git a/appserver/tests/appserv-tests/devtests/deployment/versioning/simple-versioned-servlet/src/SimpleVersionedServlet.java b/appserver/tests/appserv-tests/devtests/deployment/versioning/simple-versioned-servlet/src/SimpleVersionedServlet.java
index be5ca11..42108e0 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/versioning/simple-versioned-servlet/src/SimpleVersionedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/versioning/simple-versioned-servlet/src/SimpleVersionedServlet.java
@@ -20,10 +20,10 @@
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.util.Properties;
-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;
 
 public class SimpleVersionedServlet extends HttpServlet
 {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/war/appmgt/appmgttest/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/war/appmgt/appmgttest/TestServlet.java
index bee332f..cfe4ff9 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/war/appmgt/appmgttest/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/war/appmgt/appmgttest/TestServlet.java
@@ -23,11 +23,11 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingEnumeration;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/deployment/war/deploydir/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/war/deploydir/TestServlet.java
index e77f4df..00cc257 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/war/deploydir/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/war/deploydir/TestServlet.java
@@ -20,10 +20,10 @@
 import java.io.PrintWriter;
 import javax.naming.Context;
 import javax.naming.InitialContext;
-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;
 
 public class TestServlet extends HttpServlet
 {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/war/nojarexpansion/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/war/nojarexpansion/TestServlet.java
index 1abe699..512761e 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/war/nojarexpansion/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/war/nojarexpansion/TestServlet.java
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-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 dummypkg.DummyLib;
 
 public class TestServlet extends HttpServlet
diff --git a/appserver/tests/appserv-tests/devtests/deployment/war/servletonly/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/war/servletonly/TestServlet.java
index 0caa615..b17377c 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/war/servletonly/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/war/servletonly/TestServlet.java
@@ -20,10 +20,10 @@
 import java.io.PrintWriter;
 import javax.naming.Context;
 import javax.naming.InitialContext;
-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;
 
 public class TestServlet extends HttpServlet
 {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/war/virtualserver/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/war/virtualserver/TestServlet.java
index 5d52e54..4a84dfa 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/war/virtualserver/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/war/virtualserver/TestServlet.java
@@ -20,10 +20,10 @@
 import java.io.PrintWriter;
 import javax.naming.Context;
 import javax.naming.InitialContext;
-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;
 
 public class TestServlet extends HttpServlet
 {
diff --git a/appserver/tests/appserv-tests/devtests/deployment/war/webinflib/TestServlet.java b/appserver/tests/appserv-tests/devtests/deployment/war/webinflib/TestServlet.java
index 1abe699..512761e 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/war/webinflib/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/war/webinflib/TestServlet.java
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-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 dummypkg.DummyLib;
 
 public class TestServlet extends HttpServlet
diff --git a/appserver/tests/appserv-tests/devtests/ejb/cmp/ejbflushwithsqlexception/client/Client.java b/appserver/tests/appserv-tests/devtests/ejb/cmp/ejbflushwithsqlexception/client/Client.java
index 8d938b4..5998200 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/cmp/ejbflushwithsqlexception/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/cmp/ejbflushwithsqlexception/client/Client.java
@@ -22,8 +22,8 @@
 
 package  com.sun.s1asdev.ejb.ejbflush.client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/asynctest/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/asynctest/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index 4b2a08c..a0b649a 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/asynctest/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/asynctest/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/ha-web/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/ha-web/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index 91cc04e..6e663ce 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/ha-web/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/ha-web/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -24,11 +24,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 public class SFSBDriverServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/instance-restart-test/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/instance-restart-test/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index 4b2a08c..a0b649a 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/instance-restart-test/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/instance-restart-test/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/method-checkpoint/SFSBMethodCheckpointDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/method-checkpoint/SFSBMethodCheckpointDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index 959100c..c408fdd 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/method-checkpoint/SFSBMethodCheckpointDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/method-checkpoint/SFSBMethodCheckpointDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/multi-restart/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/multi-restart/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index 4b2a08c..a0b649a 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/multi-restart/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/multi-restart/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/simple-failover/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/simple-failover/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index 95f4839..e47657b 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/simple-failover/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/simple-failover/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/simple-failover/SimpleSFSBDriver/src/java/net/max/ee/sfsb/SimpleSFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/simple-failover/SimpleSFSBDriver/src/java/net/max/ee/sfsb/SimpleSFSBDriverServlet.java
index 14b3ad5..4a529a4 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/simple-failover/SimpleSFSBDriver/src/java/net/max/ee/sfsb/SimpleSFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/simple-failover/SimpleSFSBDriver/src/java/net/max/ee/sfsb/SimpleSFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/autotimer/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/autotimer/war/VerifyServlet.java
index ec1cf70..6f1240f 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/autotimer/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/autotimer/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/domaindeployment/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/domaindeployment/war/VerifyServlet.java
index 38128dc..a3ec2b1 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/domaindeployment/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/domaindeployment/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/failover/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/failover/war/VerifyServlet.java
index ec1cf70..6f1240f 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/failover/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/failover/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/getalltimers/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/getalltimers/war/VerifyServlet.java
index dfbd976..a65e267 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/getalltimers/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/getalltimers/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb30/hello/session3/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb30/hello/session3/servlet/Servlet.java
index 7859c91..68bbd52 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb30/hello/session3/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb30/hello/session3/servlet/Servlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.EJB;
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/generics/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/generics/war/TestServlet.java
index 59056b3..429a793 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/generics/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/generics/war/TestServlet.java
@@ -18,12 +18,12 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.annotation.*;
 import jakarta.ejb.*;
 
-@javax.servlet.annotation.WebServlet(urlPatterns = "/TestServlet")
+@jakarta.servlet.annotation.WebServlet(urlPatterns = "/TestServlet")
 public class TestServlet extends HttpServlet {
     @EJB
     private TestBean testBean;
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/javamodule/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/javamodule/war/HelloServlet.java
index b19027c..78277d2 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/javamodule/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/javamodule/war/HelloServlet.java
@@ -24,12 +24,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import jakarta.annotation.Resource;
 import javax.naming.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/jaxrs/war/ContextListener.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/jaxrs/war/ContextListener.java
index 00c40d8..b5f0fa4 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/jaxrs/war/ContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/jaxrs/war/ContextListener.java
@@ -16,9 +16,9 @@
 
 package com.acme;
 
-import javax.servlet.annotation.WebListener;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 import jakarta.annotation.PostConstruct;
 import javax.naming.InitialContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/jaxrs/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/jaxrs/war/HelloServlet.java
index 9d34425..4fb5328 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/jaxrs/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/jaxrs/war/HelloServlet.java
@@ -24,12 +24,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 import jakarta.annotation.Resource;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/managedbean/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/managedbean/war/HelloServlet.java
index 690fd72..80e7e8c 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/managedbean/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/managedbean/war/HelloServlet.java
@@ -24,12 +24,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 import jakarta.annotation.Resource;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/sinitcallejb/war/ContextListener.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/sinitcallejb/war/ContextListener.java
index 9312076..8b8a434 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/sinitcallejb/war/ContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/sinitcallejb/war/ContextListener.java
@@ -16,9 +16,9 @@
 
 package com.acme;
 
-import javax.servlet.annotation.WebListener;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 import jakarta.annotation.PostConstruct;
 import javax.naming.InitialContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/sinitcallejb/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/sinitcallejb/war/HelloServlet.java
index 4043c97..7ae875f 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/sinitcallejb/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/ejblite/sinitcallejb/war/HelloServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/HelloServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/embedded/ejbandwar/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/embedded/ejbandwar/servlet/TestServlet.java
index b2d1288..6e455b6 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/embedded/ejbandwar/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/embedded/ejbandwar/servlet/TestServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import jakarta.ejb.EJB;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/mytest")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/embedded/ejbinwar/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/embedded/ejbinwar/servlet/TestServlet.java
index b2d1288..6e455b6 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/embedded/ejbinwar/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/embedded/ejbinwar/servlet/TestServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import jakarta.ejb.EJB;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/mytest")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/ear/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/ear/war/HelloServlet.java
index 54a61e2..5212832 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/ear/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/ear/war/HelloServlet.java
@@ -24,12 +24,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import jakarta.annotation.Resource;
 import javax.naming.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/webandejb/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/webandejb/war/HelloServlet.java
index 4ab1659..03cdc87 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/webandejb/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb31/full/webandejb/war/HelloServlet.java
@@ -26,12 +26,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @EJB(name="helloStateful", beanInterface=HelloStateful.class)
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb32/ejblite/async/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb32/ejblite/async/war/HelloServlet.java
index 70a66a0..7205b70 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb32/ejblite/async/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb32/ejblite/async/war/HelloServlet.java
@@ -18,12 +18,12 @@
 
 import jakarta.ejb.*;
 import java.io.*;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 import jakarta.annotation.Resource;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb32/ejblite/nonpersistenttimer/war/HelloServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb32/ejblite/nonpersistenttimer/war/HelloServlet.java
index a521a47..51c2da9 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb32/ejblite/nonpersistenttimer/war/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb32/ejblite/nonpersistenttimer/war/HelloServlet.java
@@ -24,12 +24,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 import jakarta.annotation.Resource;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ejb32/timer/opallowed/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/ejb/ejb32/timer/opallowed/war/VerifyServlet.java
index bec561a..4b5894b 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ejb32/timer/opallowed/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ejb32/timer/opallowed/war/VerifyServlet.java
@@ -22,11 +22,11 @@
 import java.io.PrintWriter;
 import jakarta.ejb.Timer;
 import jakarta.ejb.TimerHandle;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
 public class VerifyServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/ejb/stubs/ejbapp/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/ejb/stubs/ejbapp/servlet/Servlet.java
index 4c14ea2..831886f 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/stubs/ejbapp/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/stubs/ejbapp/servlet/Servlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 import com.sun.s1asdev.ejb.stubs.ejbapp.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/ejb/stubs/webclient/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/ejb/stubs/webclient/servlet/Servlet.java
index 409d9d1..af9ebb3 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/stubs/webclient/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/stubs/webclient/servlet/Servlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 import com.sun.s1asdev.ejb.stubs.ejbapp.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/ejb/webservice/ksink/web/GoogleServletImpl.java b/appserver/tests/appserv-tests/devtests/ejb/webservice/ksink/web/GoogleServletImpl.java
index 666a140..0dde16d 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/webservice/ksink/web/GoogleServletImpl.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/webservice/ksink/web/GoogleServletImpl.java
@@ -28,7 +28,7 @@
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
 
-public class GoogleServletImpl implements javax.servlet.SingleThreadModel, ServiceLifecycle {
+public class GoogleServletImpl implements jakarta.servlet.SingleThreadModel, ServiceLifecycle {
 
     private static final QName PORT_QNAME = 
         new QName("urn:GoogleSearch", "GoogleSearchPort");
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/cmpsimple/client/Client.java b/appserver/tests/appserv-tests/devtests/jdbc/cmpsimple/client/Client.java
index c1fac52..dd1166b 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/cmpsimple/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/cmpsimple/client/Client.java
@@ -16,8 +16,8 @@
 
 package com.sun.s1asdev.jdbc.cmpsimple.client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 import com.sun.s1asdev.jdbc.cmpsimple.ejb.*;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/onlygetconnectionservlet/servlet/OnlyGetConnectionServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/onlygetconnectionservlet/servlet/OnlyGetConnectionServlet.java
index afdb0a6..5fc92d9 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/onlygetconnectionservlet/servlet/OnlyGetConnectionServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/onlygetconnectionservlet/servlet/OnlyGetConnectionServlet.java
@@ -16,8 +16,8 @@
 
 package com.sun.s1asdev.jdbc.onlygetconnectionservlet.servlet;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.transaction.*;
 import javax.sql.*;
 import java.sql.*;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/transactions/test1/servlet/bmservlet4.java b/appserver/tests/appserv-tests/devtests/jdbc/transactions/test1/servlet/bmservlet4.java
index 7750ed7..a7023be 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/transactions/test1/servlet/bmservlet4.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/transactions/test1/servlet/bmservlet4.java
@@ -19,8 +19,8 @@
 import java.util.*;
 import java.lang.reflect.*;
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 import javax.sql.*;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/transactions/test2/servlet/bmservlet.java b/appserver/tests/appserv-tests/devtests/jdbc/transactions/test2/servlet/bmservlet.java
index 0ff9cd3..d949ae1 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/transactions/test2/servlet/bmservlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/transactions/test2/servlet/bmservlet.java
@@ -19,8 +19,8 @@
 import java.util.*;
 import java.lang.reflect.*;
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 import javax.sql.*;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/autocommit/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/autocommit/servlet/SimpleServlet.java
index 05fd9b4..9253de6 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/autocommit/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/autocommit/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/conncreationretry/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/conncreationretry/servlet/SimpleServlet.java
index d210d1c..d722609 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/conncreationretry/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/conncreationretry/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/connleaktracing/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/connleaktracing/servlet/SimpleServlet.java
index 46c545c..88496a6 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/connleaktracing/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/connleaktracing/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/contauth/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/contauth/servlet/SimpleServlet.java
index 57e866c..58208c2 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/contauth/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/contauth/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/maxconnectionusage/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/maxconnectionusage/servlet/SimpleServlet.java
index 1b1700c..e19f64e 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/maxconnectionusage/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/maxconnectionusage/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/multipleusercredentials/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/multipleusercredentials/servlet/SimpleServlet.java
index 214bea4..64120ba 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/multipleusercredentials/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/multipleusercredentials/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/resEnableDisable/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/resEnableDisable/servlet/SimpleServlet.java
index b5cd08e..f67de5b 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/resEnableDisable/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/resEnableDisable/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/statementtimeout/servlet/SimpleServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/statementtimeout/servlet/SimpleServlet.java
index cb47f6c..69f1171 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/statementtimeout/servlet/SimpleServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/statementtimeout/servlet/SimpleServlet.java
@@ -16,10 +16,10 @@
 
 package servlet;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import jakarta.ejb.CreateException;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/v3_jdbc_dev_tests/src/java/org/glassfish/jdbc/devtests/v3/TestResultServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/v3_jdbc_dev_tests/src/java/org/glassfish/jdbc/devtests/v3/TestResultServlet.java
index d25755c..9e92406 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/v3_jdbc_dev_tests/src/java/org/glassfish/jdbc/devtests/v3/TestResultServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/v3_jdbc_dev_tests/src/java/org/glassfish/jdbc/devtests/v3/TestResultServlet.java
@@ -20,8 +20,8 @@
 import java.lang.reflect.Constructor;
 import java.net.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 import java.util.Map;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/jdbc/v3/v3_jdbc_dev_tests/src/java/org/glassfish/jdbc/devtests/v3/test/reconfig/ReconfigTestServlet.java b/appserver/tests/appserv-tests/devtests/jdbc/v3/v3_jdbc_dev_tests/src/java/org/glassfish/jdbc/devtests/v3/test/reconfig/ReconfigTestServlet.java
index 8abbd47..1fc748a 100644
--- a/appserver/tests/appserv-tests/devtests/jdbc/v3/v3_jdbc_dev_tests/src/java/org/glassfish/jdbc/devtests/v3/test/reconfig/ReconfigTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jdbc/v3/v3_jdbc_dev_tests/src/java/org/glassfish/jdbc/devtests/v3/test/reconfig/ReconfigTestServlet.java
@@ -26,8 +26,8 @@
 
 import java.util.Map;
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 
 /**
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspRequestScoped/servlet/test/JSPTagServletContextListener.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspRequestScoped/servlet/test/JSPTagServletContextListener.java
index bd83038..5ebd569 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspRequestScoped/servlet/test/JSPTagServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspRequestScoped/servlet/test/JSPTagServletContextListener.java
@@ -19,8 +19,8 @@
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.jms.*;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 
 public class JSPTagServletContextListener implements ServletContextListener {
 //    @Resource(mappedName = "jms/jms_unit_test_Queue")
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspRequestScoped/servlet/test/JmsTagHandler.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspRequestScoped/servlet/test/JmsTagHandler.java
index b9c359e..1046b8a 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspRequestScoped/servlet/test/JmsTagHandler.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspRequestScoped/servlet/test/JmsTagHandler.java
@@ -24,9 +24,9 @@
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.jms.*;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspTransactionScoped/servlet/test/JSPTagServletContextListener.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspTransactionScoped/servlet/test/JSPTagServletContextListener.java
index bd83038..5ebd569 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspTransactionScoped/servlet/test/JSPTagServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspTransactionScoped/servlet/test/JSPTagServletContextListener.java
@@ -19,8 +19,8 @@
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.jms.*;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 
 public class JSPTagServletContextListener implements ServletContextListener {
 //    @Resource(mappedName = "jms/jms_unit_test_Queue")
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspTransactionScoped/servlet/test/JmsTagHandler.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspTransactionScoped/servlet/test/JmsTagHandler.java
index 3d9d342..0e615d1 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspTransactionScoped/servlet/test/JmsTagHandler.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/jspTransactionScoped/servlet/test/JmsTagHandler.java
@@ -23,9 +23,9 @@
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.jms.*;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 import jakarta.transaction.UserTransaction;
 
 /**
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletRequestScoped/servlet/myfilter/MyFilter.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletRequestScoped/servlet/myfilter/MyFilter.java
index e6834b5..960dc08 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletRequestScoped/servlet/myfilter/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletRequestScoped/servlet/myfilter/MyFilter.java
@@ -20,7 +20,7 @@
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.jms.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
 import jakarta.annotation.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletRequestScoped/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletRequestScoped/servlet/test/TestServlet.java
index 3f28827..ad3c5f9 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletRequestScoped/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletRequestScoped/servlet/test/TestServlet.java
@@ -20,8 +20,8 @@
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.jms.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     @Resource(mappedName = "jms/jms_unit_test_Queue")
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletTransactionScoped/servlet/myfilter/MyFilter.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletTransactionScoped/servlet/myfilter/MyFilter.java
index e6834b5..960dc08 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletTransactionScoped/servlet/myfilter/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletTransactionScoped/servlet/myfilter/MyFilter.java
@@ -20,7 +20,7 @@
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.jms.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
 import jakarta.annotation.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletTransactionScoped/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletTransactionScoped/servlet/test/TestServlet.java
index 3e2fa47..42c04d0 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletTransactionScoped/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/servletTransactionScoped/servlet/test/TestServlet.java
@@ -20,8 +20,8 @@
 import jakarta.annotation.Resource;
 import jakarta.inject.Inject;
 import jakarta.jms.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.transaction.UserTransaction;
 
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/jms/msgdest/jmsweb/servlet/JmsServlet.java b/appserver/tests/appserv-tests/devtests/jms/msgdest/jmsweb/servlet/JmsServlet.java
index e5dadc0..5afdbd3 100644
--- a/appserver/tests/appserv-tests/devtests/jms/msgdest/jmsweb/servlet/JmsServlet.java
+++ b/appserver/tests/appserv-tests/devtests/jms/msgdest/jmsweb/servlet/JmsServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import java.sql.*;
 import javax.sql.*;
diff --git a/appserver/tests/appserv-tests/devtests/naming/orb_annotation/servlet/Servlet.java b/appserver/tests/appserv-tests/devtests/naming/orb_annotation/servlet/Servlet.java
index 5e31173..9d15684 100644
--- a/appserver/tests/appserv-tests/devtests/naming/orb_annotation/servlet/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/naming/orb_annotation/servlet/Servlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/persistence/tests/packaging/pkgWarTest/src/web/JpaServlet.java b/appserver/tests/appserv-tests/devtests/persistence/tests/packaging/pkgWarTest/src/web/JpaServlet.java
index 38a0fe5..dcfbba0 100755
--- a/appserver/tests/appserv-tests/devtests/persistence/tests/packaging/pkgWarTest/src/web/JpaServlet.java
+++ b/appserver/tests/appserv-tests/devtests/persistence/tests/packaging/pkgWarTest/src/web/JpaServlet.java
@@ -20,8 +20,8 @@
 
 package web;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.util.*;
 import java.io.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/persistence/tests/packaging/pkgWarTest1/src/web/JpaServlet.java b/appserver/tests/appserv-tests/devtests/persistence/tests/packaging/pkgWarTest1/src/web/JpaServlet.java
index ed9d893..6fa14ef 100755
--- a/appserver/tests/appserv-tests/devtests/persistence/tests/packaging/pkgWarTest1/src/web/JpaServlet.java
+++ b/appserver/tests/appserv-tests/devtests/persistence/tests/packaging/pkgWarTest1/src/web/JpaServlet.java
@@ -20,8 +20,8 @@
 
 package web;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.util.*;
 import java.io.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/persistence/util/ServletUtil.java b/appserver/tests/appserv-tests/devtests/persistence/util/ServletUtil.java
index 9b21009..0dcab18 100755
--- a/appserver/tests/appserv-tests/devtests/persistence/util/ServletUtil.java
+++ b/appserver/tests/appserv-tests/devtests/persistence/util/ServletUtil.java
@@ -16,8 +16,8 @@
 
 package util;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.util.*;
 import java.io.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/anyone/web/Servlet.java b/appserver/tests/appserv-tests/devtests/security/anyone/web/Servlet.java
index 27d4a03..2acc45f 100644
--- a/appserver/tests/appserv-tests/devtests/security/anyone/web/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/anyone/web/Servlet.java
@@ -21,10 +21,10 @@
 import java.io.PrintWriter;
 
 import jakarta.annotation.security.DeclareRoles;
-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;
 
 @DeclareRoles({"javaee", "nobody"})
 public class Servlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/security/authConf/provider/com/sun/security/auth/message/module/SPNEGOServerAuthModule.java b/appserver/tests/appserv-tests/devtests/security/authConf/provider/com/sun/security/auth/message/module/SPNEGOServerAuthModule.java
index a83cbe5..378e5e8 100644
--- a/appserver/tests/appserv-tests/devtests/security/authConf/provider/com/sun/security/auth/message/module/SPNEGOServerAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/authConf/provider/com/sun/security/auth/message/module/SPNEGOServerAuthModule.java
@@ -36,8 +36,8 @@
 import javax.security.auth.message.callback.GroupPrincipalCallback;
 import javax.security.auth.Subject;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.ietf.jgss.Oid;
 import org.ietf.jgss.GSSContext;
@@ -72,7 +72,7 @@
         "javax.security.jacc.PolicyContext";
 
     public static final String AUTH_TYPE_INFO_KEY = 
-        "javax.servlet.http.authType";
+        "jakarta.servlet.http.authType";
 
     private static String IS_MANDATORY_INFO_KEY = 
         "javax.security.auth.message.MessagePolicy.isMandatory";
@@ -87,8 +87,8 @@
 
     private static Class[] supportedMessageTypes = new Class[] 
     { 
-	javax.servlet.http.HttpServletRequest.class,
-	javax.servlet.http.HttpServletResponse.class 
+	jakarta.servlet.http.HttpServletRequest.class,
+	jakarta.servlet.http.HttpServletResponse.class 
     };            
     
     private MessagePolicy requestPolicy;
diff --git a/appserver/tests/appserv-tests/devtests/security/defaultp2r/web/TestServlet.java b/appserver/tests/appserv-tests/devtests/security/defaultp2r/web/TestServlet.java
index a611e3e..dd4e883 100644
--- a/appserver/tests/appserv-tests/devtests/security/defaultp2r/web/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/defaultp2r/web/TestServlet.java
@@ -16,10 +16,10 @@
 
 package com.sun.s1asdev.security.defaultp2r;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/ejb-auth-async/scheduler-service/src/main/java/org/glassfish/test/auth-propagation/AppResource.java b/appserver/tests/appserv-tests/devtests/security/ejb-auth-async/scheduler-service/src/main/java/org/glassfish/test/auth-propagation/AppResource.java
index b4c1aae..2371dbb 100644
--- a/appserver/tests/appserv-tests/devtests/security/ejb-auth-async/scheduler-service/src/main/java/org/glassfish/test/auth-propagation/AppResource.java
+++ b/appserver/tests/appserv-tests/devtests/security/ejb-auth-async/scheduler-service/src/main/java/org/glassfish/test/auth-propagation/AppResource.java
@@ -17,7 +17,7 @@
 package org.glassfish.test.authpropagation;
 
 import jakarta.ejb.EJB;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 import jakarta.ws.rs.GET;
 import jakarta.ws.rs.POST;
 import jakarta.ws.rs.Path;
diff --git a/appserver/tests/appserv-tests/devtests/security/httpMethod/web/TestServlet.java b/appserver/tests/appserv-tests/devtests/security/httpMethod/web/TestServlet.java
index 7dff8f4..8840721 100644
--- a/appserver/tests/appserv-tests/devtests/security/httpMethod/web/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/httpMethod/web/TestServlet.java
@@ -16,10 +16,10 @@
 
 package com.sun.s1asdev.security.httpMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/src/main/java/org/glassfish/jaccApi/common/BaseServletContextListener.java b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/src/main/java/org/glassfish/jaccApi/common/BaseServletContextListener.java
index dc068e6..bd13885 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/src/main/java/org/glassfish/jaccApi/common/BaseServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/src/main/java/org/glassfish/jaccApi/common/BaseServletContextListener.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jaccApi.common;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 
 /**
  * 
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/src/main/java/org/glassfish/jaccApi/common/JaspicUtils.java b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/src/main/java/org/glassfish/jaccApi/common/JaspicUtils.java
index 4761320..77610f6 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/src/main/java/org/glassfish/jaccApi/common/JaspicUtils.java
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/common/src/main/java/org/glassfish/jaccApi/common/JaspicUtils.java
@@ -18,7 +18,7 @@
 
 import javax.security.auth.message.config.AuthConfigFactory;
 import javax.security.auth.message.module.ServerAuthModule;
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/sam/SamAutoRegistrationListener.java b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/sam/SamAutoRegistrationListener.java
index 25f3b13..7b6227e 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/sam/SamAutoRegistrationListener.java
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/sam/SamAutoRegistrationListener.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jaccApi.programmaticauthentication.sam;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.annotation.WebListener;
 
 import org.glassfish.jaccApi.common.BaseServletContextListener;
 import org.glassfish.jaccApi.common.JaspicUtils;
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/sam/TestServerAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/sam/TestServerAuthModule.java
index 601e8bd..d577ad2 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/sam/TestServerAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/sam/TestServerAuthModule.java
@@ -34,8 +34,8 @@
 import javax.security.auth.message.callback.CallerPrincipalCallback;
 import javax.security.auth.message.callback.GroupPrincipalCallback;
 import javax.security.auth.message.module.ServerAuthModule;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * Very basic SAM that returns a single hardcoded user named "test" with role "architect" when the request *attribute*
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/servlet/AuthenticateServlet.java b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/servlet/AuthenticateServlet.java
index 34f20a4..d69982e 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/servlet/AuthenticateServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/prog-auth/programmatic-authentication/src/main/java/org/glassfish/jaccApi/programmaticauthentication/servlet/AuthenticateServlet.java
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 
-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;
 import javax.security.auth.Subject;
 import javax.security.jacc.PolicyContext;
 import javax.security.jacc.PolicyContextException;
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccApi/src/TestWebPerms.java b/appserver/tests/appserv-tests/devtests/security/jaccApi/src/TestWebPerms.java
index e22ef78..43e2014 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccApi/src/TestWebPerms.java
+++ b/appserver/tests/appserv-tests/devtests/security/jaccApi/src/TestWebPerms.java
@@ -26,7 +26,7 @@
 import javax.security.jacc.HttpMethodSpec;
 import javax.security.jacc.URLPattern;
 
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 import java.io.IOException;
 import java.io.ObjectInputStream;
diff --git a/appserver/tests/appserv-tests/devtests/security/jaccmr8/web/Servlet.java b/appserver/tests/appserv-tests/devtests/security/jaccmr8/web/Servlet.java
index 1f83573..67204cb 100644
--- a/appserver/tests/appserv-tests/devtests/security/jaccmr8/web/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/jaccmr8/web/Servlet.java
@@ -17,8 +17,8 @@
 package org.glassfish.jacc.test.mr8;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import jakarta.ejb.EJB;
 import jakarta.ejb.EJBs;
@@ -26,7 +26,7 @@
 import java.net.URLDecoder;
 import java.security.Principal;
 
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet(name = "Servlet", urlPatterns = {"/servlet","/authuser","/anyauthuser","/star","/denyuncoveredpost"})
 public class Servlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/security/jdbcrealm/web/TestServlet.java b/appserver/tests/appserv-tests/devtests/security/jdbcrealm/web/TestServlet.java
index 633abb7..6b714be 100644
--- a/appserver/tests/appserv-tests/devtests/security/jdbcrealm/web/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/jdbcrealm/web/TestServlet.java
@@ -16,10 +16,10 @@
 
 package com.sun.security.devtests.jdbcrealm.simpleweb;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.security.Principal;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/httpServlet/src/HttpServletTestAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/httpServlet/src/HttpServletTestAuthModule.java
index 9b93486..bcf5a00 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/httpServlet/src/HttpServletTestAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/httpServlet/src/HttpServletTestAuthModule.java
@@ -31,8 +31,8 @@
 import javax.security.auth.message.callback.PasswordValidationCallback;
 import javax.security.auth.message.module.ServerAuthModule;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 
 import sun.misc.BASE64Decoder;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/httpServlet/src/MyHttpServletResponseWrapper.java b/appserver/tests/appserv-tests/devtests/security/jmac/httpServlet/src/MyHttpServletResponseWrapper.java
index 32b333f..dee5dab 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/httpServlet/src/MyHttpServletResponseWrapper.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/httpServlet/src/MyHttpServletResponseWrapper.java
@@ -20,8 +20,8 @@
 import java.io.PrintWriter;
 import java.io.Writer;
 
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
 
 class MyHttpServletResponseWrapper extends HttpServletResponseWrapper {
     private MyPrintWriter myPrintWriter = null;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/httpServletChallenge/src/HttpServletChallengeTestAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/httpServletChallenge/src/HttpServletChallengeTestAuthModule.java
index 6f71e40..3cdc6a2 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/httpServletChallenge/src/HttpServletChallengeTestAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/httpServletChallenge/src/HttpServletChallengeTestAuthModule.java
@@ -30,9 +30,9 @@
 import javax.security.auth.message.callback.PasswordValidationCallback;
 import javax.security.auth.message.module.ServerAuthModule;
 
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 
 import sun.misc.BASE64Decoder;
@@ -114,7 +114,7 @@
                 if (secondPhase) {
                     System.out.println(" for second level");
                     request.setAttribute("MY_NAME", getClass().getName());
-                    messageInfo.getMap().put("javax.servlet.http.authType", "MC");
+                    messageInfo.getMap().put("jakarta.servlet.http.authType", "MC");
                     return AuthStatus.SUCCESS;
                 } else {
                     System.out.println(" for first level");
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/httpServletForm/src/HttpServletFormTestAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/httpServletForm/src/HttpServletFormTestAuthModule.java
index 7849c89..668bac4 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/httpServletForm/src/HttpServletFormTestAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/httpServletForm/src/HttpServletFormTestAuthModule.java
@@ -29,10 +29,10 @@
 import javax.security.auth.message.callback.PasswordValidationCallback;
 import javax.security.auth.message.module.ServerAuthModule;
 
-import javax.servlet.RequestDispatcher;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 
 import sun.misc.BASE64Decoder;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/httpServletForm/src/SavedRequest.java b/appserver/tests/appserv-tests/devtests/security/jmac/httpServletForm/src/SavedRequest.java
index 829b6c1..4ed0215 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/httpServletForm/src/SavedRequest.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/httpServletForm/src/SavedRequest.java
@@ -17,7 +17,7 @@
 package com.sun.s1asdev.security.jmac.httpservletform;
 
 import java.io.Serializable;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
 
 final class SavedRequest implements Serializable {
     private String method = null;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/https/src/HttpsTestAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/https/src/HttpsTestAuthModule.java
index c4917c5..2327fba 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/https/src/HttpsTestAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/https/src/HttpsTestAuthModule.java
@@ -29,8 +29,8 @@
 import javax.security.auth.message.module.ServerAuthModule;
 import javax.security.auth.x500.X500Principal;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class HttpsTestAuthModule implements ServerAuthModule {
 
@@ -63,7 +63,7 @@
                     (HttpServletRequest) messageInfo.getRequestMessage();
             X509Certificate certs[] =
                     (X509Certificate[]) request.getAttribute(
-                    "javax.servlet.request.X509Certificate");
+                    "jakarta.servlet.request.X509Certificate");
             if (certs == null || certs.length < 1) {
                 System.out.println("javax...certs is null or empty");
                 certs = (X509Certificate[]) request.getAttribute(
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/build.xml b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/build.xml
index 6043e33..bf311a4 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/build.xml
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/build.xml
@@ -116,7 +116,7 @@
             <replacefilter token="@PORT@" value="${http.port}"/>
         </replace>
         <javac srcdir="webclient" destdir="${build.classes.dir}/webclient"
-            classpath="${env.APS_HOME}/lib/reporter.jar:${env.S1AS_HOME}/lib/javaee.jar:${env.S1AS_HOME}/lib/webservices-rt.jar:${env.S1AS_HOME}/lib/webservices-tools.jar:${build.classes.dir}/webclient:${env.S1AS_HOME}/modules/javax.servlet.jar" debug="on" failonerror="true"/>
+            classpath="${env.APS_HOME}/lib/reporter.jar:${env.S1AS_HOME}/lib/javaee.jar:${env.S1AS_HOME}/lib/webservices-rt.jar:${env.S1AS_HOME}/lib/webservices-tools.jar:${build.classes.dir}/webclient:${env.S1AS_HOME}/modules/jakarta.servlet.jar" debug="on" failonerror="true"/>
     </target>
 
     <target name="build-server" depends="compile-server">
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/webclient/Servlet.java.template b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/webclient/Servlet.java.template
index ff01683..c447a17 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/webclient/Servlet.java.template
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/webclient/Servlet.java.template
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-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 jakarta.xml.ws.WebServiceRef;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/ldap/simpleweb/web/TestServlet.java b/appserver/tests/appserv-tests/devtests/security/ldap/simpleweb/web/TestServlet.java
index b1223ca..fe94c66 100644
--- a/appserver/tests/appserv-tests/devtests/security/ldap/simpleweb/web/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/ldap/simpleweb/web/TestServlet.java
@@ -16,11 +16,11 @@
 
 package com.sun.security.devtests.ldap.simple;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpSession;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Properties;
diff --git a/appserver/tests/appserv-tests/devtests/security/multiRoleMapping/web/WebTest.java b/appserver/tests/appserv-tests/devtests/security/multiRoleMapping/web/WebTest.java
index 7b331b2..0a9a535 100644
--- a/appserver/tests/appserv-tests/devtests/security/multiRoleMapping/web/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/security/multiRoleMapping/web/WebTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class WebTest extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/security/simpleMultiRoleMapping/web/EjbTest.java b/appserver/tests/appserv-tests/devtests/security/simpleMultiRoleMapping/web/EjbTest.java
index 3285836..f3b2065 100644
--- a/appserver/tests/appserv-tests/devtests/security/simpleMultiRoleMapping/web/EjbTest.java
+++ b/appserver/tests/appserv-tests/devtests/security/simpleMultiRoleMapping/web/EjbTest.java
@@ -21,8 +21,8 @@
 import java.net.*;
 import jakarta.ejb.EJB;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class EjbTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/security/simpleMultiRoleMapping/web/WebTest.java b/appserver/tests/appserv-tests/devtests/security/simpleMultiRoleMapping/web/WebTest.java
index c533e3f..9ec3965 100644
--- a/appserver/tests/appserv-tests/devtests/security/simpleMultiRoleMapping/web/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/security/simpleMultiRoleMapping/web/WebTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class WebTest extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/src/main/java/org/glassfish/soteria/test/BasicAuthenticationServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/src/main/java/org/glassfish/soteria/test/BasicAuthenticationServlet.java
index d1f7b95..ce5646f 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/src/main/java/org/glassfish/soteria/test/BasicAuthenticationServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/src/main/java/org/glassfish/soteria/test/BasicAuthenticationServlet.java
@@ -20,13 +20,13 @@
 
 import jakarta.inject.Inject;
 import javax.security.enterprise.SecurityContext;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns = "/basicAuthenticationServlet")
 @ServletSecurity(@HttpConstraint(rolesAllowed = "foo"))
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index 4279838..ae6acec 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-bundled-ham-basic-login-config-form/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -25,8 +25,8 @@
 import javax.security.enterprise.credential.UsernamePasswordCredential;
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.VALID;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/src/main/java/org/glassfish/soteria/test/CallerSubjectServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/src/main/java/org/glassfish/soteria/test/CallerSubjectServlet.java
index bf79883..ba3a9f3 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/src/main/java/org/glassfish/soteria/test/CallerSubjectServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/src/main/java/org/glassfish/soteria/test/CallerSubjectServlet.java
@@ -21,13 +21,13 @@
 import jakarta.inject.Inject;
 import javax.security.enterprise.SecurityContext;
 import javax.security.enterprise.CallerPrincipal;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import java.security.Principal;
 import java.util.Optional;
 import java.util.Set;
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index fff77ca..f677d3a 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-caller-principal/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -27,8 +27,8 @@
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
 import javax.security.enterprise.credential.UsernamePasswordCredential;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/src/main/java/org/glassfish/soteria/test/Servlet.java
index 90bbe92..a9c2d7c 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 
 import jakarta.annotation.security.DeclareRoles;
-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;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index 4b7b45d..665e70f 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-identity-store-handler/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -26,8 +26,8 @@
 import javax.security.enterprise.credential.UsernamePasswordCredential;
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.VALID;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/src/main/java/org/glassfish/soteria/test/Servlet.java
index d95cd09..6cfab57 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 
 import jakarta.annotation.security.DeclareRoles;
-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;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index ac866d0..83f30a4 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-rememberme/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -28,8 +28,8 @@
 import javax.security.enterprise.credential.UsernamePasswordCredential;
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.VALID;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/src/main/java/org/glassfish/soteria/test/Servlet.java
index d95cd09..6cfab57 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 
 import jakarta.annotation.security.DeclareRoles;
-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;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index 54f45f6..8df1021 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom-session/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -28,8 +28,8 @@
 import javax.security.enterprise.credential.UsernamePasswordCredential;
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.VALID;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
index 145c315..982b8e9 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
@@ -20,13 +20,13 @@
 
 import jakarta.inject.Inject;
 import javax.security.enterprise.SecurityContext;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/Servlet.java
index e5adfed..a28190d 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -21,11 +21,11 @@
 import jakarta.annotation.security.DeclareRoles;
 import jakarta.inject.Inject;
 import javax.security.enterprise.SecurityContext;
-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;
 
 import org.glassfish.soteria.SecurityContextImpl;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index 790c234..a3cc378 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-custom/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -28,8 +28,8 @@
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
 import javax.security.enterprise.credential.UsernamePasswordCredential;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @RequestScoped
 public class TestAuthenticationMechanism implements HttpAuthenticationMechanism {
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-db/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-db/src/main/java/org/glassfish/soteria/test/Servlet.java
index d2af910..f5abde0 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-db/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-db/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 
 import jakarta.annotation.security.DeclareRoles;
-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;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-db/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-db/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index 1f380dd..b7cb67e 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-db/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-db/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -27,8 +27,8 @@
 import javax.security.enterprise.credential.UsernamePasswordCredential;
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.VALID;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
index 4e9c41f..7993f72 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
@@ -20,13 +20,13 @@
 
 import jakarta.inject.Inject;
 import javax.security.enterprise.SecurityContext;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import javax.security.enterprise.authentication.mechanism.http.BasicAuthenticationMechanismDefinition;
 
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/Servlet.java
index 392fdd2..1dab9f3 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -21,11 +21,11 @@
 import jakarta.annotation.security.DeclareRoles;
 import jakarta.inject.Inject;
 import javax.security.enterprise.SecurityContext;
-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;
 import javax.security.enterprise.authentication.mechanism.http.BasicAuthenticationMechanismDefinition;
 import org.glassfish.soteria.SecurityContextImpl;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index ccd5766..defda82 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-double-ham/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -27,8 +27,8 @@
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
 import javax.security.enterprise.credential.UsernamePasswordCredential;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @RequestScoped
 public class TestAuthenticationMechanism implements HttpAuthenticationMechanism {
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/src/main/java/org/glassfish/soteria/test/Servlet.java
index 3d965d3..2e93493 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -21,11 +21,11 @@
 import jakarta.annotation.security.DeclareRoles;
 import jakarta.inject.Inject;
 import javax.security.enterprise.SecurityContext;
-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;
 
 import org.glassfish.soteria.SecurityContextImpl;
 import java.util.stream.*;
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index afc38a9..f250d9e 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-ham-ordering/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -27,8 +27,8 @@
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
 import javax.security.enterprise.credential.UsernamePasswordCredential;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import java.util.stream.*;
 import java.util.List;
 import java.util.ArrayList;
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-basic/src/main/java/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-basic/src/main/java/test/Servlet.java
index 54befb8..b3ace58 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-basic/src/main/java/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-basic/src/main/java/test/Servlet.java
@@ -22,13 +22,13 @@
 import javax.security.enterprise.authentication.mechanism.http.BasicAuthenticationMechanismDefinition;
 import org.glassfish.soteria.identitystores.annotation.Credentials;
 import org.glassfish.soteria.identitystores.annotation.EmbeddedIdentityStoreDefinition;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/LoginErrorServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/LoginErrorServlet.java
index 5396621..8693957 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/LoginErrorServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/LoginErrorServlet.java
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 
-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;
 
 /**
  * Servlet that is invoked when the caller did not authenticate correctly
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/LoginServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/LoginServlet.java
index fca85ee..6c6cce6 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/LoginServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/LoginServlet.java
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 
-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;
 
 /**
  * Servlet that is invoked when it's determined that the caller needs to authenticate/login.
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/Servlet.java
index ba16c16..5c900b8 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-mem-form/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -19,13 +19,13 @@
 import java.io.IOException;
 
 import jakarta.annotation.security.DeclareRoles;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import javax.security.enterprise.authentication.mechanism.http.*;
 
 /**
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/src/main/java/org/glassfish/soteria/test/Servlet.java
index d91e7cf..407a705 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 
 import jakarta.annotation.security.DeclareRoles;
-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;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index 8f55870..2dc61df 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store-backup/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -29,8 +29,8 @@
 import javax.security.enterprise.credential.UsernamePasswordCredential;
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @RequestScoped
 public class TestAuthenticationMechanism implements HttpAuthenticationMechanism {
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/src/main/java/org/glassfish/soteria/test/Servlet.java
index d91e7cf..407a705 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 
 import jakarta.annotation.security.DeclareRoles;
-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;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index 410aa67..bd305a2 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-multiple-store/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -29,8 +29,8 @@
 import javax.security.enterprise.credential.UsernamePasswordCredential;
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @RequestScoped
 public class TestAuthenticationMechanism implements HttpAuthenticationMechanism {
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index a08390c..f845c16 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -27,8 +27,8 @@
 import javax.security.enterprise.identitystore.CredentialValidationResult;
 import javax.security.enterprise.identitystore.IdentityStoreHandler;
 import javax.security.enterprise.credential.UsernamePasswordCredential;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @RequestScoped
 public class TestAuthenticationMechanism implements HttpAuthenticationMechanism {
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/src/main/java/org/glassfish/soteria/test/ValidateAvailablePrincipalServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/src/main/java/org/glassfish/soteria/test/ValidateAvailablePrincipalServlet.java
index b3ba29c..7a988bc 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/src/main/java/org/glassfish/soteria/test/ValidateAvailablePrincipalServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-application-caller-principal/src/main/java/org/glassfish/soteria/test/ValidateAvailablePrincipalServlet.java
@@ -21,13 +21,13 @@
 import jakarta.inject.Inject;
 import javax.security.enterprise.SecurityContext;
 import javax.security.enterprise.CallerPrincipal;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import java.security.Principal;
 import java.util.Optional;
 import java.util.Set;
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-role-mapping/src/main/java/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-role-mapping/src/main/java/test/Servlet.java
index 9910c86..296f301 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-no-role-mapping/src/main/java/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-no-role-mapping/src/main/java/test/Servlet.java
@@ -22,13 +22,13 @@
 import javax.security.enterprise.authentication.mechanism.http.BasicAuthenticationMechanismDefinition;
 import org.glassfish.soteria.identitystores.annotation.Credentials;
 import org.glassfish.soteria.identitystores.annotation.EmbeddedIdentityStoreDefinition;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * Test Servlet that prints out the name of the authenticated caller and whether
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
index 64bd15b..a0f1b02 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
@@ -18,18 +18,18 @@
 
 import org.glassfish.soteria.SecurityContextImpl;
 import javax.security.enterprise.SecurityContext;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.HttpConstraint;
 import jakarta.annotation.security.DeclareRoles;
 import jakarta.inject.Inject;
 import javax.security.enterprise.AuthenticationStatus;
 import javax.security.enterprise.SecurityContext;
 import javax.security.enterprise.credential.CallerOnlyCredential;
-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;
 import java.io.IOException;
 import java.util.Set;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/Servlet.java
index b0d8171..4c43cf1 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -23,11 +23,11 @@
 import javax.security.enterprise.AuthenticationStatus;
 import javax.security.enterprise.SecurityContext;
 import javax.security.enterprise.credential.CallerOnlyCredential;
-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;
 import java.io.IOException;
 import java.util.Set;
 import jakarta.inject.Inject;
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index cf515ec..da648d4 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth-ejb/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -28,8 +28,8 @@
 import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext;
 import javax.security.enterprise.credential.CallerOnlyCredential;
 import javax.security.enterprise.credential.Credential;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @RequestScoped
 public class TestAuthenticationMechanism implements HttpAuthenticationMechanism {
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
index 64bd15b..a0f1b02 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/ProtectedServlet.java
@@ -18,18 +18,18 @@
 
 import org.glassfish.soteria.SecurityContextImpl;
 import javax.security.enterprise.SecurityContext;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.HttpConstraint;
 import jakarta.annotation.security.DeclareRoles;
 import jakarta.inject.Inject;
 import javax.security.enterprise.AuthenticationStatus;
 import javax.security.enterprise.SecurityContext;
 import javax.security.enterprise.credential.CallerOnlyCredential;
-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;
 import java.io.IOException;
 import java.util.Set;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/Servlet.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/Servlet.java
index 677e692..faaecdf 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/Servlet.java
@@ -23,11 +23,11 @@
 import javax.security.enterprise.AuthenticationStatus;
 import javax.security.enterprise.SecurityContext;
 import javax.security.enterprise.credential.CallerOnlyCredential;
-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;
 import java.io.IOException;
 import java.util.Set;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
index cf515ec..da648d4 100644
--- a/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
+++ b/appserver/tests/appserv-tests/devtests/security/soteria/app-securitycontext-auth/src/main/java/org/glassfish/soteria/test/TestAuthenticationMechanism.java
@@ -28,8 +28,8 @@
 import javax.security.enterprise.authentication.mechanism.http.HttpMessageContext;
 import javax.security.enterprise.credential.CallerOnlyCredential;
 import javax.security.enterprise.credential.Credential;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @RequestScoped
 public class TestAuthenticationMechanism implements HttpAuthenticationMechanism {
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/BaseServlet.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/BaseServlet.java
index 7db7df2..1cc7c17 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/BaseServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/BaseServlet.java
@@ -19,8 +19,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.security.Principal;
-import javax.servlet.ServletException;
-import javax.servlet.http.*;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.*;
 
 public class BaseServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered1.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered1.java
index 2116585..e1a2317 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered1.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered1.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jacc.test.uncoveredmethods;
 
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.WebServlet;
 
 
 @WebServlet(urlPatterns = {"/Covered1"})
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered2.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered2.java
index 18642af..f05a7e8 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered2.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered2.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jacc.test.uncoveredmethods;
 
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.WebServlet;
 
 
 @WebServlet(urlPatterns = {"/Covered2"})
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered3a.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered3a.java
index 1fc75cc..521c619 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered3a.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered3a.java
@@ -16,8 +16,8 @@
 
 package org.glassfish.jacc.test.uncoveredmethods;
 
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
 
 
 @WebServlet(urlPatterns = {"/Covered3a"})
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered3b.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered3b.java
index fdb89bc..cbb8f4a 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered3b.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Covered3b.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.jacc.test.uncoveredmethods;
 
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.ServletSecurity.TransportGuarantee;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.ServletSecurity.TransportGuarantee;
+import jakarta.servlet.annotation.WebServlet;
 
 
 @WebServlet(urlPatterns = {"/Covered3b"})
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example1.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example1.java
index b51ae7d..ce429f7 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example1.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example1.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jacc.test.uncoveredmethods;
 
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.WebServlet;
 
 
 @WebServlet(urlPatterns = {"/Example1"})
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example2.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example2.java
index 4910e38..68b5ea9 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example2.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example2.java
@@ -16,7 +16,7 @@
 
 package org.glassfish.jacc.test.uncoveredmethods;
 
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.WebServlet;
 
 
 @WebServlet(urlPatterns = {"/Example2"})
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example3a.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example3a.java
index 8d67dc3..25fa8d3 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example3a.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example3a.java
@@ -16,9 +16,9 @@
 
 package org.glassfish.jacc.test.uncoveredmethods;
 
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet(urlPatterns = {"/Example3a"})
 @ServletSecurity(httpMethodConstraints = {
diff --git a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example3b.java b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example3b.java
index 937c67f..9ec8646 100644
--- a/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example3b.java
+++ b/appserver/tests/appserv-tests/devtests/security/uncovered-http-methods/web/Example3b.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.jacc.test.uncoveredmethods;
 
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.annotation.HttpConstraint;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
+import jakarta.servlet.annotation.WebServlet;
 
 
 @WebServlet(urlPatterns = {"/Example3b/*"})
diff --git a/appserver/tests/appserv-tests/devtests/security/web-mutual-ssl/servlet/TestClientCert.java b/appserver/tests/appserv-tests/devtests/security/web-mutual-ssl/servlet/TestClientCert.java
index f6011fc..00183d2 100644
--- a/appserver/tests/appserv-tests/devtests/security/web-mutual-ssl/servlet/TestClientCert.java
+++ b/appserver/tests/appserv-tests/devtests/security/web-mutual-ssl/servlet/TestClientCert.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.security.cert.X509Certificate;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestClientCert extends HttpServlet {
 
@@ -29,7 +29,7 @@
         System.out.println("start service(...) of TestClientCert" );
 
         X509Certificate[] certs = (X509Certificate[])req.getAttribute(
-            "javax.servlet.request.X509Certificate");
+            "jakarta.servlet.request.X509Certificate");
         String clName = null;
         if (certs != null) {
             for (X509Certificate cert : certs) {
diff --git a/appserver/tests/appserv-tests/devtests/security/weblogic-dd/web/TestServlet.java b/appserver/tests/appserv-tests/devtests/security/weblogic-dd/web/TestServlet.java
index 33a4915..42d5bbd 100644
--- a/appserver/tests/appserv-tests/devtests/security/weblogic-dd/web/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/weblogic-dd/web/TestServlet.java
@@ -16,10 +16,10 @@
 
 package com.sun.security.devtests.weblogicdd;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.security.Principal;
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/encThenSign-default-conf/servletws/web/FedTaxServlet.java b/appserver/tests/appserv-tests/devtests/security/wss/encThenSign-default-conf/servletws/web/FedTaxServlet.java
index e6e85dc..6319458 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/encThenSign-default-conf/servletws/web/FedTaxServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/encThenSign-default-conf/servletws/web/FedTaxServlet.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class FedTaxServlet implements 
 			SingleThreadModel, ServiceLifecycle {
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/encThenSign-default-conf/servletws/web/StateTaxServlet.java b/appserver/tests/appserv-tests/devtests/security/wss/encThenSign-default-conf/servletws/web/StateTaxServlet.java
index 9bd03b8..7a51b2b 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/encThenSign-default-conf/servletws/web/StateTaxServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/encThenSign-default-conf/servletws/web/StateTaxServlet.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class StateTaxServlet implements 
 			SingleThreadModel, ServiceLifecycle {
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/permethod/servletws/web/HelloServlet.java b/appserver/tests/appserv-tests/devtests/security/wss/permethod/servletws/web/HelloServlet.java
index baa0071..f660cdf 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/permethod/servletws/web/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/permethod/servletws/web/HelloServlet.java
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.wss.permethod.servlet;
 
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 import javax.xml.rpc.server.ServiceLifecycle;
 
 public class HelloServlet implements 
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/autorecovery/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/autorecovery/war/TestServlet.java
index d5e68a2..783ea4f 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/autorecovery/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/autorecovery/war/TestServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/TestServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/autorecovery/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/autorecovery/war/VerifyServlet.java
index 51a5d96..c03af78 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/autorecovery/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/autorecovery/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/cli/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/cli/war/TestServlet.java
index d5e68a2..783ea4f 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/cli/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/cli/war/TestServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/TestServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/cli/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/cli/war/VerifyServlet.java
index 51a5d96..c03af78 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/cli/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/cli/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/war/TestServlet.java
index d5e68a2..783ea4f 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/war/TestServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/TestServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/war/VerifyServlet.java
index 51a5d96..c03af78 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/mdb/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/mdb/war/TestServlet.java
index 1ec9fac..3e310a3 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/mdb/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/mdb/war/TestServlet.java
@@ -19,12 +19,12 @@
 import jakarta.ejb.EJB;
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/TestServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/mdb/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/mdb/war/VerifyServlet.java
index 06e5f2e..d501483 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/mdb/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/mdb/war/VerifyServlet.java
@@ -19,12 +19,12 @@
 import jakarta.ejb.EJB;
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/mdb/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/mdb/war/TestServlet.java
index 5addeb8..bf5cdf3 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/mdb/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/mdb/war/TestServlet.java
@@ -19,12 +19,12 @@
 import jakarta.ejb.EJB;
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/TestServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/mdb/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/mdb/war/VerifyServlet.java
index 06e5f2e..d501483 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/mdb/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/mdb/war/VerifyServlet.java
@@ -19,12 +19,12 @@
 import jakarta.ejb.EJB;
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/resendautorecovery/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/resendautorecovery/war/TestServlet.java
index d46371f..c583ce8 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/resendautorecovery/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/resendautorecovery/war/TestServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/TestServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/resendautorecovery/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/resendautorecovery/war/VerifyServlet.java
index 51a5d96..c03af78 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/resendautorecovery/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/resendautorecovery/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/selfrecovery/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/selfrecovery/war/TestServlet.java
index d5e68a2..783ea4f 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/selfrecovery/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/selfrecovery/war/TestServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/TestServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/selfrecovery/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/selfrecovery/war/VerifyServlet.java
index 51a5d96..c03af78 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/selfrecovery/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/selfrecovery/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/timer_with_autorecovery/war/TestServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/timer_with_autorecovery/war/TestServlet.java
index aaa4330..d718521 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/timer_with_autorecovery/war/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/timer_with_autorecovery/war/TestServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/TestServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/timer_with_autorecovery/war/VerifyServlet.java b/appserver/tests/appserv-tests/devtests/transaction/ee/timer_with_autorecovery/war/VerifyServlet.java
index 51a5d96..c03af78 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/timer_with_autorecovery/war/VerifyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/timer_with_autorecovery/war/VerifyServlet.java
@@ -25,12 +25,12 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import javax.naming.*;
 
 @WebServlet(urlPatterns="/VerifyServlet", loadOnStartup=1)
diff --git a/appserver/tests/appserv-tests/devtests/transaction/txstress/servlet/Hello.java b/appserver/tests/appserv-tests/devtests/transaction/txstress/servlet/Hello.java
index 310f9c9..6eced0e 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/txstress/servlet/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/txstress/servlet/Hello.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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 javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
diff --git a/appserver/tests/appserv-tests/devtests/transaction/txstressreadonly/servlet/Hello.java b/appserver/tests/appserv-tests/devtests/transaction/txstressreadonly/servlet/Hello.java
index 6e5d6db..65ff9bc 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/txstressreadonly/servlet/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/txstressreadonly/servlet/Hello.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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 javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
diff --git a/appserver/tests/appserv-tests/devtests/web/accessLoggingBadRequests/servlet/CheckAccessLog.java b/appserver/tests/appserv-tests/devtests/web/accessLoggingBadRequests/servlet/CheckAccessLog.java
index 2544071..5d9013b 100644
--- a/appserver/tests/appserv-tests/devtests/web/accessLoggingBadRequests/servlet/CheckAccessLog.java
+++ b/appserver/tests/appserv-tests/devtests/web/accessLoggingBadRequests/servlet/CheckAccessLog.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckAccessLog extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/accessLoggingDynamicReconfig/servlet/CheckAccessLog.java b/appserver/tests/appserv-tests/devtests/web/accessLoggingDynamicReconfig/servlet/CheckAccessLog.java
index 10a79cf..a859212 100644
--- a/appserver/tests/appserv-tests/devtests/web/accessLoggingDynamicReconfig/servlet/CheckAccessLog.java
+++ b/appserver/tests/appserv-tests/devtests/web/accessLoggingDynamicReconfig/servlet/CheckAccessLog.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckAccessLog extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/accessLoggingWriteIntervalSeconds/servlet/CheckAccessLog.java b/appserver/tests/appserv-tests/devtests/web/accessLoggingWriteIntervalSeconds/servlet/CheckAccessLog.java
index aaf2bb6..34a00c1 100644
--- a/appserver/tests/appserv-tests/devtests/web/accessLoggingWriteIntervalSeconds/servlet/CheckAccessLog.java
+++ b/appserver/tests/appserv-tests/devtests/web/accessLoggingWriteIntervalSeconds/servlet/CheckAccessLog.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckAccessLog extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/applicationDispatcher/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/applicationDispatcher/servlet/ServletTest.java
index a08b8c0..5dec147 100644
--- a/appserver/tests/appserv-tests/devtests/web/applicationDispatcher/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/applicationDispatcher/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
diff --git a/appserver/tests/appserv-tests/devtests/web/bodyTag/servlet/mypack/MyBody.java b/appserver/tests/appserv-tests/devtests/web/bodyTag/servlet/mypack/MyBody.java
index 91fe1c2..2dce391 100644
--- a/appserver/tests/appserv-tests/devtests/web/bodyTag/servlet/mypack/MyBody.java
+++ b/appserver/tests/appserv-tests/devtests/web/bodyTag/servlet/mypack/MyBody.java
@@ -16,8 +16,8 @@
 
 package mypack;
 
-import javax.servlet.jsp.tagext.BodyTagSupport;
-import javax.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.BodyTagSupport;
+import jakarta.servlet.jsp.PageContext;
 
 
 public class MyBody extends BodyTagSupport {
diff --git a/appserver/tests/appserv-tests/devtests/web/broken_webapp/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/broken_webapp/servlet/ServletTest.java
index faa0f1c..5f5f378 100644
--- a/appserver/tests/appserv-tests/devtests/web/broken_webapp/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/broken_webapp/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/appserv-tests/devtests/web/cacheFilterMappingDispatcher/servlet/DispatchFrom.java b/appserver/tests/appserv-tests/devtests/web/cacheFilterMappingDispatcher/servlet/DispatchFrom.java
index dccca78..6f4dffb 100644
--- a/appserver/tests/appserv-tests/devtests/web/cacheFilterMappingDispatcher/servlet/DispatchFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/cacheFilterMappingDispatcher/servlet/DispatchFrom.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class DispatchFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/cacheFilterMappingDispatcher/servlet/DispatchTo.java b/appserver/tests/appserv-tests/devtests/web/cacheFilterMappingDispatcher/servlet/DispatchTo.java
index 9c2d767..9123c27 100644
--- a/appserver/tests/appserv-tests/devtests/web/cacheFilterMappingDispatcher/servlet/DispatchTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/cacheFilterMappingDispatcher/servlet/DispatchTo.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class DispatchTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/cacheHang/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/cacheHang/servlet/test/TestServlet.java
index 9677d56..ee4d169 100644
--- a/appserver/tests/appserv-tests/devtests/web/cacheHang/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/cacheHang/servlet/test/TestServlet.java
@@ -16,9 +16,9 @@
 
 import java.io.*;
 
-import javax.servlet.*;
-import javax.servlet.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
+import jakarta.servlet.http.*;
 
 @WebServlet(name="hello", urlPatterns="/hello")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/cacheHang/servlet/test/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/cacheHang/servlet/test/TestServlet2.java
index 9fb6626..cc6b21e 100644
--- a/appserver/tests/appserv-tests/devtests/web/cacheHang/servlet/test/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/cacheHang/servlet/test/TestServlet2.java
@@ -16,9 +16,9 @@
 
 import java.io.*;
 
-import javax.servlet.*;
-import javax.servlet.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
+import jakarta.servlet.http.*;
 
 @WebServlet(name="hello2", urlPatterns="/hello2")
 public class TestServlet2 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/cacheHelperRef/servlet/helpers/MyCacheHelper.java b/appserver/tests/appserv-tests/devtests/web/cacheHelperRef/servlet/helpers/MyCacheHelper.java
index 2a7de64..1c18db2 100644
--- a/appserver/tests/appserv-tests/devtests/web/cacheHelperRef/servlet/helpers/MyCacheHelper.java
+++ b/appserver/tests/appserv-tests/devtests/web/cacheHelperRef/servlet/helpers/MyCacheHelper.java
@@ -23,8 +23,8 @@
 
 import com.sun.appserv.web.cache.*;
 import java.util.Map;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
 
 public class MyCacheHelper implements CacheHelper {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/cacheHelperRef/servlet/servlets/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/cacheHelperRef/servlet/servlets/TestServlet.java
index 230a7ef..026f0b0 100644
--- a/appserver/tests/appserv-tests/devtests/web/cacheHelperRef/servlet/servlets/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/cacheHelperRef/servlet/servlets/TestServlet.java
@@ -17,8 +17,8 @@
 package servlets;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/caseSensitiveHostMapping/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/caseSensitiveHostMapping/ServletTest.java
index 214ed8b..35b8b61 100644
--- a/appserver/tests/appserv-tests/devtests/web/caseSensitiveHostMapping/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/caseSensitiveHostMapping/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet{
 
diff --git a/appserver/tests/appserv-tests/devtests/web/caseSensitiveHostMapping/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/caseSensitiveHostMapping/servlet/ServletTest.java
index ca72a59..9c65473 100644
--- a/appserver/tests/appserv-tests/devtests/web/caseSensitiveHostMapping/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/caseSensitiveHostMapping/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/chunkingDisabled/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/chunkingDisabled/servlet/TestServlet.java
index 39bf8fe..6013b69 100644
--- a/appserver/tests/appserv-tests/devtests/web/chunkingDisabled/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/chunkingDisabled/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/classPathManifestAttributePrecompile/docroot/example/HelloWorldTag.java b/appserver/tests/appserv-tests/devtests/web/classPathManifestAttributePrecompile/docroot/example/HelloWorldTag.java
index e020f89..7a165a2 100644
--- a/appserver/tests/appserv-tests/devtests/web/classPathManifestAttributePrecompile/docroot/example/HelloWorldTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/classPathManifestAttributePrecompile/docroot/example/HelloWorldTag.java
@@ -16,10 +16,10 @@
 
 package example;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.SkipPageException;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.SkipPageException;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.*;
 import java.io.IOException;
 
 /**
diff --git a/appserver/tests/appserv-tests/devtests/web/classloaderGetResourcesDelegateFalse/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/classloaderGetResourcesDelegateFalse/servlet/TestServlet.java
index fd66768..c22efda 100644
--- a/appserver/tests/appserv-tests/devtests/web/classloaderGetResourcesDelegateFalse/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/classloaderGetResourcesDelegateFalse/servlet/TestServlet.java
@@ -17,8 +17,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/cometEcho/servlet/CometEchoServlet.java b/appserver/tests/appserv-tests/devtests/web/cometEcho/servlet/CometEchoServlet.java
index 9127480..9896c9d 100644
--- a/appserver/tests/appserv-tests/devtests/web/cometEcho/servlet/CometEchoServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/cometEcho/servlet/CometEchoServlet.java
@@ -17,11 +17,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.grizzly.comet.CometContext;
 import org.glassfish.grizzly.comet.CometEngine;
diff --git a/appserver/tests/appserv-tests/devtests/web/commonsDigesterClassNotFoundException/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/commonsDigesterClassNotFoundException/servlet/TestServlet.java
index b56c794..aac9d12 100644
--- a/appserver/tests/appserv-tests/devtests/web/commonsDigesterClassNotFoundException/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/commonsDigesterClassNotFoundException/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.apache.commons.digester.Digester;
 import org.xml.sax.InputSource;
 import mypackage.*;
diff --git a/appserver/tests/appserv-tests/devtests/web/commonsLogging/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/commonsLogging/servlet/From.java
index db39adb..f6445e4 100644
--- a/appserver/tests/appserv-tests/devtests/web/commonsLogging/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/commonsLogging/servlet/From.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/commonsLogging/servlet/To.java b/appserver/tests/appserv-tests/devtests/web/commonsLogging/servlet/To.java
index bad0f05..f3144f2 100644
--- a/appserver/tests/appserv-tests/devtests/web/commonsLogging/servlet/To.java
+++ b/appserver/tests/appserv-tests/devtests/web/commonsLogging/servlet/To.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class To extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/commonsLoggingLocalAndGlobal/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/commonsLoggingLocalAndGlobal/servlet/TestServlet.java
index 79c6d53..8964c36 100644
--- a/appserver/tests/appserv-tests/devtests/web/commonsLoggingLocalAndGlobal/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/commonsLoggingLocalAndGlobal/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/contentlength/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/contentlength/servlet/ServletTest.java
index d4d7797..78751a7 100644
--- a/appserver/tests/appserv-tests/devtests/web/contentlength/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/contentlength/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -59,11 +59,11 @@
     }
 
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/contextValveSetRequestedSessionCookiePath/servlet/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/contextValveSetRequestedSessionCookiePath/servlet/CreateSession.java
index 1465d72..21dd5c8 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextValveSetRequestedSessionCookiePath/servlet/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextValveSetRequestedSessionCookiePath/servlet/CreateSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/contextValveSetRequestedSessionCookiePath/servlet/SetRequestedSessionCookiePathValve.java b/appserver/tests/appserv-tests/devtests/web/contextValveSetRequestedSessionCookiePath/servlet/SetRequestedSessionCookiePathValve.java
index d5ee1c6..3e55f89 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextValveSetRequestedSessionCookiePath/servlet/SetRequestedSessionCookiePathValve.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextValveSetRequestedSessionCookiePath/servlet/SetRequestedSessionCookiePathValve.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.apache.catalina.Request;
 import org.apache.catalina.Response;
 import org.apache.catalina.valves.ValveBase;
diff --git a/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListener/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListener/servlet/ServletTest.java
index 52e1aa8..d21827c 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListener/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListener/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -51,11 +51,11 @@
 
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListener/servlet/TestListener.java b/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListener/servlet/TestListener.java
index 840af00..5a99c0b 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListener/servlet/TestListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListener/servlet/TestListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import org.apache.catalina.*;
 
 public class TestListener implements LifecycleListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListenerGlobal/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListenerGlobal/servlet/ServletTest.java
index 52e1aa8..d21827c 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListenerGlobal/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListenerGlobal/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -51,11 +51,11 @@
 
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListenerGlobal/servlet/TestListener.java b/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListenerGlobal/servlet/TestListener.java
index 840af00..5a99c0b 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListenerGlobal/servlet/TestListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextXmlLifecycleListenerGlobal/servlet/TestListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import org.apache.catalina.*;
 
 public class TestListener implements LifecycleListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/ServletTest.java
index fa73a01..57f89be 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -48,11 +48,11 @@
         System.out.println("[Servlet.doPost]");
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/TestListener.java b/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/TestListener.java
index d5d5ecc..333af82 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/TestListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/TestListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import org.apache.catalina.*;
 
 public class TestListener implements LifecycleListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/TestServlet.java
index 8dd49bc..334ac3c 100644
--- a/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/contextXmlRemoteHostValve/servlet/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/cookieValueWithEquals/servlet/CreateCookie.java b/appserver/tests/appserv-tests/devtests/web/cookieValueWithEquals/servlet/CreateCookie.java
index bf7db8f..06e0e4a 100644
--- a/appserver/tests/appserv-tests/devtests/web/cookieValueWithEquals/servlet/CreateCookie.java
+++ b/appserver/tests/appserv-tests/devtests/web/cookieValueWithEquals/servlet/CreateCookie.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateCookie extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/cookieValueWithEquals/servlet/GetCookie.java b/appserver/tests/appserv-tests/devtests/web/cookieValueWithEquals/servlet/GetCookie.java
index 152fd16..0e46a9d 100644
--- a/appserver/tests/appserv-tests/devtests/web/cookieValueWithEquals/servlet/GetCookie.java
+++ b/appserver/tests/appserv-tests/devtests/web/cookieValueWithEquals/servlet/GetCookie.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class GetCookie extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/cookieValueWithSpaces/servlet/CreateCookie.java b/appserver/tests/appserv-tests/devtests/web/cookieValueWithSpaces/servlet/CreateCookie.java
index db90797..c8da7e1 100644
--- a/appserver/tests/appserv-tests/devtests/web/cookieValueWithSpaces/servlet/CreateCookie.java
+++ b/appserver/tests/appserv-tests/devtests/web/cookieValueWithSpaces/servlet/CreateCookie.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateCookie extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/cookieValueWithSpaces/servlet/GetCookie.java b/appserver/tests/appserv-tests/devtests/web/cookieValueWithSpaces/servlet/GetCookie.java
index 768c99e..c8109d7 100644
--- a/appserver/tests/appserv-tests/devtests/web/cookieValueWithSpaces/servlet/GetCookie.java
+++ b/appserver/tests/appserv-tests/devtests/web/cookieValueWithSpaces/servlet/GetCookie.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class GetCookie extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/createHttpsListener/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/createHttpsListener/servlet/ServletTest.java
index a33ea2e..0f736a8 100644
--- a/appserver/tests/appserv-tests/devtests/web/createHttpsListener/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/createHttpsListener/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/createSessionInServletRequestListener/servlet/test/CheckResult.java b/appserver/tests/appserv-tests/devtests/web/createSessionInServletRequestListener/servlet/test/CheckResult.java
index 09f2165..36572ef 100644
--- a/appserver/tests/appserv-tests/devtests/web/createSessionInServletRequestListener/servlet/test/CheckResult.java
+++ b/appserver/tests/appserv-tests/devtests/web/createSessionInServletRequestListener/servlet/test/CheckResult.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckResult extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/createSessionInServletRequestListener/servlet/test/MyServletRequestListener.java b/appserver/tests/appserv-tests/devtests/web/createSessionInServletRequestListener/servlet/test/MyServletRequestListener.java
index 16c7199..03eb816 100644
--- a/appserver/tests/appserv-tests/devtests/web/createSessionInServletRequestListener/servlet/test/MyServletRequestListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/createSessionInServletRequestListener/servlet/test/MyServletRequestListener.java
@@ -16,11 +16,11 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletRequestEvent;
-import javax.servlet.ServletRequestListener;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletRequestEvent;
+import jakarta.servlet.ServletRequestListener;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
 
 public class MyServletRequestListener implements ServletRequestListener {
     public void requestInitialized(ServletRequestEvent sre) {
diff --git a/appserver/tests/appserv-tests/devtests/web/crossContextDispatchLongestContextRootMatch/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/crossContextDispatchLongestContextRootMatch/servlet/From.java
index 653f17d..c809549 100644
--- a/appserver/tests/appserv-tests/devtests/web/crossContextDispatchLongestContextRootMatch/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/crossContextDispatchLongestContextRootMatch/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/delegate/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/delegate/servlet/ServletTest.java
index a55a4af..ecea96b 100644
--- a/appserver/tests/appserv-tests/devtests/web/delegate/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/delegate/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet{
 
diff --git a/appserver/tests/appserv-tests/devtests/web/dirListing/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/dirListing/servlet/ServletTest.java
index 8ab08d2..860bcc4 100644
--- a/appserver/tests/appserv-tests/devtests/web/dirListing/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/dirListing/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -49,11 +49,11 @@
     }
 
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/disableDefaultErrorPage/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/disableDefaultErrorPage/servlet/TestServlet.java
index cfb2294..7d500c4 100644
--- a/appserver/tests/appserv-tests/devtests/web/disableDefaultErrorPage/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/disableDefaultErrorPage/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/distributableWebappEnforceSerializableSessionAttrs/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/distributableWebappEnforceSerializableSessionAttrs/servlet/TestServlet.java
index 434f1b7..1a76d80 100644
--- a/appserver/tests/appserv-tests/devtests/web/distributableWebappEnforceSerializableSessionAttrs/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/distributableWebappEnforceSerializableSessionAttrs/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/dosBrokenPost/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/dosBrokenPost/servlet/ServletTest.java
index d4d7797..78751a7 100644
--- a/appserver/tests/appserv-tests/devtests/web/dosBrokenPost/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/dosBrokenPost/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -59,11 +59,11 @@
     }
 
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/doubleContentLength/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/doubleContentLength/servlet/ServletTest.java
index d4d7797..78751a7 100644
--- a/appserver/tests/appserv-tests/devtests/web/doubleContentLength/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/doubleContentLength/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -59,11 +59,11 @@
     }
 
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/emptyServletPathJspInclude/servlet/Foo.java b/appserver/tests/appserv-tests/devtests/web/emptyServletPathJspInclude/servlet/Foo.java
index 514cfaf..f2c6b99 100644
--- a/appserver/tests/appserv-tests/devtests/web/emptyServletPathJspInclude/servlet/Foo.java
+++ b/appserver/tests/appserv-tests/devtests/web/emptyServletPathJspInclude/servlet/Foo.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class Foo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestException.java b/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestException.java
index 4d7e18c..272a12e 100644
--- a/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestException.java
+++ b/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestException.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  * Generic exception class to use for testing error page assertions.
diff --git a/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestServlet.java
index 08255a5..2e15030 100644
--- a/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestServletException.java b/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestServletException.java
index b04da5a..74874fb 100644
--- a/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestServletException.java
+++ b/appserver/tests/appserv-tests/devtests/web/errorPageExceptionTypeWrapper/servlet/TestServletException.java
@@ -14,7 +14,7 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
 
 public class TestServletException extends ServletException {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/errorPageHandlingForError/servlet/test/HelloServlet.java b/appserver/tests/appserv-tests/devtests/web/errorPageHandlingForError/servlet/test/HelloServlet.java
index d1da1cf..ccad9ef 100644
--- a/appserver/tests/appserv-tests/devtests/web/errorPageHandlingForError/servlet/test/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/errorPageHandlingForError/servlet/test/HelloServlet.java
@@ -23,11 +23,11 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-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;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/web/errorPageHandlingForError/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/errorPageHandlingForError/servlet/test/TestServlet.java
index ee81dbd..88ddcb5 100644
--- a/appserver/tests/appserv-tests/devtests/web/errorPageHandlingForError/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/errorPageHandlingForError/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/explodedWar/build.xml b/appserver/tests/appserv-tests/devtests/web/explodedWar/build.xml
index 187e112..026f89a 100644
--- a/appserver/tests/appserv-tests/devtests/web/explodedWar/build.xml
+++ b/appserver/tests/appserv-tests/devtests/web/explodedWar/build.xml
@@ -59,7 +59,7 @@
             todir="${assemble.dir}/WEB-INF/lib/foo.jar/test"/>
         <copy file="${web.xml}" todir="${assemble.dir}/WEB-INF"/>
         <echo message="test.ServletContainerInitializerTest"
-            file="${assemble.dir}/WEB-INF/lib/foo.jar/META-INF/services/javax.servlet.ServletContainerInitializer"/>
+            file="${assemble.dir}/WEB-INF/lib/foo.jar/META-INF/services/jakarta.servlet.ServletContainerInitializer"/>
         
         <javac
             srcdir="."
diff --git a/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/FilterTest.java
index 0a4caa5..a71f636 100644
--- a/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/FilterTest.java
@@ -16,15 +16,15 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     public void destroy() {
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession(true).setAttribute("FILTER", "PASS");
@@ -32,7 +32,7 @@
         
     }    
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/FilterTest2.java b/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/FilterTest2.java
index ba14ab0..ac702d5 100644
--- a/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/FilterTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/FilterTest2.java
@@ -16,9 +16,9 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebFilter;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebFilter;
 
 @WebFilter("/*")
 public class FilterTest2 implements Filter{
@@ -27,7 +27,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession(true).setAttribute("FILTER2", "PASS");
@@ -35,7 +35,7 @@
         
     }    
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/ServletContainerInitializerTest.java b/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/ServletContainerInitializerTest.java
index e460921..e8ed9cd 100644
--- a/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/ServletContainerInitializerTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/ServletContainerInitializerTest.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(WebServlet.class)
 public class ServletContainerInitializerTest implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/ServletTest.java
index 44838a0..40d8be4 100644
--- a/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/explodedWar/servlet/ServletTest.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet(name="/ServletTest", urlPatterns="/ServletTest")
 public class ServletTest extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/extraClassPathJarUrl/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/extraClassPathJarUrl/servlet/test/TestServlet.java
index 287476f..3c6fa96 100644
--- a/appserver/tests/appserv-tests/devtests/web/extraClassPathJarUrl/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/extraClassPathJarUrl/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/extraClassPathRelative/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/extraClassPathRelative/servlet/test/TestServlet.java
index 646f2c5..21dd752 100644
--- a/appserver/tests/appserv-tests/devtests/web/extraClassPathRelative/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/extraClassPathRelative/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/filterMultipleInit/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/filterMultipleInit/servlet/TestFilter.java
index 166a8fa..48ff4c2 100644
--- a/appserver/tests/appserv-tests/devtests/web/filterMultipleInit/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/filterMultipleInit/servlet/TestFilter.java
@@ -16,8 +16,8 @@
 
 import java.io.IOException;
 
-import javax.servlet.*;
-import javax.servlet.annotation.WebFilter;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebFilter;
 
 @WebFilter(filterName="testFilter", urlPatterns="/*")
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/filterURIMapping/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/filterURIMapping/servlet/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/appserv-tests/devtests/web/filterURIMapping/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/filterURIMapping/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/filterURIMapping/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/filterURIMapping/servlet/ServletTest.java
index ef70056..a76f882 100644
--- a/appserver/tests/appserv-tests/devtests/web/filterURIMapping/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/filterURIMapping/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/form-based/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/form-based/servlet/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/appserv-tests/devtests/web/form-based/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/form-based/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest.java
index 9fe46d3..d4a3174 100644
--- a/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest2.java
index f517cce..db2cb50 100644
--- a/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest3.java
index 4b9b240..3e8d25b 100644
--- a/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/form-based/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/appserv-tests/devtests/web/formHintFieldPostWithQueryParamPrecedence/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/formHintFieldPostWithQueryParamPrecedence/servlet/TestServlet.java
index ae83dcf..6f733b3 100644
--- a/appserver/tests/appserv-tests/devtests/web/formHintFieldPostWithQueryParamPrecedence/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/formHintFieldPostWithQueryParamPrecedence/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/formLoginAccessSessionOnResumedRequest/servlet/AccessSession.java b/appserver/tests/appserv-tests/devtests/web/formLoginAccessSessionOnResumedRequest/servlet/AccessSession.java
index cfb57ed..e871aa1 100644
--- a/appserver/tests/appserv-tests/devtests/web/formLoginAccessSessionOnResumedRequest/servlet/AccessSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/formLoginAccessSessionOnResumedRequest/servlet/AccessSession.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class AccessSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/FilterTest.java
index 19b7d9c..d4371f6 100644
--- a/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -25,12 +25,12 @@
     public void destroy() {
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         filterChain.doFilter(request, response);
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
     }
     
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest.java
index 132c691..4cd933e 100644
--- a/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest2.java
index 98a9d90..0a51ae2 100644
--- a/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest3.java
index 86cf85d..26d5ca5 100644
--- a/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/forwardWithQueryString/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest3 extends HttpServlet{
 
diff --git a/appserver/tests/appserv-tests/devtests/web/getAttributeAfterForward/docroot/process.jsp b/appserver/tests/appserv-tests/devtests/web/getAttributeAfterForward/docroot/process.jsp
index 786d58b..ff55bb6 100644
--- a/appserver/tests/appserv-tests/devtests/web/getAttributeAfterForward/docroot/process.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/getAttributeAfterForward/docroot/process.jsp
@@ -20,18 +20,18 @@
 <%@ page import="java.util.*" %>
 
 <%
-Object attrValue = request.getAttribute("javax.servlet.include.request_uri");
+Object attrValue = request.getAttribute("jakarta.servlet.include.request_uri");
 if (!"/web-get-attribute-after-forward/process.jsp".equals(attrValue)) {
     throw new Exception("Missing or wrong value for request attribute " +
-        "javax.servlet.include.request_uri_name. Expected: " +
+        "jakarta.servlet.include.request_uri_name. Expected: " +
         "\"/web-get-attribute-after-forward/process.jsp\", received: " +
         attrValue);
 }
 
-attrValue = request.getAttribute("javax.servlet.forward.request_uri");
+attrValue = request.getAttribute("jakarta.servlet.forward.request_uri");
 if (!"/web-get-attribute-after-forward/forward.jsp".equals(attrValue)) {
     throw new Exception("Missing or wrong value for request attribute " +
-        "javax.servlet.forward.request_uri_name. Expected: " +
+        "jakarta.servlet.forward.request_uri_name. Expected: " +
         "\"/web-get-attribute-after-forward/forward.jsp\", received: " +
         attrValue);
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/getAttributeAfterInclude/docroot/process.jsp b/appserver/tests/appserv-tests/devtests/web/getAttributeAfterInclude/docroot/process.jsp
index 0162933..e1ca58a 100644
--- a/appserver/tests/appserv-tests/devtests/web/getAttributeAfterInclude/docroot/process.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/getAttributeAfterInclude/docroot/process.jsp
@@ -19,9 +19,9 @@
 <%@ page contentType="text/plain" %>
 
 <%
-if (request.getAttribute("javax.servlet.include.query_string") == null){
+if (request.getAttribute("jakarta.servlet.include.query_string") == null){
     throw new Exception("Missing request attribute " +
-        "javax.servlet.include.query_string");
+        "jakarta.servlet.include.query_string");
 }
 %>
 
diff --git a/appserver/tests/appserv-tests/devtests/web/getLocalPort/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/getLocalPort/servlet/ServletTest.java
index 65a1379..68296c9 100644
--- a/appserver/tests/appserv-tests/devtests/web/getLocalPort/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/getLocalPort/servlet/ServletTest.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/getServerNameAndPort/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/getServerNameAndPort/servlet/TestServlet.java
index 62a0971..bbbd28f 100644
--- a/appserver/tests/appserv-tests/devtests/web/getServerNameAndPort/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/getServerNameAndPort/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/ha-web/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/ha-web/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index 9ee913f..03aeb46 100644
--- a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/ha-web/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/ha-web/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -24,11 +24,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 public class SFSBDriverServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-attribute/SFSBModifiedAttribute/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-attribute/SFSBModifiedAttribute/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index abbdbca..ed64b72 100644
--- a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-attribute/SFSBModifiedAttribute/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-attribute/SFSBModifiedAttribute/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-session/SFSBModifiedSession/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-session/SFSBModifiedSession/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index 4b2a08c..a0b649a 100644
--- a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-session/SFSBModifiedSession/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover-modified-session/SFSBModifiedSession/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
index c4baf03..f81f933 100644
--- a/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/ha/cluster-tests/simple-failover/SFSBDriver/src/java/net/max/ee/sfsb/SFSBDriverServlet.java
@@ -26,11 +26,11 @@
 import java.util.ArrayList;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/web/headerBufferFull/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/headerBufferFull/servlet/TestServlet.java
index 91f99d4..750cee5 100644
--- a/appserver/tests/appserv-tests/devtests/web/headerBufferFull/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/headerBufferFull/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/httpListenerDynamicConfig/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/httpListenerDynamicConfig/servlet/ServletTest.java
index 2ae94c1..781bccf 100644
--- a/appserver/tests/appserv-tests/devtests/web/httpListenerDynamicConfig/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/httpListenerDynamicConfig/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/httpRequestIgnoreInvalidAcceptLanguageHeader/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/httpRequestIgnoreInvalidAcceptLanguageHeader/servlet/test/TestServlet.java
index cd4d5c7..0f21f56 100644
--- a/appserver/tests/appserv-tests/devtests/web/httpRequestIgnoreInvalidAcceptLanguageHeader/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/httpRequestIgnoreInvalidAcceptLanguageHeader/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/httpServletDoPost/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/httpServletDoPost/servlet/ServletTest.java
index b08f5c6..f31f884 100644
--- a/appserver/tests/appserv-tests/devtests/web/httpServletDoPost/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/httpServletDoPost/servlet/ServletTest.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/httpServletGetAllDeclaredMethods/servlet/ParentServlet.java b/appserver/tests/appserv-tests/devtests/web/httpServletGetAllDeclaredMethods/servlet/ParentServlet.java
index 7929f19..d13c92b 100644
--- a/appserver/tests/appserv-tests/devtests/web/httpServletGetAllDeclaredMethods/servlet/ParentServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/httpServletGetAllDeclaredMethods/servlet/ParentServlet.java
@@ -14,7 +14,7 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
 
 public class ParentServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/httpServletGetAllDeclaredMethods/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/httpServletGetAllDeclaredMethods/servlet/TestServlet.java
index a0c8a35..cdb3647 100644
--- a/appserver/tests/appserv-tests/devtests/web/httpServletGetAllDeclaredMethods/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/httpServletGetAllDeclaredMethods/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends ParentServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/invokerServletDisabled/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/invokerServletDisabled/servlet/test/TestServlet.java
index 11aad1a..65ccb10 100644
--- a/appserver/tests/appserv-tests/devtests/web/invokerServletDisabled/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/invokerServletDisabled/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriDynamicResource/WebTest.java b/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriDynamicResource/WebTest.java
index 89433a7..51f2b18 100644
--- a/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriDynamicResource/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriDynamicResource/WebTest.java
@@ -20,7 +20,7 @@
 
 /*
  * Unit test for CR 4882996:
- * request.getAttribute("javax.servlet.error.request_uri") is not working ..
+ * request.getAttribute("jakarta.servlet.error.request_uri") is not working ..
  *
  * The following response body lines must be returned in order for this unit
  * test to succeed:
diff --git a/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriDynamicResource/docroot/404handler.jsp b/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriDynamicResource/docroot/404handler.jsp
index effe5d4..67ac9c3 100644
--- a/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriDynamicResource/docroot/404handler.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriDynamicResource/docroot/404handler.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-${requestScope["javax.servlet.error.request_uri"]}
-${requestScope["javax.servlet.error.status_code"]}
+${requestScope["jakarta.servlet.error.request_uri"]}
+${requestScope["jakarta.servlet.error.status_code"]}
 ${pageContext.request.requestURI}
 ${pageContext.request.requestURL}
diff --git a/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriStaticResource/WebTest.java b/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriStaticResource/WebTest.java
index 1b2cb3d..93a7384 100644
--- a/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriStaticResource/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriStaticResource/WebTest.java
@@ -20,7 +20,7 @@
 
 /*
  * Unit test for CR 4882996
- * (request.getAttribute("javax.servlet.error.request_uri") is not working).
+ * (request.getAttribute("jakarta.servlet.error.request_uri") is not working).
  *
  * The following response body lines must be returned in order for this unit
  * test to succeed:
diff --git a/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriStaticResource/docroot/404handler.jsp b/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriStaticResource/docroot/404handler.jsp
index effe5d4..67ac9c3 100644
--- a/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriStaticResource/docroot/404handler.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/javaxServletErrorRequestUriStaticResource/docroot/404handler.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-${requestScope["javax.servlet.error.request_uri"]}
-${requestScope["javax.servlet.error.status_code"]}
+${requestScope["jakarta.servlet.error.request_uri"]}
+${requestScope["jakarta.servlet.error.status_code"]}
 ${pageContext.request.requestURI}
 ${pageContext.request.requestURL}
diff --git a/appserver/tests/appserv-tests/devtests/web/jmxUndeployEvent/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/jmxUndeployEvent/servlet/ServletTest.java
index 1d6e81f..750862b 100644
--- a/appserver/tests/appserv-tests/devtests/web/jmxUndeployEvent/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jmxUndeployEvent/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
diff --git a/appserver/tests/appserv-tests/devtests/web/jrouteIdInCookieOrURL/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/jrouteIdInCookieOrURL/servlet/TestServlet.java
index 7ada2fd..65fc018 100644
--- a/appserver/tests/appserv-tests/devtests/web/jrouteIdInCookieOrURL/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/jrouteIdInCookieOrURL/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.apache.catalina.connector.RequestFacade;
 
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspAttributeNameWithColonOrDot/servlet/taglib/EchoAttributesTag.java b/appserver/tests/appserv-tests/devtests/web/jspAttributeNameWithColonOrDot/servlet/taglib/EchoAttributesTag.java
index 7fe04de..82bc3e6 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspAttributeNameWithColonOrDot/servlet/taglib/EchoAttributesTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspAttributeNameWithColonOrDot/servlet/taglib/EchoAttributesTag.java
@@ -19,10 +19,10 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.io.IOException;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
-import javax.servlet.jsp.tagext.DynamicAttributes;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.tagext.DynamicAttributes;
 
 /**
  * SimpleTag handler that echoes all its attributes 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspConfigModificationTestInterval/servlet/UpdateJsp.java b/appserver/tests/appserv-tests/devtests/web/jspConfigModificationTestInterval/servlet/UpdateJsp.java
index 5b80d35..ce4a5b0 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspConfigModificationTestInterval/servlet/UpdateJsp.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspConfigModificationTestInterval/servlet/UpdateJsp.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class UpdateJsp extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled/servlet/org/apache/jsp/jsp/test_jsp.java b/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled/servlet/org/apache/jsp/jsp/test_jsp.java
index 446f495..6d94850 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled/servlet/org/apache/jsp/jsp/test_jsp.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspConfigUsePrecompiled/servlet/org/apache/jsp/jsp/test_jsp.java
@@ -16,9 +16,9 @@
 
 package org.apache.jsp.jsp;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.jsp.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.jsp.*;
 
 public final class test_jsp extends org.apache.jasper.runtime.HttpJspBase
     implements org.apache.jasper.runtime.JspSourceDependent {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspConfigWelcomeFiles/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/jspConfigWelcomeFiles/servlet/TestServlet.java
index 64aa0a9..8646efc 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspConfigWelcomeFiles/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspConfigWelcomeFiles/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspCustomTagAttributeOfArrayType/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspCustomTagAttributeOfArrayType/servlet/taglib/MyTag.java
index 7fbbdd2..ae209ba 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspCustomTagAttributeOfArrayType/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspCustomTagAttributeOfArrayType/servlet/taglib/MyTag.java
@@ -17,9 +17,9 @@
 package taglib;
 
 import java.io.IOException;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 public class MyTag extends TagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibBundledAsJar/lib/taglib/HelloWorldSimpleTag.java b/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibBundledAsJar/lib/taglib/HelloWorldSimpleTag.java
index 62a259d..78efcd4 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibBundledAsJar/lib/taglib/HelloWorldSimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibBundledAsJar/lib/taglib/HelloWorldSimpleTag.java
@@ -17,8 +17,8 @@
 package taglib;
 
 import java.io.IOException;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 
 public class HelloWorldSimpleTag extends SimpleTagSupport {
     public void doTag() throws JspException, IOException {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibJarInsideEarWithManifestClassPath/servlet/taglib/HelloWorldSimpleTag.java b/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibJarInsideEarWithManifestClassPath/servlet/taglib/HelloWorldSimpleTag.java
index 27ede4f..45386be 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibJarInsideEarWithManifestClassPath/servlet/taglib/HelloWorldSimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibJarInsideEarWithManifestClassPath/servlet/taglib/HelloWorldSimpleTag.java
@@ -17,8 +17,8 @@
 package taglib;
 
 import java.io.IOException;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 
 public class HelloWorldSimpleTag extends SimpleTagSupport {
     public void doTag() throws JspException, IOException {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibJarInsideEarWithoutManifestClassPath/servlet/taglib/HelloWorldSimpleTag.java b/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibJarInsideEarWithoutManifestClassPath/servlet/taglib/HelloWorldSimpleTag.java
index 27ede4f..45386be 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibJarInsideEarWithoutManifestClassPath/servlet/taglib/HelloWorldSimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspCustomTaglibJarInsideEarWithoutManifestClassPath/servlet/taglib/HelloWorldSimpleTag.java
@@ -17,8 +17,8 @@
 package taglib;
 
 import java.io.IOException;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 
 public class HelloWorldSimpleTag extends SimpleTagSupport {
     public void doTag() throws JspException, IOException {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspErrorPageClassCastException/WebTest.java b/appserver/tests/appserv-tests/devtests/web/jspErrorPageClassCastException/WebTest.java
index 9da6d1c..813439f 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspErrorPageClassCastException/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspErrorPageClassCastException/WebTest.java
@@ -29,7 +29,7 @@
         = "jsp-error-page-class-cast-exception";
 
     private static final String EXPECTED
-        = "javax.servlet.jsp.JspException: java.lang.Throwable: "
+        = "jakarta.servlet.jsp.JspException: java.lang.Throwable: "
             + "The cake fell in the mud";
 
     private static SimpleReporterAdapter stat
diff --git a/appserver/tests/appserv-tests/devtests/web/jspErrorPageStatusCode/docroot/foo_error.jsp b/appserver/tests/appserv-tests/devtests/web/jspErrorPageStatusCode/docroot/foo_error.jsp
index 1bd587d..835cc2a 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspErrorPageStatusCode/docroot/foo_error.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/jspErrorPageStatusCode/docroot/foo_error.jsp
@@ -20,8 +20,8 @@
 This is foo_error.jsp
 <%
 out.println("Status code:");
-out.println(request.getAttribute("javax.servlet.error.status_code"));
+out.println(request.getAttribute("jakarta.servlet.error.status_code"));
 out.println("Exception:");
-out.println(request.getAttribute("javax.servlet.error.exception"));
+out.println(request.getAttribute("jakarta.servlet.error.exception"));
 
 %>
diff --git a/appserver/tests/appserv-tests/devtests/web/jspForwardPreserveApplicationResponseWrapper/servlet/myfilter/MyFilter.java b/appserver/tests/appserv-tests/devtests/web/jspForwardPreserveApplicationResponseWrapper/servlet/myfilter/MyFilter.java
index 8a5c073..6a7ff29 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspForwardPreserveApplicationResponseWrapper/servlet/myfilter/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspForwardPreserveApplicationResponseWrapper/servlet/myfilter/MyFilter.java
@@ -17,8 +17,8 @@
 package myfilter;
 
 import java.io.IOException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyFilter implements Filter {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspForwardPreserveApplicationResponseWrapper/servlet/myfilter/MyServletResponseWrapper.java b/appserver/tests/appserv-tests/devtests/web/jspForwardPreserveApplicationResponseWrapper/servlet/myfilter/MyServletResponseWrapper.java
index ef1d819..9606c73 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspForwardPreserveApplicationResponseWrapper/servlet/myfilter/MyServletResponseWrapper.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspForwardPreserveApplicationResponseWrapper/servlet/myfilter/MyServletResponseWrapper.java
@@ -16,8 +16,8 @@
 
 package myfilter;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyServletResponseWrapper extends HttpServletResponseWrapper {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspGetTagLibraryInfos/servlet/taglib/MySimpleTag.java b/appserver/tests/appserv-tests/devtests/web/jspGetTagLibraryInfos/servlet/taglib/MySimpleTag.java
index 9e6ae5d..66d8bd5 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspGetTagLibraryInfos/servlet/taglib/MySimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspGetTagLibraryInfos/servlet/taglib/MySimpleTag.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 
 public class MySimpleTag extends SimpleTagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspGetTagLibraryInfos/servlet/taglib/MyTagExtraInfo.java b/appserver/tests/appserv-tests/devtests/web/jspGetTagLibraryInfos/servlet/taglib/MyTagExtraInfo.java
index 2dda801..e80bda2 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspGetTagLibraryInfos/servlet/taglib/MyTagExtraInfo.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspGetTagLibraryInfos/servlet/taglib/MyTagExtraInfo.java
@@ -16,7 +16,7 @@
 
 package taglib;
 
-import javax.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.tagext.*;
 
 public class MyTagExtraInfo extends TagExtraInfo {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspIncludedWelcomePage/WebTest.java b/appserver/tests/appserv-tests/devtests/web/jspIncludedWelcomePage/WebTest.java
index 19423bd..4982bfd 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspIncludedWelcomePage/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspIncludedWelcomePage/WebTest.java
@@ -25,7 +25,7 @@
  *
  * This test case used to throw a java.lang.StringIndexOutOfBoundsException
  * when reconstructing the URI of a JSP that is the target of a 
- * RequestDispatcher.include() from the javax.servlet.include.XXX
+ * RequestDispatcher.include() from the jakarta.servlet.include.XXX
  * request attributes.
  */
 public class WebTest {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspNestedScriptingTagExtraInfo/servlet/taglib/MyExtraInfo.java b/appserver/tests/appserv-tests/devtests/web/jspNestedScriptingTagExtraInfo/servlet/taglib/MyExtraInfo.java
index 44ebad9..14ac2f6 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspNestedScriptingTagExtraInfo/servlet/taglib/MyExtraInfo.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspNestedScriptingTagExtraInfo/servlet/taglib/MyExtraInfo.java
@@ -16,7 +16,7 @@
 
 package taglib;
 
-import javax.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.tagext.*;
 
 public class MyExtraInfo extends TagExtraInfo {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspNestedScriptingTagExtraInfo/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspNestedScriptingTagExtraInfo/servlet/taglib/MyTag.java
index 065ab98..ca1d351 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspNestedScriptingTagExtraInfo/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspNestedScriptingTagExtraInfo/servlet/taglib/MyTag.java
@@ -16,8 +16,8 @@
 
 package taglib;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.*;
 
 public class MyTag extends TagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspPoundSyntax/servlet/test/Test.java b/appserver/tests/appserv-tests/devtests/web/jspPoundSyntax/servlet/test/Test.java
index 0a934e0..bea723b 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspPoundSyntax/servlet/test/Test.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspPoundSyntax/servlet/test/Test.java
@@ -17,8 +17,8 @@
 package test;
 
 import jakarta.el.*;
-import javax.servlet.jsp.*;
-import javax.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.*;
+import jakarta.servlet.jsp.tagext.*;
 import java.io.*;
 
 public class Test extends SimpleTagSupport {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.java b/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.java
index d703118..88fdd2d 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspReloadGeneratedServletIfUpdated/test_jsp.java
@@ -16,9 +16,9 @@
 
 package org.apache.jsp.jsp;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.jsp.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.jsp.*;
 
 public final class test_jsp extends org.apache.jasper.runtime.HttpJspBase
     implements org.apache.jasper.runtime.JspSourceDependent {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionContextListener/servlet/taglib/MyListener.java b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionContextListener/servlet/taglib/MyListener.java
index 2b78c64..ee5b0f7 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionContextListener/servlet/taglib/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionContextListener/servlet/taglib/MyListener.java
@@ -16,9 +16,9 @@
 
 package taglib;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionContextListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionContextListener/servlet/test/TestServlet.java
index 32087c2..157e711 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionContextListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionContextListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/servlet/taglib/MySimpleTag.java b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/servlet/taglib/MySimpleTag.java
index 26cd708..8fc6444 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/servlet/taglib/MySimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionSimpleTagHandler/servlet/taglib/MySimpleTag.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionTagHandler/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionTagHandler/servlet/taglib/MyTag.java
index e1851ea..ce5a64b 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionTagHandler/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionTagHandler/servlet/taglib/MyTag.java
@@ -19,9 +19,9 @@
 import java.io.IOException;
 import java.sql.Connection;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionTagHandlerPoolingDisabled/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionTagHandlerPoolingDisabled/servlet/taglib/MyTag.java
index e1851ea..ce5a64b 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionTagHandlerPoolingDisabled/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspResourceInjectionTagHandlerPoolingDisabled/servlet/taglib/MyTag.java
@@ -19,9 +19,9 @@
 import java.io.IOException;
 import java.sql.Connection;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/jspScriptlessTagBodyJspDocument/servlet/taglib/JspBodyContent.java b/appserver/tests/appserv-tests/devtests/web/jspScriptlessTagBodyJspDocument/servlet/taglib/JspBodyContent.java
index 42ebda1..9396367 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspScriptlessTagBodyJspDocument/servlet/taglib/JspBodyContent.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspScriptlessTagBodyJspDocument/servlet/taglib/JspBodyContent.java
@@ -16,8 +16,8 @@
 
 package taglib;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 public class JspBodyContent extends TagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspScriptletDeclNestedInCustomAction/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspScriptletDeclNestedInCustomAction/servlet/taglib/MyTag.java
index cbf7f14..ead8adb 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspScriptletDeclNestedInCustomAction/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspScriptletDeclNestedInCustomAction/servlet/taglib/MyTag.java
@@ -16,8 +16,8 @@
 
 package taglib;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.*;
 
 public class MyTag extends TagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspSimpleTagAnnotation/servlet/mypack/MySimpleTag.java b/appserver/tests/appserv-tests/devtests/web/jspSimpleTagAnnotation/servlet/mypack/MySimpleTag.java
index a852eda..9e14b69 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspSimpleTagAnnotation/servlet/mypack/MySimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspSimpleTagAnnotation/servlet/mypack/MySimpleTag.java
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 import java.io.StringWriter;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.JspFragment;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.JspFragment;
 import jakarta.annotation.PostConstruct;
 import jakarta.annotation.PreDestroy;
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPostConstructAnnotation/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPostConstructAnnotation/servlet/taglib/MyTag.java
index 9b29866..1f53065 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPostConstructAnnotation/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPostConstructAnnotation/servlet/taglib/MyTag.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 import jakarta.annotation.Resource;
 import jakarta.annotation.PostConstruct;
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPostConstructElement/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPostConstructElement/servlet/taglib/MyTag.java
index 127fe39..440be8d 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPostConstructElement/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPostConstructElement/servlet/taglib/MyTag.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 import jakarta.annotation.Resource;
 import jakarta.annotation.PostConstruct;
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPreDestroyAnnotation/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPreDestroyAnnotation/servlet/taglib/MyTag.java
index 9cca561..ed563bc 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPreDestroyAnnotation/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspTagHandlerPreDestroyAnnotation/servlet/taglib/MyTag.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import jakarta.annotation.PreDestroy;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 public class MyTag extends TagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTagLibraryValidatorXMLViewStaticInclude/servlet/taglib/MySimpleTag.java b/appserver/tests/appserv-tests/devtests/web/jspTagLibraryValidatorXMLViewStaticInclude/servlet/taglib/MySimpleTag.java
index 9e6ae5d..66d8bd5 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTagLibraryValidatorXMLViewStaticInclude/servlet/taglib/MySimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspTagLibraryValidatorXMLViewStaticInclude/servlet/taglib/MySimpleTag.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 
 public class MySimpleTag extends SimpleTagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTagLibraryValidatorXMLViewStaticInclude/servlet/taglib/MyValidator.java b/appserver/tests/appserv-tests/devtests/web/jspTagLibraryValidatorXMLViewStaticInclude/servlet/taglib/MyValidator.java
index 6bcae84..2168757 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTagLibraryValidatorXMLViewStaticInclude/servlet/taglib/MyValidator.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspTagLibraryValidatorXMLViewStaticInclude/servlet/taglib/MyValidator.java
@@ -19,9 +19,9 @@
 import java.io.InputStream;
 import java.io.IOException;
 
-import javax.servlet.jsp.tagext.PageData;
-import javax.servlet.jsp.tagext.TagLibraryValidator;
-import javax.servlet.jsp.tagext.ValidationMessage;
+import jakarta.servlet.jsp.tagext.PageData;
+import jakarta.servlet.jsp.tagext.TagLibraryValidator;
+import jakarta.servlet.jsp.tagext.ValidationMessage;
 
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParser;
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTagReleaseCalledWhenPoolingDisabled/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspTagReleaseCalledWhenPoolingDisabled/servlet/taglib/MyTag.java
index d75647a..e83760d 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTagReleaseCalledWhenPoolingDisabled/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspTagReleaseCalledWhenPoolingDisabled/servlet/taglib/MyTag.java
@@ -17,8 +17,8 @@
 package taglib;
 
 import java.io.IOException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 public class MyTag extends TagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTagReleaseCalledWhenPoolingEnabled/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspTagReleaseCalledWhenPoolingEnabled/servlet/taglib/MyTag.java
index d75647a..e83760d 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTagReleaseCalledWhenPoolingEnabled/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspTagReleaseCalledWhenPoolingEnabled/servlet/taglib/MyTag.java
@@ -17,8 +17,8 @@
 package taglib;
 
 import java.io.IOException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 public class MyTag extends TagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jspTagdependentXml/servlet/mypack/MyBody.java b/appserver/tests/appserv-tests/devtests/web/jspTagdependentXml/servlet/mypack/MyBody.java
index c60dccc..fb686e6 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspTagdependentXml/servlet/mypack/MyBody.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspTagdependentXml/servlet/mypack/MyBody.java
@@ -16,8 +16,8 @@
 
 package mypack;
 
-import javax.servlet.jsp.tagext.BodyTagSupport;
-import javax.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.BodyTagSupport;
+import jakarta.servlet.jsp.PageContext;
 
 
 public class MyBody extends BodyTagSupport {
diff --git a/appserver/tests/appserv-tests/devtests/web/jspUrnJspTldWithoutUri/servlet/taglib/MyTag.java b/appserver/tests/appserv-tests/devtests/web/jspUrnJspTldWithoutUri/servlet/taglib/MyTag.java
index 133edc7..e3acf7f 100644
--- a/appserver/tests/appserv-tests/devtests/web/jspUrnJspTldWithoutUri/servlet/taglib/MyTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/jspUrnJspTldWithoutUri/servlet/taglib/MyTag.java
@@ -17,9 +17,9 @@
 package taglib;
 
 import java.io.IOException;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspWriter;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 public class MyTag extends TagSupport {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/WebTest.java b/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/WebTest.java
index a956d52..f5e0202 100644
--- a/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/WebTest.java
@@ -20,7 +20,7 @@
 
 /*
  * Unit test for https://glassfish.dev.java.net/issues/show_bug.cgi?id=871
- * ("[JSTL] Remove dependency of javax.servlet.jsp.jstl.fmt.LocaleSupport on
+ * ("[JSTL] Remove dependency of jakarta.servlet.jsp.jstl.fmt.LocaleSupport on
  * RI classes"):
  *
  * Make sure this API still functions after removing its dependencies on the
diff --git a/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/docroot/test1.jsp b/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/docroot/test1.jsp
index c2c6f04..c6fc42a 100644
--- a/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/docroot/test1.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/docroot/test1.jsp
@@ -17,13 +17,13 @@
 --%>
 
 <%@ page import="java.util.*" %>
-<%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
+<%@ page import="jakarta.servlet.jsp.jstl.fmt.*" %>
 
 <%
   ResourceBundle rb = ResourceBundle.getBundle("TestResourceBundle",
                                                new Locale("de"));
   LocalizationContext lc = new LocalizationContext(rb);
-  pageContext.setAttribute("javax.servlet.jsp.jstl.fmt.localizationContext.page",
+  pageContext.setAttribute("jakarta.servlet.jsp.jstl.fmt.localizationContext.page",
                            lc);
   out.println(LocaleSupport.getLocalizedMessage(pageContext,
                                                 "greeting.morning"));
diff --git a/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/docroot/test2.jsp b/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/docroot/test2.jsp
index 5f5925c..f2a78ef 100644
--- a/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/docroot/test2.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/jstlLocaleSupportAPI/docroot/test2.jsp
@@ -16,10 +16,10 @@
 
 --%>
 
-<%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
+<%@ page import="jakarta.servlet.jsp.jstl.fmt.*" %>
 
 <%
-  pageContext.setAttribute("javax.servlet.jsp.jstl.fmt.localizationContext.page",
+  pageContext.setAttribute("jakarta.servlet.jsp.jstl.fmt.localizationContext.page",
                            "TestResourceBundle");
   out.println(LocaleSupport.getLocalizedMessage(pageContext,
                                                 "greeting.evening"));
diff --git a/appserver/tests/appserv-tests/devtests/web/listenerDisabled/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/listenerDisabled/servlet/ServletTest.java
index 8ab08d2..860bcc4 100644
--- a/appserver/tests/appserv-tests/devtests/web/listenerDisabled/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/listenerDisabled/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -49,11 +49,11 @@
     }
 
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/FilterTest.java
index 575fc09..c004162 100644
--- a/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/FilterTest.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.IOException;
-import javax.servlet.*;
-import javax.servlet.annotation.WebFilter;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebFilter;
 
 @WebFilter(urlPatterns={"/test"})
 public class FilterTest implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/ListenerTest.java b/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/ListenerTest.java
index 55abdbd..81b588c 100644
--- a/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/ListenerTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/ListenerTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebListener;
 
 @WebListener
 public class ListenerTest implements ServletContextListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/ServletTest.java
index b80a862..91ba6bc 100644
--- a/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/listenerFilterServletInit/servlet/test/ServletTest.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/test")
 public class ServletTest extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/loadBalanceModJK/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/loadBalanceModJK/servlet/test/TestServlet.java
index 949a979..dfdb62c 100644
--- a/appserver/tests/appserv-tests/devtests/web/loadBalanceModJK/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/loadBalanceModJK/servlet/test/TestServlet.java
@@ -16,9 +16,9 @@
 
 import java.io.*;
 
-import javax.servlet.*;
-import javax.servlet.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
+import jakarta.servlet.http.*;
 
 @WebServlet(name="hello", urlPatterns="/hello")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/loadClassesFromZipFile/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/loadClassesFromZipFile/servlet/TestServlet.java
index ec401d8..9a56bf4 100644
--- a/appserver/tests/appserv-tests/devtests/web/loadClassesFromZipFile/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/loadClassesFromZipFile/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/localeEncodingMapping/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/localeEncodingMapping/servlet/ServletTest.java
index aeb40fd..a39b525 100644
--- a/appserver/tests/appserv-tests/devtests/web/localeEncodingMapping/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/localeEncodingMapping/servlet/ServletTest.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Locale;
-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;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/log4jLocallyBundled/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/log4jLocallyBundled/servlet/TestServlet.java
index 0007093..4b98587 100644
--- a/appserver/tests/appserv-tests/devtests/web/log4jLocallyBundled/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/log4jLocallyBundled/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
diff --git a/appserver/tests/appserv-tests/devtests/web/log4jXmlInEarFile/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/log4jXmlInEarFile/servlet/TestServlet.java
index efefc71..e2372a7 100644
--- a/appserver/tests/appserv-tests/devtests/web/log4jXmlInEarFile/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/log4jXmlInEarFile/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
diff --git a/appserver/tests/appserv-tests/devtests/web/malformedQueryString/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/malformedQueryString/servlet/ServletTest.java
index cfe4e1e..ad99f3c 100644
--- a/appserver/tests/appserv-tests/devtests/web/malformedQueryString/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/malformedQueryString/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/malformedQueryString/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/malformedQueryString/servlet/ServletTest2.java
index 5cb51a2..83fdbef 100644
--- a/appserver/tests/appserv-tests/devtests/web/malformedQueryString/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/malformedQueryString/servlet/ServletTest2.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/monitorHttpService/servlet/StatusCodeServlet.java b/appserver/tests/appserv-tests/devtests/web/monitorHttpService/servlet/StatusCodeServlet.java
index 11c305f..336bfbf 100644
--- a/appserver/tests/appserv-tests/devtests/web/monitorHttpService/servlet/StatusCodeServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/monitorHttpService/servlet/StatusCodeServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class StatusCodeServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/monitorServletInstance/servlet/BadRequestServlet.java b/appserver/tests/appserv-tests/devtests/web/monitorServletInstance/servlet/BadRequestServlet.java
index 48ef34f..466a0fb 100644
--- a/appserver/tests/appserv-tests/devtests/web/monitorServletInstance/servlet/BadRequestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/monitorServletInstance/servlet/BadRequestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class BadRequestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/monitorServletInstance/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/monitorServletInstance/servlet/TestServlet.java
index 1a2e30e..e2f10e7 100644
--- a/appserver/tests/appserv-tests/devtests/web/monitorServletInstance/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/monitorServletInstance/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/monitorWebRequest/servlet/BadRequestServlet.java b/appserver/tests/appserv-tests/devtests/web/monitorWebRequest/servlet/BadRequestServlet.java
index 48ef34f..466a0fb 100644
--- a/appserver/tests/appserv-tests/devtests/web/monitorWebRequest/servlet/BadRequestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/monitorWebRequest/servlet/BadRequestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class BadRequestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/monitorWebRequest/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/monitorWebRequest/servlet/TestServlet.java
index b8a5b84..731715b 100644
--- a/appserver/tests/appserv-tests/devtests/web/monitorWebRequest/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/monitorWebRequest/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamDefaultCharset/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamDefaultCharset/servlet/TestServlet.java
index c45c534..3e53dcf 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamDefaultCharset/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamDefaultCharset/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamFormHintField/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamFormHintField/servlet/TestServlet.java
index c45c534..3e53dcf 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamFormHintField/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamFormHintField/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamLocaleCharsetMap/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamLocaleCharsetMap/servlet/TestServlet.java
index c45c534..3e53dcf 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamLocaleCharsetMap/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamLocaleCharsetMap/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamSetCharEncoding/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamSetCharEncoding/servlet/TestServlet.java
index a09f559..07daebc 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamSetCharEncoding/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiByteGETQueryParamSetCharEncoding/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/multiBytePOSTFormHintField/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/multiBytePOSTFormHintField/servlet/TestServlet.java
index 46947df..194af75 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiBytePOSTFormHintField/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiBytePOSTFormHintField/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest.java
index 9fe46d3..d4a3174 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest2.java
index f517cce..db2cb50 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest3.java
index 4b9b240..3e8d25b 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiProcessorConfig/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest.java
index 3b7c8c6..0535fe4 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest2.java
index ddf9a78..68d876a 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest3.java
index ec15a6f..a92dab0 100644
--- a/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/multiServletRequests/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/appserver/tests/appserv-tests/devtests/web/multibyteValue/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/multibyteValue/servlet/ServletTest.java
index 18383c9..8edb3c2 100644
--- a/appserver/tests/appserv-tests/devtests/web/multibyteValue/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/multibyteValue/servlet/ServletTest.java
@@ -23,11 +23,11 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/multibyteValue/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/multibyteValue/servlet/ServletTest2.java
index 464e8bb..ae65275 100644
--- a/appserver/tests/appserv-tests/devtests/web/multibyteValue/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/multibyteValue/servlet/ServletTest2.java
@@ -24,10 +24,10 @@
 import java.io.PrintWriter;
 import java.util.Locale;
 import java.text.Collator;
-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;
 
 public class ServletTest2 extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/networkListenerDynamicConfig/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/networkListenerDynamicConfig/servlet/ServletTest.java
index 2ae94c1..781bccf 100644
--- a/appserver/tests/appserv-tests/devtests/web/networkListenerDynamicConfig/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/networkListenerDynamicConfig/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/networkListenerDynamicConfigEnabled/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/networkListenerDynamicConfigEnabled/servlet/ServletTest.java
index 2ae94c1..781bccf 100644
--- a/appserver/tests/appserv-tests/devtests/web/networkListenerDynamicConfigEnabled/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/networkListenerDynamicConfigEnabled/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/networkListenerTarget/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/networkListenerTarget/servlet/ServletTest.java
index 2ae94c1..781bccf 100644
--- a/appserver/tests/appserv-tests/devtests/web/networkListenerTarget/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/networkListenerTarget/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/Activator.java b/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/Activator.java
index 61239cb..890612a 100644
--- a/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/Activator.java
+++ b/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/Activator.java
@@ -16,7 +16,7 @@
 
 package sahoo.osgihttp.test1;
 
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
 import java.io.*;
 import java.net.*;
 import java.util.*;
diff --git a/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/HelloWorldServlet1.java b/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/HelloWorldServlet1.java
index 2c822e2..f6535e7 100644
--- a/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/HelloWorldServlet1.java
+++ b/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/HelloWorldServlet1.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class HelloWorldServlet1 extends HttpServlet {
         
diff --git a/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/HelloWorldServlet2.java b/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/HelloWorldServlet2.java
index d779235..55499f9 100644
--- a/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/HelloWorldServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/osgiServlet/osgi-servlet/src/main/java/sahoo/osgihttp/test1/HelloWorldServlet2.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class HelloWorldServlet2 extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/overrideImplicitMapping/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/overrideImplicitMapping/servlet/TestServlet.java
index 31a8247..b4edaf6 100644
--- a/appserver/tests/appserv-tests/devtests/web/overrideImplicitMapping/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/overrideImplicitMapping/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/programmaticLogin/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/programmaticLogin/servlet/ServletTest.java
index f276d9c..8bb7b98 100644
--- a/appserver/tests/appserv-tests/devtests/web/programmaticLogin/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/programmaticLogin/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.net.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import com.sun.enterprise.security.ee.auth.login.ProgrammaticLogin;
 
diff --git a/appserver/tests/appserv-tests/devtests/web/proxyAuthCert/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/proxyAuthCert/servlet/TestServlet.java
index 8c64fe3..943d4fc 100644
--- a/appserver/tests/appserv-tests/devtests/web/proxyAuthCert/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/proxyAuthCert/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.security.cert.X509Certificate;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
@@ -27,7 +27,7 @@
         boolean passed = false;
 
         X509Certificate[] certChain = (X509Certificate[])
-            req.getAttribute("javax.servlet.request.X509Certificate");
+            req.getAttribute("jakarta.servlet.request.X509Certificate");
         if (certChain != null && certChain.length == 1) {
             String serial = certChain[0].getSerialNumber().toString(16);
             if ("4276a40a".equals(serial)) {
diff --git a/appserver/tests/appserv-tests/devtests/web/queryString/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/queryString/servlet/ServletTest.java
index b006ceb..e49289f 100644
--- a/appserver/tests/appserv-tests/devtests/web/queryString/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/queryString/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
     private static boolean isRedirected = false;
diff --git a/appserver/tests/appserv-tests/devtests/web/readLineIOException/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/readLineIOException/servlet/ServletTest.java
index 31078db..d63989a 100644
--- a/appserver/tests/appserv-tests/devtests/web/readLineIOException/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/readLineIOException/servlet/ServletTest.java
@@ -23,10 +23,10 @@
 import java.io.BufferedWriter;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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;
 
 
 public class ServletTest extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/readLineIOException/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/readLineIOException/servlet/ServletTest2.java
index aeede1a..9f8919f 100644
--- a/appserver/tests/appserv-tests/devtests/web/readLineIOException/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/readLineIOException/servlet/ServletTest2.java
@@ -27,10 +27,10 @@
 import java.net.URL;
 import java.net.HttpURLConnection;
 import java.util.Enumeration;
-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;
 
 public class ServletTest2 extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/readLineWithMaxLength/servlet/EchoServlet.java b/appserver/tests/appserv-tests/devtests/web/readLineWithMaxLength/servlet/EchoServlet.java
index 29daaeb..d530493 100644
--- a/appserver/tests/appserv-tests/devtests/web/readLineWithMaxLength/servlet/EchoServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/readLineWithMaxLength/servlet/EchoServlet.java
@@ -20,10 +20,10 @@
 import java.io.IOException;
 import java.io.Writer;
 
-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;
 
 public class EchoServlet extends HttpServlet {
      protected void doPost(HttpServletRequest req, HttpServletResponse res)
diff --git a/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest.java
index 9fe46d3..d4a3174 100644
--- a/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest2.java
index f517cce..db2cb50 100644
--- a/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest3.java
index 4b9b240..3e8d25b 100644
--- a/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/readerSelectorsConfig/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest.java
index 9fe46d3..d4a3174 100644
--- a/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest2.java
index f517cce..db2cb50 100644
--- a/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest3.java
index 4b9b240..3e8d25b 100644
--- a/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/readerThreadsConfig/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/appserv-tests/devtests/web/redirectWithRootWildCardUrlPattern/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/redirectWithRootWildCardUrlPattern/servlet/TestServlet.java
index 9397db3..4e5b7eb 100644
--- a/appserver/tests/appserv-tests/devtests/web/redirectWithRootWildCardUrlPattern/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/redirectWithRootWildCardUrlPattern/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardCommitResponse/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardCommitResponse/servlet/From.java
index 0d10621..effdd97 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardCommitResponse/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardCommitResponse/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardCommitResponse/servlet/To.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardCommitResponse/servlet/To.java
index 01a38c9..d1ed378 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardCommitResponse/servlet/To.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardCommitResponse/servlet/To.java
@@ -19,8 +19,8 @@
 import javax.crypto.*;
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class To extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/WebTest.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/WebTest.java
index 4d8f1ad..fc0b994 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/WebTest.java
@@ -22,7 +22,7 @@
  * Unit test for:
  *
  *   https://glassfish.dev.java.net/issues/show_bug.cgi?id=2210
- *   ("ClassCastException: javax.servlet.http.NoBodyResponse, if target
+ *   ("ClassCastException: jakarta.servlet.http.NoBodyResponse, if target
  *   servlet of a HEAD request performs rd.forward()")
  */
 public class WebTest {
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/servlet/From.java
index bd2d4e9..a73b2c0 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/servlet/To.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/servlet/To.java
index fa97032..5a0f5cb 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/servlet/To.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardHEADRequest/servlet/To.java
@@ -19,8 +19,8 @@
 import javax.crypto.*;
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class To extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardNonHttp/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardNonHttp/servlet/From.java
index b9f7c19..4537009 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardNonHttp/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardNonHttp/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends GenericServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardNonHttp/servlet/To.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardNonHttp/servlet/To.java
index ba7d588..20c0a9a 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardNonHttp/servlet/To.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardNonHttp/servlet/To.java
@@ -19,8 +19,8 @@
 import javax.crypto.*;
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class To extends GenericServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSendErrorCommitResponse/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSendErrorCommitResponse/servlet/From.java
index 0d10621..effdd97 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSendErrorCommitResponse/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSendErrorCommitResponse/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSendErrorCommitResponse/servlet/To.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSendErrorCommitResponse/servlet/To.java
index ee22250..ec86d5c 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSendErrorCommitResponse/servlet/To.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSendErrorCommitResponse/servlet/To.java
@@ -19,8 +19,8 @@
 import javax.crypto.*;
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class To extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSetStatusCommitResponse/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSetStatusCommitResponse/servlet/From.java
index 0d10621..effdd97 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSetStatusCommitResponse/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSetStatusCommitResponse/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSetStatusCommitResponse/servlet/To.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSetStatusCommitResponse/servlet/To.java
index ffca7a2..65eb03c 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSetStatusCommitResponse/servlet/To.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherForwardSetStatusCommitResponse/servlet/To.java
@@ -19,8 +19,8 @@
 import javax.crypto.*;
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class To extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherIncludeNonHttp/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherIncludeNonHttp/servlet/From.java
index 7d3b621..3ddf13a 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherIncludeNonHttp/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherIncludeNonHttp/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends GenericServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherIncludeNonHttp/servlet/To.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherIncludeNonHttp/servlet/To.java
index ba7d588..20c0a9a 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherIncludeNonHttp/servlet/To.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherIncludeNonHttp/servlet/To.java
@@ -19,8 +19,8 @@
 import javax.crypto.*;
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class To extends GenericServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/From.java
index 86d1fb2..1dea070 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/To.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/To.java
index c667054..2286789 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/To.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/To.java
@@ -15,14 +15,14 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class To extends HttpServlet {
 
     public void service(HttpServletRequest req, HttpServletResponse res)
             throws IOException, ServletException {
-        if (req.getAttribute("javax.servlet.forward.request_uri") == null) {
+        if (req.getAttribute("jakarta.servlet.forward.request_uri") == null) {
             throw new ServletException("Missing request attribute in " +
                                        "first forward target");
         }
diff --git a/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/ToTo.java b/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/ToTo.java
index 98e9458..d68178a 100644
--- a/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/ToTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/requestDispatcherMultipleForward/servlet/ToTo.java
@@ -15,14 +15,14 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ToTo extends HttpServlet {
 
     public void service(HttpServletRequest req, HttpServletResponse res)
             throws IOException, ServletException {
-        if (req.getAttribute("javax.servlet.forward.request_uri") == null) {
+        if (req.getAttribute("jakarta.servlet.forward.request_uri") == null) {
             throw new ServletException("Missing request attribute in " +
                                        "second forward target");
         }
diff --git a/appserver/tests/appserv-tests/devtests/web/responseErrorMessageEncoding/servlet/HelloJapan.java b/appserver/tests/appserv-tests/devtests/web/responseErrorMessageEncoding/servlet/HelloJapan.java
index bcc6608..612937c 100644
--- a/appserver/tests/appserv-tests/devtests/web/responseErrorMessageEncoding/servlet/HelloJapan.java
+++ b/appserver/tests/appserv-tests/devtests/web/responseErrorMessageEncoding/servlet/HelloJapan.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.text.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class HelloJapan extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/responseExceptionMessageEncoding/servlet/HelloJapan.java b/appserver/tests/appserv-tests/devtests/web/responseExceptionMessageEncoding/servlet/HelloJapan.java
index 561b62f..dc41b22 100644
--- a/appserver/tests/appserv-tests/devtests/web/responseExceptionMessageEncoding/servlet/HelloJapan.java
+++ b/appserver/tests/appserv-tests/devtests/web/responseExceptionMessageEncoding/servlet/HelloJapan.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class HelloJapan extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/securityConstraintMapping/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/securityConstraintMapping/servlet/ServletTest.java
index 07b356f..52c3a37 100644
--- a/appserver/tests/appserv-tests/devtests/web/securityConstraintMapping/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/securityConstraintMapping/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/securityConstraintWildcardMapping/servlet/MyProtectedServlet.java b/appserver/tests/appserv-tests/devtests/web/securityConstraintWildcardMapping/servlet/MyProtectedServlet.java
index 51f5a7b..2c332c3 100644
--- a/appserver/tests/appserv-tests/devtests/web/securityConstraintWildcardMapping/servlet/MyProtectedServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/securityConstraintWildcardMapping/servlet/MyProtectedServlet.java
@@ -23,8 +23,8 @@
 import java.io.*;
 import java.net.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/TestServlet.java
index 530d7b8..fcb58fb 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/TestServlet.java
@@ -16,9 +16,9 @@
 
 import java.io.*;
 import java.util.Enumeration;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter.java
index 2f487af..1e4daee 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter.java
@@ -20,14 +20,14 @@
 import java.sql.SQLException;
 
 import jakarta.annotation.Resource;
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 import javax.sql.DataSource;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter2.java
index dceefbf..d79b440 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter2.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/abc" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter2 implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter2B.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter2B.java
index 18844ba..4f9f684 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter2B.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter2B.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter2B implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter3.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter3.java
index 6cf415b..1972806 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter3.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/absoluteOrderingWebFragments/servlet/WFTestFilter3.java
@@ -20,14 +20,14 @@
 import java.sql.SQLException;
 
 import jakarta.annotation.Resource;
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 import javax.sql.DataSource;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextComplete/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextComplete/servlet/test/TestServlet.java
index 0a5db8a..6be4342 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextComplete/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextComplete/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextCreateListener/servlet/test/MyAsyncListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextCreateListener/servlet/test/MyAsyncListener.java
index 49f11a1..afd244a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextCreateListener/servlet/test/MyAsyncListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextCreateListener/servlet/test/MyAsyncListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyAsyncListener implements AsyncListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextCreateListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextCreateListener/servlet/test/TestServlet.java
index ce7d127..4f8c456 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextCreateListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextCreateListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     // for testing
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchCrossContext/servlet/test/DispatchFrom.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchCrossContext/servlet/test/DispatchFrom.java
index 79c7281..54f4eb0 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchCrossContext/servlet/test/DispatchFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchCrossContext/servlet/test/DispatchFrom.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class DispatchFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchCrossContext/servlet/test/DispatchTo.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchCrossContext/servlet/test/DispatchTo.java
index cdd0aef..ced6548 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchCrossContext/servlet/test/DispatchTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchCrossContext/servlet/test/DispatchTo.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class DispatchTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchToPath/servlet/test/DispatchTarget.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchToPath/servlet/test/DispatchTarget.java
index b8bc7c8..04f65f5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchToPath/servlet/test/DispatchTarget.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchToPath/servlet/test/DispatchTarget.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class DispatchTarget extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchToPath/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchToPath/servlet/test/TestServlet.java
index 892bbb5..e44ddca 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchToPath/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchToPath/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/ErrorPageServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/ErrorPageServlet.java
index 7fca416..f1f31a2 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/ErrorPageServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/ErrorPageServlet.java
@@ -16,10 +16,10 @@
 
 import java.io.IOException;
 
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/errorpage")
 public class ErrorPageServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/ExceptionServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/ExceptionServlet.java
index 3956c8e..23ffa76 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/ExceptionServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/ExceptionServlet.java
@@ -14,10 +14,10 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/exception")
 public class ExceptionServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/TestServlet.java
index ebd9567..d2b32eb 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchWithException/servlet/TestServlet.java
@@ -16,14 +16,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.AsyncEvent;
-import javax.servlet.AsyncListener;
-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.AsyncContext;
+import jakarta.servlet.AsyncEvent;
+import jakarta.servlet.AsyncListener;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns={"/myurl"}, asyncSupported=true)
 public class TestServlet extends HttpServlet implements AsyncListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchZeroArg/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchZeroArg/servlet/test/TestServlet.java
index 0fc72ed..32e6877 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchZeroArg/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextDispatchZeroArg/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextHasOriginalRequestAndResponse/servlet/test/MyFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextHasOriginalRequestAndResponse/servlet/test/MyFilter.java
index 6bdeca0..21e5362 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextHasOriginalRequestAndResponse/servlet/test/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextHasOriginalRequestAndResponse/servlet/test/MyFilter.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.*;
 
 @WebFilter(urlPatterns = {"/test"}, asyncSupported = true)
 public class MyFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextHasOriginalRequestAndResponse/servlet/test/MyServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextHasOriginalRequestAndResponse/servlet/test/MyServlet.java
index 94b1bf8..add8d9f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextHasOriginalRequestAndResponse/servlet/test/MyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextHasOriginalRequestAndResponse/servlet/test/MyServlet.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.*;
 
 @WebServlet(urlPatterns = {"/test"}, asyncSupported = true)
 public class MyServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextMultipleDispatch/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextMultipleDispatch/servlet/test/TestServlet.java
index 098f1d1..b952906 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextMultipleDispatch/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextMultipleDispatch/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet implements AsyncListener {
     private static StringBuffer sb = new StringBuffer();
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextSetTimeout/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextSetTimeout/servlet/test/TestServlet.java
index 432d380..7e6b19b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextSetTimeout/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncContextSetTimeout/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet implements AsyncListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestFilter.java
index 14c370a..b39a30e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestFilter.java
@@ -18,13 +18,13 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
+import jakarta.servlet.http.*;
 
-import javax.servlet.*;
-import javax.servlet.annotation.WebFilter;
-import javax.servlet.annotation.WebInitParam;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebFilter;
+import jakarta.servlet.annotation.WebInitParam;
 
 @WebFilter(urlPatterns={"/*"}, asyncSupported=true)
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestServlet1.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestServlet1.java
index 84778f6..e9b06d9 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestServlet1.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestServlet1.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
+import jakarta.servlet.http.*;
 
 @WebServlet(urlPatterns={"/test"}, asyncSupported=true)
 public class TestServlet1 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestServlet2.java
index a5d2b61..925d912 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncDelayDispatchAndComplete/servlet/test/TestServlet2.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
+import jakarta.servlet.http.*;
 
 @WebServlet(urlPatterns={"/test2"}, asyncSupported=true)
 public class TestServlet2 extends HttpServlet implements AsyncListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnComplete/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnComplete/servlet/test/TestServlet.java
index f09f088..6b97f9a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnComplete/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnComplete/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet implements AsyncListener {
     private static StringBuffer sb = new StringBuffer();
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnError/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnError/servlet/test/TestServlet.java
index 29a7747..04e4995 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnError/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnError/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet implements AsyncListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeout/servlet/test/AsyncListenerTimeoutServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeout/servlet/test/AsyncListenerTimeoutServlet.java
index 8b34513..877ee62 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeout/servlet/test/AsyncListenerTimeoutServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeout/servlet/test/AsyncListenerTimeoutServlet.java
@@ -17,13 +17,13 @@
 package test;
 
 import java.io.IOException;
-import javax.servlet.AsyncContext;
-import javax.servlet.AsyncEvent;
-import javax.servlet.AsyncListener;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.AsyncEvent;
+import jakarta.servlet.AsyncListener;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class AsyncListenerTimeoutServlet extends HttpServlet implements AsyncListener {
     private static StringBuffer sb = new StringBuffer();
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerImpl.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerImpl.java
index 5a9c8eb..471a9f4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerImpl.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerImpl.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.IOException;
-import javax.servlet.AsyncContext;
-import javax.servlet.AsyncEvent;
-import javax.servlet.AsyncListener;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.AsyncEvent;
+import jakarta.servlet.AsyncListener;
 
 public class AsyncListenerImpl implements AsyncListener {
     private String path = null;
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerTimeoutServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerTimeoutServlet.java
index 16dc58d..1ea87e0 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerTimeoutServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerTimeoutServlet.java
@@ -17,12 +17,12 @@
 package test;
 
 import java.io.IOException;
-import javax.servlet.AsyncContext;
-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.AsyncContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns={"/AsyncListenerTimeoutServlet"}, asyncSupported=true)
 public class AsyncListenerTimeoutServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerTimeoutServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerTimeoutServlet2.java
index a7943a7..c8a13f7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerTimeoutServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/AsyncListenerTimeoutServlet2.java
@@ -17,12 +17,12 @@
 package test;
 
 import java.io.IOException;
-import javax.servlet.AsyncContext;
-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.AsyncContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns={"/AsyncListenerTimeoutServlet2"}, asyncSupported=true)
 public class AsyncListenerTimeoutServlet2 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/TestServlet.java
index 87c6c87..e42ebc4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncListenerOnTimeoutDispatch/servlet/test/TestServlet.java
@@ -18,11 +18,11 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-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;
 
 @WebServlet("/output")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncStartOutsideAsyncDispatchScope/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncStartOutsideAsyncDispatchScope/servlet/test/TestServlet.java
index 3e453b7..8eec401 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncStartOutsideAsyncDispatchScope/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncStartOutsideAsyncDispatchScope/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedFalse/servlet/test/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedFalse/servlet/test/TestFilter.java
index ed89bcb..f103ff5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedFalse/servlet/test/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedFalse/servlet/test/TestFilter.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.concurrent.atomic.AtomicInteger;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
 
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedFalse/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedFalse/servlet/test/TestServlet.java
index 4884de7..d1bf15c 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedFalse/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedFalse/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueDeclarative/servlet/test/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueDeclarative/servlet/test/TestFilter.java
index ed89bcb..f103ff5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueDeclarative/servlet/test/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueDeclarative/servlet/test/TestFilter.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.concurrent.atomic.AtomicInteger;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
 
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueDeclarative/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueDeclarative/servlet/test/TestServlet.java
index d0bae88..4293030 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueDeclarative/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueDeclarative/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/MyListener.java
index 095346e..fb8aeb5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/NewFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/NewFilter.java
index 9ef5c16..7651494 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/NewFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/NewFilter.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.concurrent.atomic.AtomicInteger;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
 
 public class NewFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/NewServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/NewServlet.java
index 3c39302..1035f78 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/NewServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncSupportedTrueProgrammatic/servlet/test/NewServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class NewServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncTimeoutNoListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncTimeoutNoListener/servlet/test/TestServlet.java
index c4a8d5a..bf19b7b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncTimeoutNoListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/asyncTimeoutNoListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/BaseTestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/BaseTestServlet.java
index ee6e4b8..065dd65 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/BaseTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/BaseTestServlet.java
@@ -17,13 +17,13 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import static javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic.*;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import static jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic.*;
 
 @ServletSecurity(httpMethodConstraints={
         @HttpMethodConstraint(value="POST", rolesAllowed={ "javaee" }),
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/BaseTestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/BaseTestServlet2.java
index 8bb97aa..d0cf276 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/BaseTestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/BaseTestServlet2.java
@@ -17,15 +17,15 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
-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.HttpConstraint;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl2b")
 @ServletSecurity(value=@HttpConstraint(rolesAllowed={ "javaee" }),
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/TestServlet.java
index 995ee83..3db7433 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/TestServlet.java
@@ -19,12 +19,12 @@
 
 import jakarta.annotation.security.PermitAll;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl")
 @ServletSecurity(httpMethodConstraints={ @HttpMethodConstraint("OPTIONS") })
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/TestServlet2.java
index e386220..d80219c 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotationInheritance/servlet/TestServlet2.java
@@ -17,11 +17,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl2")
 public class TestServlet2 extends BaseTestServlet2 {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet.java
index 9e63654..c80b281 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet.java
@@ -17,14 +17,14 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
-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.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl")
 @ServletSecurity(httpMethodConstraints = { @HttpMethodConstraint("GET"),
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet2.java
index 7253a06..7e03bc6 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet2.java
@@ -17,15 +17,15 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
-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.HttpConstraint;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl2")
 @ServletSecurity(value=@HttpConstraint(rolesAllowed={"javaee"}),
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet3.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet3.java
index d1530ee..c1dc482 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet3.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/authAnnotations/servlet/TestServlet3.java
@@ -17,14 +17,14 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl3")
 @ServletSecurity(@HttpConstraint(EmptyRoleSemantic.DENY))
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/cookieHttpOnly/servlet/SetHttpOnly.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/cookieHttpOnly/servlet/SetHttpOnly.java
index 3a4c683..c550000 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/cookieHttpOnly/servlet/SetHttpOnly.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/cookieHttpOnly/servlet/SetHttpOnly.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class SetHttpOnly extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/defaultErrorPage/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/defaultErrorPage/servlet/TestServlet.java
index ba1f44e..4c12533 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/defaultErrorPage/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/defaultErrorPage/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/AsyncDispatch.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/AsyncDispatch.java
index f927619..6821f6f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/AsyncDispatch.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/AsyncDispatch.java
@@ -21,15 +21,15 @@
 import java.util.Timer;
 import java.util.TimerTask;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.AsyncEvent;
-import javax.servlet.AsyncListener;
-import javax.servlet.DispatcherType;
-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.AsyncContext;
+import jakarta.servlet.AsyncEvent;
+import jakarta.servlet.AsyncListener;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns={"/asyncdispatch"}, asyncSupported=true)
 public class AsyncDispatch extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/DispatchForward.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/DispatchForward.java
index 6fb38a7..7772f1e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/DispatchForward.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/DispatchForward.java
@@ -19,12 +19,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
             
-import javax.servlet.DispatcherType;
-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.DispatcherType;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
                 
 @WebServlet(urlPatterns={"/dispatchforward"}, asyncSupported=true)
 public class DispatchForward extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/DispatchForward0.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/DispatchForward0.java
index 85a08f3..4daa3bb 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/DispatchForward0.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/DispatchForward0.java
@@ -19,12 +19,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
             
-import javax.servlet.DispatcherType;
-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.DispatcherType;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
                 
 @WebServlet(urlPatterns={"/dispatchforward0"}, asyncSupported=true)
 public class DispatchForward0 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/NamedDispatchForward0.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/NamedDispatchForward0.java
index 7e9cece..f7eead7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/NamedDispatchForward0.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/dispatchForwardAsyncDispatch/servlet/test/NamedDispatchForward0.java
@@ -19,12 +19,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
             
-import javax.servlet.DispatcherType;
-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.DispatcherType;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
                 
 @WebServlet(urlPatterns={"/nameddispatchforward0"}, asyncSupported=true)
 public class NamedDispatchForward0 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/filterWithEmptyUrl/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/filterWithEmptyUrl/servlet/TestFilter.java
index 8b3d108..863e187 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/filterWithEmptyUrl/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/filterWithEmptyUrl/servlet/TestFilter.java
@@ -18,14 +18,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.annotation.WebFilter;
-import javax.servlet.annotation.WebInitParam;
+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.annotation.WebFilter;
+import jakarta.servlet.annotation.WebInitParam;
 
 @WebFilter(urlPatterns={""}, initParams={ @WebInitParam(name="mesg", value="my filter") })
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/filterWithEmptyUrl/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/filterWithEmptyUrl/servlet/TestServlet.java
index de39c12..c8f8846 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/filterWithEmptyUrl/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/filterWithEmptyUrl/servlet/TestServlet.java
@@ -17,11 +17,11 @@
 import java.io.IOException;
 import java.util.Enumeration;
 
-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;
 
 @WebServlet("")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/WebTest.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/WebTest.java
index ed97750..347c16f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/WebTest.java
@@ -19,7 +19,7 @@
 import com.sun.ejte.ccl.reporter.*;
 
 /**
- * Unit test for javax.servlet.context.orderedLibs ServletContext
+ * Unit test for jakarta.servlet.context.orderedLibs ServletContext
  * attribute.
  *
  * This unit test creates and deploys a WAR file that bundles two web
@@ -31,7 +31,7 @@
  * with webFragment2 listed first, followed by webFragment1.
  * 
  * Either ServletContextListener checks for the presence and contents of the
- * javax.servlet.context.orderedLibs ServletContext attribute and, if
+ * jakarta.servlet.context.orderedLibs ServletContext attribute and, if
  * satisfied, registers a Servlet.
  *
  * The client then accesses each of the Servlets. If it fails to access either
@@ -57,7 +57,7 @@
     
     public static void main(String[] args) {
         stat.addDescription("Unit test for " +
-            "javax.servlet.context.orderedLibs ServletContext attribute");
+            "jakarta.servlet.context.orderedLibs ServletContext attribute");
 
         try {
             new WebTest(args).doTest();
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment1/WebFragmentServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment1/WebFragmentServlet.java
index aec1298..1049d7b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment1/WebFragmentServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment1/WebFragmentServlet.java
@@ -17,8 +17,8 @@
 package webFragment1;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class WebFragmentServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment1/WebFragmentServletContextListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment1/WebFragmentServletContextListener.java
index c959170..453c584 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment1/WebFragmentServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment1/WebFragmentServletContextListener.java
@@ -17,7 +17,7 @@
 package webFragment1;
 
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class WebFragmentServletContextListener
         implements ServletContextListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment2/WebFragmentServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment2/WebFragmentServlet.java
index 9f6276c..4db17c6 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment2/WebFragmentServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment2/WebFragmentServlet.java
@@ -17,8 +17,8 @@
 package webFragment2;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class WebFragmentServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment2/WebFragmentServletContextListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment2/WebFragmentServletContextListener.java
index e2de983..f8656af 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment2/WebFragmentServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/javaxServletContextOrderedLibs/servlet/webFragment2/WebFragmentServletContextListener.java
@@ -17,7 +17,7 @@
 package webFragment2;
 
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class WebFragmentServletContextListener
         implements ServletContextListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginChangeSessionId/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginChangeSessionId/servlet/test/TestServlet.java
index 1320a31..673ccb3 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginChangeSessionId/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginChangeSessionId/servlet/test/TestServlet.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpSession;
-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.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginLogout/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginLogout/servlet/TestServlet.java
index 6e42d99..83fd2e6 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginLogout/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginLogout/servlet/TestServlet.java
@@ -18,11 +18,11 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-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;
 
 @WebServlet("/myurl")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginLogout/servlet/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginLogout/servlet/TestServlet2.java
index 9d32dc9..a4a0923 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginLogout/servlet/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/loginLogout/servlet/TestServlet2.java
@@ -18,11 +18,11 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-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;
 
 @WebServlet("/myurl2")
 public class TestServlet2 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/TestServlet.java
index a98c225..abbd896 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/TestServlet.java
@@ -16,9 +16,9 @@
 
 import java.io.*;
 import java.util.Enumeration;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter.java
index 656dd52..d02ebdd 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter2.java
index f0fea1c..2dbb989 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter2.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter2 implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter3.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter3.java
index 878518c..5da6cf9 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter3.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multiWebFragments/servlet/WFTestFilter3.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter3 implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/servlet/ServletTest.java
index 35a2c89..4562bb7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/servlet/ServletTest.java
@@ -19,9 +19,9 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.MultipartConfig;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.MultipartConfig;
 
 @MultipartConfig(maxFileSize=20480)
 public class ServletTest extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/main/java/test/ErrorTest.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/main/java/test/ErrorTest.java
index aa51b4f..f201e64 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/main/java/test/ErrorTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/main/java/test/ErrorTest.java
@@ -14,8 +14,8 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ErrorTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/upload.jsp b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/upload.jsp
index 3dfcbfb..f6cf297 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/upload.jsp
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/multipart/src/upload.jsp
@@ -16,7 +16,7 @@
 
 --%>
 
-<%@ page import="javax.servlet.http.Part" %>
+<%@ page import="jakarta.servlet.http.Part" %>
 
 Beginning
 <%
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/TestServlet.java
index 530d7b8..fcb58fb 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/TestServlet.java
@@ -16,9 +16,9 @@
 
 import java.io.*;
 import java.util.Enumeration;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter.java
index 14a546b..3ab24b9 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter2.java
index c3c3ed2..771d8d1 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter2.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter2 implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter3.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter3.java
index 5f59035..e2ee839 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter3.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter3.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter3 implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter4.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter4.java
index c689172..4ae2928 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter4.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter4.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter4 implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter5.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter5.java
index 11d1d24..4535829 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter5.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/relativeOrderingWebFragments/servlet/WFTestFilter5.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter5 implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/resourceURLFromLocalJar/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/resourceURLFromLocalJar/servlet/TestServlet.java
index df544dc..44f75a0 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/resourceURLFromLocalJar/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/resourceURLFromLocalJar/servlet/TestServlet.java
@@ -21,13 +21,13 @@
 import java.util.Set;
 import java.util.TreeSet;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/serveJspAndStaticResourceFromLocalJar/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/serveJspAndStaticResourceFromLocalJar/servlet/TestServlet.java
index fa2dcf1..efdd1fd 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/serveJspAndStaticResourceFromLocalJar/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/serveJspAndStaticResourceFromLocalJar/servlet/TestServlet.java
@@ -19,11 +19,11 @@
 import java.util.Set;
 import java.util.TreeSet;
 
-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;
 
 @WebServlet("/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/applib1/com/sun/devtests/web/applib/ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/applib1/com/sun/devtests/web/applib/ServContInit.java
index 0ea35ad..5165f41 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/applib1/com/sun/devtests/web/applib/ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/applib1/com/sun/devtests/web/applib/ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web.applib;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(WebServlet.class)
 public class ServContInit implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/servlet/Test1Servlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/servlet/Test1Servlet.java
index 9c361ab..86a4250 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/servlet/Test1Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/servlet/Test1Servlet.java
@@ -19,9 +19,9 @@
 import java.io.IOException;
 import java.util.Enumeration;
 
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/mytest1")
 public class Test1Servlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
index 24ce6a6..a39597d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(WebServlet.class)
 public class SharedLib1ServContInit implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib2/com/sun/devtests/web/SharedLib2ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib2/com/sun/devtests/web/SharedLib2ServContInit.java
index 2cccaca..275c90a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib2/com/sun/devtests/web/SharedLib2ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib2/com/sun/devtests/web/SharedLib2ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 public class SharedLib2ServContInit implements ServletContainerInitializer {
     public SharedLib2ServContInit() {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib3/com/sun/devtests/web/SharedLib3ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib3/com/sun/devtests/web/SharedLib3ServContInit.java
index 5a59aee..1d863d1 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib3/com/sun/devtests/web/SharedLib3ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithEAR/sharedlib3/com/sun/devtests/web/SharedLib3ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(WebFilter.class)
 public class SharedLib3ServContInit implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithInterfaceImplementation/servlet/Test1Servlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithInterfaceImplementation/servlet/Test1Servlet.java
index f2c10d5..74eea7d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithInterfaceImplementation/servlet/Test1Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithInterfaceImplementation/servlet/Test1Servlet.java
@@ -19,9 +19,9 @@
 import java.io.IOException;
 import java.util.Enumeration;
 
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/mytest1")
 public class Test1Servlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithInterfaceImplementation/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithInterfaceImplementation/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
index a19cc70..30d4787 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithInterfaceImplementation/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithInterfaceImplementation/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 import com.sun.devtests.web.common.*;
 
 @HandlesTypes(CommonInterface.class)
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
index cc12f68..0fc60c9 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib1/com/sun/devtests/web/SharedLib1ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(WebServlet.class)
 public class SharedLib1ServContInit implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib2/com/sun/devtests/web/SharedLib2ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib2/com/sun/devtests/web/SharedLib2ServContInit.java
index e3b8df9..9157c83 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib2/com/sun/devtests/web/SharedLib2ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib2/com/sun/devtests/web/SharedLib2ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 public class SharedLib2ServContInit implements ServletContainerInitializer {
     public SharedLib2ServContInit() {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib3/com/sun/devtests/web/SharedLib3ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib3/com/sun/devtests/web/SharedLib3ServContInit.java
index 8f53ae4..e3a4541 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib3/com/sun/devtests/web/SharedLib3ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib3/com/sun/devtests/web/SharedLib3ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(WebFilter.class)
 public class SharedLib3ServContInit implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib4/com/sun/devtests/web/SharedLib4ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib4/com/sun/devtests/web/SharedLib4ServContInit.java
index c8887f2..a3523f5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib4/com/sun/devtests/web/SharedLib4ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib4/com/sun/devtests/web/SharedLib4ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(jakarta.jws.WebService.class)
 public class SharedLib4ServContInit implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp1/applib1/com/sun/devtests/web/applib/ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp1/applib1/com/sun/devtests/web/applib/ServContInit.java
index b4e4d8e..783e1a1 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp1/applib1/com/sun/devtests/web/applib/ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp1/applib1/com/sun/devtests/web/applib/ServContInit.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web.applib;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(WebServlet.class)
 public class ServContInit implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp1/servlet/Test1Servlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp1/servlet/Test1Servlet.java
index d95e771..591a548 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp1/servlet/Test1Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp1/servlet/Test1Servlet.java
@@ -19,9 +19,9 @@
 import java.io.IOException;
 import java.util.Enumeration;
 
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/mytest1")
 public class Test1Servlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/applib2/com/sun/devtests/web/applib/ServCont2Init.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/applib2/com/sun/devtests/web/applib/ServCont2Init.java
index b4ea91e..4beae3e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/applib2/com/sun/devtests/web/applib/ServCont2Init.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/applib2/com/sun/devtests/web/applib/ServCont2Init.java
@@ -17,8 +17,8 @@
 package com.sun.devtests.web.applib;
 
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.*;
 
 @HandlesTypes(WebFilter.class)
 public class ServCont2Init implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/servlet/Test2Servlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/servlet/Test2Servlet.java
index a79c5d6..fbd7903 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/servlet/Test2Servlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/servlet/Test2Servlet.java
@@ -19,9 +19,9 @@
 import java.io.IOException;
 import java.util.Enumeration;
 
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/mytest2")
 public class Test2Servlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/servlet/TestFilter.java
index b034cc6..b4e473f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/webapp2/servlet/TestFilter.java
@@ -18,14 +18,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.annotation.WebFilter;
-import javax.servlet.annotation.WebInitParam;
+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.annotation.WebFilter;
+import jakarta.servlet.annotation.WebInitParam;
 
 @WebFilter(urlPatterns={"/mytest2"}, initParams={ @WebInitParam(name="mesg", value="my filter") })
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServlet.java
index 343aeea..db26ec9 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServletContainerInitializer.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServletContainerInitializer.java
index 465d641..1ebd49f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServletContainerInitializer.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServletContainerInitializer.java
@@ -17,7 +17,7 @@
 package test;
 
 import java.util.Set;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyServletContainerInitializer
         implements ServletContainerInitializer {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServletContextListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServletContextListener.java
index 16c16fe..73d6a55 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/servlet/test/MyServletContextListener.java
@@ -16,7 +16,7 @@
 
 package test;
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyServletContextListener
         implements ServletContextListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/MyServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/MyServlet.java
index 2374050..9b5b310 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/MyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/MyServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/MyServletContextListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/MyServletContextListener.java
index b6a7fc9..3b14a7e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/MyServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/MyServletContextListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyServletContextListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/NewServletRequestListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/NewServletRequestListener.java
index eea8842..098e34b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/NewServletRequestListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddListenerByClassName/servlet/test/NewServletRequestListener.java
@@ -17,7 +17,7 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class NewServletRequestListener implements ServletRequestListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/MyListener.java
index d68178e..cf19216 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/NewFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/NewFilter.java
index 7e4da2b..2dd841d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/NewFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/NewFilter.java
@@ -17,7 +17,7 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class NewFilter implements Filter {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/NewServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/NewServlet.java
index d6dfbcb..56d60b6 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/NewServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClass/servlet/test/NewServlet.java
@@ -20,8 +20,8 @@
 import jakarta.annotation.Resource;
 import jakarta.annotation.Resources;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 
 @Resource(name="myDataSource4", type=DataSource.class)
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/MyListener.java
index 52a43f0..fe890bd 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/NewFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/NewFilter.java
index 948dcce..1b934a5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/NewFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/NewFilter.java
@@ -17,7 +17,7 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class NewFilter implements Filter {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/NewServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/NewServlet.java
index 5aa6806..583dd2d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/NewServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByClassName/servlet/test/NewServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class NewServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/MyListener.java
index cbb0665..daed16f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/NewFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/NewFilter.java
index d0dd1ad..8717a60 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/NewFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/NewFilter.java
@@ -17,7 +17,7 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class NewFilter implements Filter {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/NewServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/NewServlet.java
index cd7a54c..c532450 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/NewServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletAndFilterByInstance/servlet/test/NewServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class NewServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletOverrideDefaultAndJspServletMappings/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletOverrideDefaultAndJspServletMappings/servlet/test/MyListener.java
index 2f32159..6ad5715 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletOverrideDefaultAndJspServletMappings/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletOverrideDefaultAndJspServletMappings/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletOverrideDefaultAndJspServletMappings/servlet/test/NewServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletOverrideDefaultAndJspServletMappings/servlet/test/NewServlet.java
index bb5da55..0450387 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletOverrideDefaultAndJspServletMappings/servlet/test/NewServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextAddServletOverrideDefaultAndJspServletMappings/servlet/test/NewServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class NewServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyFilter.java
index 6e4a92f..f9c647a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyFilter.java
@@ -17,7 +17,7 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyFilter implements Filter {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyListener.java
index f206581..c79c625 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyServlet.java
index f4b705d..e8342ea 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryFilterRegistration/servlet/test/MyServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryServletRegistration/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryServletRegistration/servlet/test/MyListener.java
index 058a577..9dcb272 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryServletRegistration/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryServletRegistration/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryServletRegistration/servlet/test/MyServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryServletRegistration/servlet/test/MyServlet.java
index 2e91f24..27c03fd 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryServletRegistration/servlet/test/MyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCompletePreliminaryServletRegistration/servlet/test/MyServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/MyListener.java
index e62e1d4..c885d23 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/NewFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/NewFilter.java
index fed170d..6aa405f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/NewFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/NewFilter.java
@@ -17,7 +17,7 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
 import jakarta.annotation.*;
 import javax.sql.DataSource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/NewServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/NewServlet.java
index bd68701..6bf76e4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/NewServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletAndFilter/servlet/test/NewServlet.java
@@ -20,8 +20,8 @@
 import jakarta.annotation.Resource;
 import jakarta.annotation.Resources;
 import javax.naming.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 
 @Resource(name="myDataSource4", type=DataSource.class)
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/MyListener.java
index 1061c15..9ce8c8f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/MyListener.java
@@ -16,11 +16,11 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
-import javax.servlet.annotation.ServletSecurity.TransportGuarantee;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
+import jakarta.servlet.annotation.ServletSecurity.TransportGuarantee;
 
-@javax.servlet.annotation.WebListener
+@jakarta.servlet.annotation.WebListener
 public class MyListener implements ServletContextListener {
 
     /**
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/NewServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/NewServlet.java
index ba4f8d1..542f321 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/NewServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/NewServlet.java
@@ -17,10 +17,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-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;
 
 public class NewServlet extends HttpServlet {
     private String initParamValue;
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/NewServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/NewServlet2.java
index 9d8e1bd..e25559c 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/NewServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextCreateServletWithServletSecurity/servlet/NewServlet2.java
@@ -17,14 +17,14 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.HttpConstraint;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @ServletSecurity(value=@HttpConstraint(rolesAllowed={ "javaee" }),
     httpMethodConstraints={ @HttpMethodConstraint("GET"),
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetRealPathFromLocalJar/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetRealPathFromLocalJar/servlet/TestServlet.java
index d6720d9..3ae8453 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetRealPathFromLocalJar/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetRealPathFromLocalJar/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetResourceInLocalJar/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetResourceInLocalJar/servlet/TestServlet.java
index 25268a8..570466d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetResourceInLocalJar/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetResourceInLocalJar/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.net.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetResourcePathsFromLocalJar/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetResourcePathsFromLocalJar/servlet/TestServlet.java
index 92979d4..9af101b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetResourcePathsFromLocalJar/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextGetResourcePathsFromLocalJar/servlet/TestServlet.java
@@ -17,8 +17,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextSetInitParameter/servlet/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextSetInitParameter/servlet/MyListener.java
index c1275c5..dc11f03 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextSetInitParameter/servlet/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextSetInitParameter/servlet/MyListener.java
@@ -16,7 +16,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextSetInitParameter/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextSetInitParameter/servlet/TestServlet.java
index 20c8e6b..df10137 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextSetInitParameter/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContextSetInitParameter/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/DispatchFrom.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/DispatchFrom.java
index d492fc2..3e1bdec 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/DispatchFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/DispatchFrom.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class DispatchFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/EmptyStringTarget.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/EmptyStringTarget.java
index 7d76de3..3d40854 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/EmptyStringTarget.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/EmptyStringTarget.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class EmptyStringTarget extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/MyDefault.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/MyDefault.java
index 1866beb..bc524f3 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/MyDefault.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletMappingEmptyString/servlet/MyDefault.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyDefault extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/ErrorTarget.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/ErrorTarget.java
index 689bac0..5fdee80 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/ErrorTarget.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/ErrorTarget.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ErrorTarget extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/ForwardTarget.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/ForwardTarget.java
index a35b2ca..1ef80d5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/ForwardTarget.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/ForwardTarget.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ForwardTarget extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/From.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/From.java
index 27295d4..81d554f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/From.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/From.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class From extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/IncludeTarget.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/IncludeTarget.java
index 6fff10a..afc80d0 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/IncludeTarget.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestDispatcherType/servlet/IncludeTarget.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class IncludeTarget extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/ServletRequestListener1.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/ServletRequestListener1.java
index 5795c3b..4e9ad45 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/ServletRequestListener1.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/ServletRequestListener1.java
@@ -14,7 +14,7 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class ServletRequestListener1 implements ServletRequestListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/ServletRequestListener2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/ServletRequestListener2.java
index c01e0ac..5cd829d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/ServletRequestListener2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/ServletRequestListener2.java
@@ -14,7 +14,7 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class ServletRequestListener2 implements ServletRequestListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/TestServlet.java
index daeb2ee..7d5fa9b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestListenerInvocationOrder/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestResponseWrapperIsWrapperFor/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestResponseWrapperIsWrapperFor/servlet/test/TestServlet.java
index 39dc4aa..6b8edf4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestResponseWrapperIsWrapperFor/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletRequestResponseWrapperIsWrapperFor/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfig/servlet/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfig/servlet/MyListener.java
index f0c44ca..279ad17 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfig/servlet/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfig/servlet/MyListener.java
@@ -16,10 +16,10 @@
 
 import java.io.*;
 import java.net.*;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.SessionCookieConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.SessionCookieConfig;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfig/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfig/servlet/TestServlet.java
index 2ec611f..d868fa1 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfig/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfig/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigDeclarative/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigDeclarative/servlet/test/CreateSession.java
index b33f8b0..67b4f0c 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigDeclarative/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigDeclarative/servlet/test/CreateSession.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigProgrammatic/servlet/test/ConfigListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigProgrammatic/servlet/test/ConfigListener.java
index 2d59e4d..1cf262c 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigProgrammatic/servlet/test/ConfigListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigProgrammatic/servlet/test/ConfigListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class ConfigListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigProgrammatic/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigProgrammatic/servlet/test/CreateSession.java
index 2910ddb..de51e35 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigProgrammatic/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieConfigProgrammatic/servlet/test/CreateSession.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/ConfigListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/ConfigListener.java
index 9776084..a42ca1a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/ConfigListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/ConfigListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class ConfigListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/CreateSession.java
index 21232c1..897957e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/CreateSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class CreateSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/ResumeSession.java
index 404cc24..593bc24 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameProgrammatic/servlet/test/ResumeSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class ResumeSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameSunWebXml/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameSunWebXml/servlet/test/CreateSession.java
index 21232c1..897957e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameSunWebXml/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameSunWebXml/servlet/test/CreateSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class CreateSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameSunWebXml/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameSunWebXml/servlet/test/ResumeSession.java
index 404cc24..593bc24 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameSunWebXml/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameSunWebXml/servlet/test/ResumeSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class ResumeSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameWebXmlSunWebXmlPrecedence/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameWebXmlSunWebXmlPrecedence/servlet/test/CreateSession.java
index 21232c1..897957e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameWebXmlSunWebXmlPrecedence/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameWebXmlSunWebXmlPrecedence/servlet/test/CreateSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class CreateSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameWebXmlSunWebXmlPrecedence/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameWebXmlSunWebXmlPrecedence/servlet/test/ResumeSession.java
index 404cc24..593bc24 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameWebXmlSunWebXmlPrecedence/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionCookieCustomNameWebXmlSunWebXmlPrecedence/servlet/test/ResumeSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class ResumeSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/MyListener.java
index 4a58132..aaa8cda 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/RedirectFrom.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/RedirectFrom.java
index 97ae02d..3944ff4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/RedirectFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/RedirectFrom.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/RedirectTo.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/RedirectTo.java
index 89be42b..502bb72 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/RedirectTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingMode/servlet/test/RedirectTo.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/MyListener.java
index 80dd01e..4cf96b3 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/RedirectFrom.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/RedirectFrom.java
index 97ae02d..3944ff4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/RedirectFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/RedirectFrom.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/RedirectTo.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/RedirectTo.java
index 89be42b..502bb72 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/RedirectTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeCustomCookieName/servlet/test/RedirectTo.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectFrom.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectFrom.java
index 97ae02d..3944ff4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectFrom.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectTo.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectTo.java
index 89be42b..502bb72 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectTo.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet.java
index c4c737f..88617e7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet.java
@@ -17,14 +17,14 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.*;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.*;
 
 @WebServlet("/myurl")
 @ServletSecurity(httpMethodConstraints={
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet2.java
index 469fc54..e00ece5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet2.java
@@ -17,15 +17,15 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.*;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.HttpConstraint;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.*;
 
 @WebServlet("/myurl2")
 @ServletSecurity(value=@HttpConstraint(transportGuarantee=CONFIDENTIAL),
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet3.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet3.java
index 24695fa..59aef16 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet3.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/transportProtectedAnnotation/servlet/TestServlet3.java
@@ -17,15 +17,15 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.ServletSecurity.TransportGuarantee;
-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.HttpConstraint;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.ServletSecurity.TransportGuarantee;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl3")
 @ServletSecurity(value=@HttpConstraint(rolesAllowed={ "javaee" } ),
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestFilter.java
index e64ad23..642c75d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestFilter.java
@@ -18,14 +18,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.annotation.WebFilter;
-import javax.servlet.annotation.WebInitParam;
+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.annotation.WebFilter;
+import jakarta.servlet.annotation.WebInitParam;
 
 @WebFilter(urlPatterns={"/mytest"}, initParams={ @WebInitParam(name="mesg", value="my filter") })
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestFilter2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestFilter2.java
index c825e7f..45dc3c2 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestFilter2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestFilter2.java
@@ -18,14 +18,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.annotation.WebFilter;
-import javax.servlet.annotation.WebInitParam;
+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.annotation.WebFilter;
+import jakarta.servlet.annotation.WebInitParam;
 
 @WebFilter(servletNames={"testServ"}, initParams={ @WebInitParam(name="mesg", value="my filter2") })
 public class TestFilter2 implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestServlet.java
index 0e00410..38d97d8 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFilterAnnotation/servlet/TestServlet.java
@@ -17,11 +17,11 @@
 import java.io.IOException;
 import java.util.Enumeration;
 
-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;
 
 @WebServlet(name="testServ", urlPatterns={"/mytest"})
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/TestServlet.java
index 5de5d10..79ec3ba 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/TestServlet.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/mytest")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/TestServlet2.java
index a8d9ffd..50ecda7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/TestServlet2.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/mytest2")
 public class TestServlet2 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestFilter.java
index 65b033f..9bd6c72 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/wftest", "/test2" }, dispatcherTypes= { DispatcherType.FORWARD, DispatcherType.REQUEST })
 public class WFTestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet.java
index 4cd9b89..2def3cd 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet.java
@@ -18,10 +18,10 @@
 
 import java.io.*;
 import java.util.Enumeration;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebInitParam;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet(name="wftestServlet", urlPatterns={"/t"}, initParams={ @WebInitParam(name="mesg", value="hello a"), @WebInitParam(name="mesg3", value="hello3 a") })
 public class WFTestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet2.java
index deea8bd..8e9bed9 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet2.java
@@ -19,9 +19,9 @@
 import java.io.*;
 import java.util.Enumeration;
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet(name="wftestServlet2", urlPatterns={"/wftest2"})
 public class WFTestServlet2 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet3.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet3.java
index 519ea20..0e2da44 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet3.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragment/servlet/WFTestServlet3.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.Enumeration;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet(name="wftestServlet3", urlPatterns={"/test2"})
 public class WFTestServlet3 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragmentWithEjbLite/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragmentWithEjbLite/servlet/TestServlet.java
index bc2420f..539a79d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragmentWithEjbLite/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragmentWithEjbLite/servlet/TestServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import jakarta.ejb.EJB;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 import wftest.WFStatelessBean;
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragmentWithFileUpload/servlet/Bean.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragmentWithFileUpload/servlet/Bean.java
index 819e674..dc027a0 100755
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragmentWithFileUpload/servlet/Bean.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webFragmentWithFileUpload/servlet/Bean.java
@@ -19,7 +19,7 @@
 import java.io.IOException;
 import java.util.Scanner;
 import jakarta.faces.bean.ManagedBean;
-import javax.servlet.http.Part;
+import jakarta.servlet.http.Part;
 
 @ManagedBean
 public class Bean {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webListenerAnnotation/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webListenerAnnotation/servlet/TestServlet.java
index d6db7b3..cbd709f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webListenerAnnotation/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webListenerAnnotation/servlet/TestServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletConfig;
-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.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/mytest")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webListenerAnnotation/servlet/TestServletContextListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webListenerAnnotation/servlet/TestServletContextListener.java
index 6120070..78205ce 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webListenerAnnotation/servlet/TestServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webListenerAnnotation/servlet/TestServletContextListener.java
@@ -14,11 +14,11 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
 
-@javax.servlet.annotation.WebListener
+@jakarta.servlet.annotation.WebListener
 public class TestServletContextListener implements ServletContextListener {
     public void contextInitialized(ServletContextEvent sce) {
         System.out.println(">>> contextInitialized");
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webServletAnnotation/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webServletAnnotation/servlet/TestServlet.java
index 764c7ac..e349cbd 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webServletAnnotation/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/webServletAnnotation/servlet/TestServlet.java
@@ -18,12 +18,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name="mytest",
         urlPatterns={"/myurl"},
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotation/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotation/servlet/TestFilter.java
index 1f646a8..ccb5be0 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotation/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotation/servlet/TestFilter.java
@@ -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.annotation.WebFilter;
+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.annotation.WebFilter;
 
 @WebFilter("/mytest")
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotation/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotation/servlet/TestServlet.java
index 529a5f4..46b0a28 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotation/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotation/servlet/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name="testServlet", urlPatterns={"/mytest"}, initParams={ @WebInitParam(name="n1", value="v1"), @WebInitParam(name="n2", value="v2") })
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/TestFilter.java
index 4c9dc7d..9299fa7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/TestFilter.java
@@ -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.annotation.WebFilter;
+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.annotation.WebFilter;
 
 @WebFilter("/mytest")
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/TestServlet.java
index 529a5f4..46b0a28 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name="testServlet", urlPatterns={"/mytest"}, initParams={ @WebInitParam(name="n1", value="v1"), @WebInitParam(name="n2", value="v2") })
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/WFTestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/WFTestFilter.java
index 79a3a9b..a5d6833 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/WFTestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAnnotationWithWebFragment/servlet/WFTestFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/mytest2" }, dispatcherTypes= { DispatcherType.FORWARD, DispatcherType.REQUEST })
 public class WFTestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAuthAnnotations/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAuthAnnotations/servlet/TestServlet.java
index e8e62d3..93e784b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAuthAnnotations/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideAuthAnnotations/servlet/TestServlet.java
@@ -18,13 +18,13 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns={"/myurl", "/myurl2"})
 @ServletSecurity(httpMethodConstraints={ @HttpMethodConstraint("GET"),
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestFilter.java
index 0711619..da86db7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestFilter.java
@@ -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.annotation.WebFilter;
+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.annotation.WebFilter;
 
 @WebFilter("/mytest")
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestServlet.java
index 529a5f4..46b0a28 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name="testServlet", urlPatterns={"/mytest"}, initParams={ @WebInitParam(name="n1", value="v1"), @WebInitParam(name="n2", value="v2") })
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestServlet2.java
index 39cdbf3..e40cb0a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/TestServlet2.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(name="testServlet2", urlPatterns={"/mytest2"}, initParams={ @WebInitParam(name="n1", value="v1"), @WebInitParam(name="n2", value="v2") })
 public class TestServlet2 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/WFTestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/WFTestFilter.java
index 82f6a9e..b5fc608 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/WFTestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/xmlOverrideUrlPatternWithWebFragment/servlet/WFTestFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(filterName="wfFilter", urlPatterns={ "/mytest2" }, dispatcherTypes= { DispatcherType.FORWARD, DispatcherType.REQUEST })
 public class WFTestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/anyAuthenticatedUser/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/anyAuthenticatedUser/servlet/TestServlet.java
index acf6429..9fece89 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/anyAuthenticatedUser/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/anyAuthenticatedUser/servlet/TestServlet.java
@@ -17,13 +17,13 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-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.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl")
 @ServletSecurity(@HttpConstraint(rolesAllowed={"**"}))
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/changeSessionId/servlet/test/TestHttpSessionIdListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/changeSessionId/servlet/test/TestHttpSessionIdListener.java
index dcf7b14..314e15f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/changeSessionId/servlet/test/TestHttpSessionIdListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/changeSessionId/servlet/test/TestHttpSessionIdListener.java
@@ -18,10 +18,10 @@
 
 import java.io.IOException;
 
-import javax.servlet.annotation.WebListener;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionEvent;
-import javax.servlet.http.HttpSessionIdListener;
+import jakarta.servlet.annotation.WebListener;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionEvent;
+import jakarta.servlet.http.HttpSessionIdListener;
 
 @WebListener
 public class TestHttpSessionIdListener implements HttpSessionIdListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/changeSessionId/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/changeSessionId/servlet/test/TestServlet.java
index 55f3d36..d9e509d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/changeSessionId/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/changeSessionId/servlet/test/TestServlet.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpSession;
-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.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/denyUncoveredHttpMethods/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/denyUncoveredHttpMethods/servlet/TestServlet.java
index bd22ca7..d73b236 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/denyUncoveredHttpMethods/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/denyUncoveredHttpMethods/servlet/TestServlet.java
@@ -17,10 +17,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-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;
 
 public class TestServlet extends HttpServlet {
     protected void doGet(HttpServletRequest req, HttpServletResponse res)
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInput/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInput/servlet/test/TestServlet.java
index 85b7dbf..e368d0f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInput/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInput/servlet/test/TestServlet.java
@@ -19,17 +19,17 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.AsyncEvent;
-import javax.servlet.AsyncListener;
-import javax.servlet.ReadListener;
-import javax.servlet.ServletException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.AsyncEvent;
+import jakarta.servlet.AsyncListener;
+import jakarta.servlet.ReadListener;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns="/test", asyncSupported=true)
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputOutput/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputOutput/servlet/test/TestServlet.java
index f7be1b7..b90ba03 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputOutput/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputOutput/servlet/test/TestServlet.java
@@ -23,18 +23,18 @@
 import java.util.Queue;
 import java.util.concurrent.LinkedBlockingQueue;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.AsyncEvent;
-import javax.servlet.AsyncListener;
-import javax.servlet.ReadListener;
-import javax.servlet.ServletException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.WriteListener;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.AsyncEvent;
+import jakarta.servlet.AsyncListener;
+import jakarta.servlet.ReadListener;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns="/test", asyncSupported=true)
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputWithAsyncDispatch/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputWithAsyncDispatch/servlet/test/TestServlet.java
index c8edb76..495366e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputWithAsyncDispatch/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputWithAsyncDispatch/servlet/test/TestServlet.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.ReadListener;
-import javax.servlet.ServletException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.ReadListener;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns="/test", asyncSupported=true)
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputWithAsyncDispatch/servlet/test/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputWithAsyncDispatch/servlet/test/TestServlet2.java
index 0fce64a..e9c8f41 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputWithAsyncDispatch/servlet/test/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingInputWithAsyncDispatch/servlet/test/TestServlet2.java
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 
-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;
 
 @WebServlet(urlPatterns="/test2")
 public class TestServlet2 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingOutput/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingOutput/servlet/test/TestServlet.java
index 4f81ff9..918b5b4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingOutput/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/nonBlockingOutput/servlet/test/TestServlet.java
@@ -19,14 +19,14 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.WriteListener;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(urlPatterns="/test", asyncSupported=true)
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/partSubmittedFileName/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/partSubmittedFileName/servlet/ServletTest.java
index 8277215..667f510 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/partSubmittedFileName/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/partSubmittedFileName/servlet/ServletTest.java
@@ -19,10 +19,10 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.MultipartConfig;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.MultipartConfig;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/ServletTest")
 @MultipartConfig(maxFileSize=200)
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/resetCharacterEncoding/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/resetCharacterEncoding/servlet/test/TestServlet.java
index 37b6f79..5e01484 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/resetCharacterEncoding/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/resetCharacterEncoding/servlet/test/TestServlet.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpSession;
-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.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/resetCharacterEncoding/servlet/test/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/resetCharacterEncoding/servlet/test/TestServlet2.java
index a53738c..d3d0045 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/resetCharacterEncoding/servlet/test/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/resetCharacterEncoding/servlet/test/TestServlet2.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpSession;
-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.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/test2")
 public class TestServlet2 extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/runAsInitDestroy/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/runAsInitDestroy/servlet/TestServlet.java
index 2bcea0c..453b25e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/runAsInitDestroy/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/runAsInitDestroy/servlet/TestServlet.java
@@ -19,14 +19,14 @@
 
 import jakarta.annotation.security.RunAs;
 import jakarta.ejb.EJB;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/myurl")
 @RunAs("staff")
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/servletContextGetVirtualServerName/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/servletContextGetVirtualServerName/servlet/test/TestServlet.java
index 1a73e03..8932bcd 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/servletContextGetVirtualServerName/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/servletContextGetVirtualServerName/servlet/test/TestServlet.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpSession;
-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.HttpSession;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeEcho/servlet/test/EchoHttpUpgradeHandler.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeEcho/servlet/test/EchoHttpUpgradeHandler.java
index 14bcdc5..00ca28e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeEcho/servlet/test/EchoHttpUpgradeHandler.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeEcho/servlet/test/EchoHttpUpgradeHandler.java
@@ -18,12 +18,12 @@
 
 import java.io.IOException;
 
-import javax.servlet.ReadListener;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpUpgradeHandler;
-import javax.servlet.http.WebConnection;
+import jakarta.servlet.ReadListener;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpUpgradeHandler;
+import jakarta.servlet.http.WebConnection;
 
 public class EchoHttpUpgradeHandler implements HttpUpgradeHandler {
     private String delimiter = "\\";
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeEcho/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeEcho/servlet/test/TestServlet.java
index a54aba9..678d375 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeEcho/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeEcho/servlet/test/TestServlet.java
@@ -18,13 +18,13 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-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.ServletInputStream;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet("/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/ISBNHttpUpgradeHandler.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/ISBNHttpUpgradeHandler.java
index 16530a2..a9ea7c4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/ISBNHttpUpgradeHandler.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/ISBNHttpUpgradeHandler.java
@@ -18,9 +18,9 @@
 
 import jakarta.inject.Inject;
 import javax.naming.InitialContext;
-import javax.servlet.ServletInputStream;
-import javax.servlet.http.HttpUpgradeHandler;
-import javax.servlet.http.WebConnection;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.http.HttpUpgradeHandler;
+import jakarta.servlet.http.WebConnection;
 
 /**
  * The protocol is as follows:
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/ReadListenerImpl.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/ReadListenerImpl.java
index c0670d7..b9fade1 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/ReadListenerImpl.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/ReadListenerImpl.java
@@ -21,10 +21,10 @@
 import java.util.StringTokenizer;
 
 import javax.naming.InitialContext;
-import javax.servlet.ReadListener;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.WebConnection;
+import jakarta.servlet.ReadListener;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.WebConnection;
 
 /**
  * The protocol is as follows:
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/TestServlet.java
index 8ca1b91..4b55b4e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.1/upgradeWithCDI/servlet/test/TestServlet.java
@@ -18,11 +18,11 @@
 
 import java.io.IOException;
 
-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;
 
 @WebServlet("/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/addJspFile/servlet/test/MyServletContextListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/addJspFile/servlet/test/MyServletContextListener.java
index 4e1c313..5315f12 100755
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/addJspFile/servlet/test/MyServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/addJspFile/servlet/test/MyServletContextListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
 
 @WebListener
 public class MyServletContextListener implements ServletContextListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/compositeTrailerSupplier/servlet/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/compositeTrailerSupplier/servlet/TestFilter.java
index 0f7abd2..1a92d57 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/compositeTrailerSupplier/servlet/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/compositeTrailerSupplier/servlet/TestFilter.java
@@ -20,14 +20,14 @@
 import java.util.Map;
 import java.util.function.Supplier;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.annotation.WebFilter;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.annotation.WebFilter;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebFilter("/mytest")
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/compositeTrailerSupplier/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/compositeTrailerSupplier/servlet/TestServlet.java
index d74697b..1e175ca 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/compositeTrailerSupplier/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/compositeTrailerSupplier/servlet/TestServlet.java
@@ -19,9 +19,9 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.function.Supplier;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/mytest")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/contextCharEncoding/servlet/MyServletContextListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/contextCharEncoding/servlet/MyServletContextListener.java
index ee7d035..a7aeb11 100755
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/contextCharEncoding/servlet/MyServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/contextCharEncoding/servlet/MyServletContextListener.java
@@ -14,10 +14,10 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
 
 @WebListener
 public class MyServletContextListener implements ServletContextListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/contextCharEncoding/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/contextCharEncoding/servlet/TestServlet.java
index 22a2e03..5a2ea79 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/contextCharEncoding/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/contextCharEncoding/servlet/TestServlet.java
@@ -16,9 +16,9 @@
 
 import java.io.*;
 import java.util.Locale;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/TestServlet")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AAsyncDispatchToC.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AAsyncDispatchToC.java
index 8465848..9770aa2 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AAsyncDispatchToC.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AAsyncDispatchToC.java
@@ -15,13 +15,13 @@
  */
 
 import java.io.IOException;
-import javax.servlet.AsyncContext;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 public class AAsyncDispatchToC extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AForwardToB.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AForwardToB.java
index f03929c..f87be65 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AForwardToB.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AForwardToB.java
@@ -16,13 +16,13 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.AsyncContext;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 public class AForwardToB extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AIncludesB.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AIncludesB.java
index 3a94fa4..13d4a9f 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AIncludesB.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/AIncludesB.java
@@ -16,12 +16,12 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 
 public class AIncludesB extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BForwardToC.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BForwardToC.java
index c411e3e..c934db6 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BForwardToC.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BForwardToC.java
@@ -16,13 +16,13 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.AsyncContext;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 public class BForwardToC extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BForwardToCNamedDispatcher.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BForwardToCNamedDispatcher.java
index f26ff66..7371975 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BForwardToCNamedDispatcher.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BForwardToCNamedDispatcher.java
@@ -16,13 +16,13 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.AsyncContext;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 public class BForwardToCNamedDispatcher extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludeCNamedDispatcher.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludeCNamedDispatcher.java
index bf99e85..4579c0d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludeCNamedDispatcher.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludeCNamedDispatcher.java
@@ -16,13 +16,13 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.AsyncContext;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 public class BIncludeCNamedDispatcher extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludeDispatchServletNamedDispatcher.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludeDispatchServletNamedDispatcher.java
index 403f57e..0ff75b5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludeDispatchServletNamedDispatcher.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludeDispatchServletNamedDispatcher.java
@@ -16,13 +16,13 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.AsyncContext;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 public class BIncludeDispatchServletNamedDispatcher extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludesC.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludesC.java
index e99ac05..9abc7ca 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludesC.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/BIncludesC.java
@@ -16,12 +16,12 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 
 public class BIncludesC extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/DispatchServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/DispatchServlet.java
index f1f45d7..be850ad 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/DispatchServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/DispatchServlet.java
@@ -15,13 +15,13 @@
  */
 
 import java.io.IOException;
-import javax.servlet.AsyncContext;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletMapping;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletMapping;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @WebServlet(asyncSupported = true, name="fa5raP", value = "/DispatchServlet", loadOnStartup = 1)
 public class DispatchServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/ServletC.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/ServletC.java
index 35aa8c8..23aad83 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/ServletC.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/mappingDiscovery/servlet/ServletC.java
@@ -16,13 +16,13 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.AsyncContext;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletMapping;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletMapping;
 
 public class ServletC extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushArbitraryMethod/servlet/test/FooMethodServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushArbitraryMethod/servlet/test/FooMethodServlet.java
index 752065b..cd1a6c8 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushArbitraryMethod/servlet/test/FooMethodServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushArbitraryMethod/servlet/test/FooMethodServlet.java
@@ -19,16 +19,16 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.PushBuilder;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.PushBuilder;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
 
 @WebServlet(urlPatterns="/foo/*")
 public class FooMethodServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushArbitraryMethod/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushArbitraryMethod/servlet/test/TestServlet.java
index d9bd78f..35a38e4 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushArbitraryMethod/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushArbitraryMethod/servlet/test/TestServlet.java
@@ -19,16 +19,16 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.PushBuilder;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.PushBuilder;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
 
 @WebServlet(urlPatterns="/test")
 @ServletSecurity(httpMethodConstraints={
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushAuthorization/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushAuthorization/servlet/test/TestServlet.java
index bb5899b..248e6cc 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushAuthorization/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushAuthorization/servlet/test/TestServlet.java
@@ -19,13 +19,13 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.PushBuilder;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.PushBuilder;
 
 @WebServlet(urlPatterns="/test")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushCacheable/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushCacheable/servlet/test/TestServlet.java
index d913044..44391fe 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushCacheable/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushCacheable/servlet/test/TestServlet.java
@@ -19,19 +19,19 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.WriteListener;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.PushBuilder;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.PushBuilder;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
 
 @WebServlet(urlPatterns="/test")
 @ServletSecurity(httpMethodConstraints={
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushCacheable/servlet/test/TestServlet2.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushCacheable/servlet/test/TestServlet2.java
index 7a64cba..f5c4086 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushCacheable/servlet/test/TestServlet2.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushCacheable/servlet/test/TestServlet2.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
 
 @WebServlet(urlPatterns="/test2")
 @ServletSecurity(httpMethodConstraints={
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushDynamic/servlet/test/NOTfacesServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushDynamic/servlet/test/NOTfacesServlet.java
index 70ac89c..f069065 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushDynamic/servlet/test/NOTfacesServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushDynamic/servlet/test/NOTfacesServlet.java
@@ -19,15 +19,15 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.PushBuilder;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.PushBuilder;
 
 @WebServlet(urlPatterns="/NOTfaces/*")
 public class NOTfacesServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushDynamic/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushDynamic/servlet/test/TestServlet.java
index 88b9272..26dfd7b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushDynamic/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushDynamic/servlet/test/TestServlet.java
@@ -19,16 +19,16 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.PushBuilder;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.PushBuilder;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
 
 @WebServlet(urlPatterns="/test")
 @ServletSecurity(httpMethodConstraints={
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushQueryString/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushQueryString/servlet/test/TestServlet.java
index eb1adf7..e6f5d85 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushQueryString/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushQueryString/servlet/test/TestServlet.java
@@ -19,19 +19,19 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.WriteListener;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.PushBuilder;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
+import jakarta.servlet.AsyncContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.PushBuilder;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
 
 @WebServlet(urlPatterns="/test")
 @ServletSecurity(httpMethodConstraints={
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushStatic/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushStatic/servlet/test/TestServlet.java
index 368a4e3..4897de9 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushStatic/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/pushStatic/servlet/test/TestServlet.java
@@ -19,16 +19,16 @@
 import java.io.IOException;
 import java.util.Arrays;
 
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.annotation.HttpMethodConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.PushBuilder;
-import static javax.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.annotation.HttpMethodConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.PushBuilder;
+import static jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.CONFIDENTIAL;
 
 @WebServlet(urlPatterns="/test")
 @ServletSecurity(httpMethodConstraints={
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncoding/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncoding/servlet/TestServlet.java
index 22a2e03..5a2ea79 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncoding/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncoding/servlet/TestServlet.java
@@ -16,9 +16,9 @@
 
 import java.io.*;
 import java.util.Locale;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/TestServlet")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/CheckResult.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/CheckResult.java
index 63f9417..c08940d 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/CheckResult.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/CheckResult.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet(urlPatterns="/CheckResult")
 public class CheckResult extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/CreateSession.java
index fa13e98..c0992eb 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/CreateSession.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet(urlPatterns="/CreateSession")
 public class CreateSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyHttpSessionListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyHttpSessionListener.java
index ee28d6e..fb15b6d 100755
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyHttpSessionListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyHttpSessionListener.java
@@ -16,11 +16,11 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.annotation.WebListener;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionListener;
-import javax.servlet.http.HttpSessionEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.annotation.WebListener;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionListener;
+import jakarta.servlet.http.HttpSessionEvent;
 
 @WebListener
 public class MyHttpSessionListener implements HttpSessionListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyObject.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyObject.java
index 78c7997..b7eaf9a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyObject.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyObject.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionBindingListener;
-import javax.servlet.http.HttpSessionBindingEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionBindingListener;
+import jakarta.servlet.http.HttpSessionBindingEvent;
 
 public class MyObject implements HttpSessionBindingListener {
     /*
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyServletContextListener.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyServletContextListener.java
index c136b4d..5c5decd 100755
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyServletContextListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/setSessionTimeout/servlet/test/MyServletContextListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
 
 @WebListener
 public class MyServletContextListener implements ServletContextListener {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/trailer/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/trailer/servlet/TestServlet.java
index 64333d8..f7e7505 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/trailer/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/trailer/servlet/TestServlet.java
@@ -19,9 +19,9 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.function.Supplier;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 @WebServlet("/TestServlet")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servletAnnotationPreDestroy/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletAnnotationPreDestroy/servlet/test/TestServlet.java
index 378ba22..954809e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletAnnotationPreDestroy/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletAnnotationPreDestroy/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.annotation.PreDestroy;
 
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servletChainedException/WebTest.java b/appserver/tests/appserv-tests/devtests/web/servletChainedException/WebTest.java
index df23e14..a34c114 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletChainedException/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletChainedException/WebTest.java
@@ -19,7 +19,7 @@
 import com.sun.ejte.ccl.reporter.*;
 
 /*
- * Unit test for Servlet 2.5 Issue #23 ("javax.servlet.ServletException does
+ * Unit test for Servlet 2.5 Issue #23 ("jakarta.servlet.ServletException does
  * not correctly chain exceptions").
  * See https://servlet-spec-eg.dev.java.net/issues/show_bug.cgi?id=23 for
  * details.
diff --git a/appserver/tests/appserv-tests/devtests/web/servletChainedException/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletChainedException/servlet/test/TestServlet.java
index 8975e23..6025751 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletChainedException/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletChainedException/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/servlet/ServletTest.java
index 6e9fb1d..fc1266e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet{
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/servlet/StaticListener.java b/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/servlet/StaticListener.java
index 60f3fdb..c5c44be 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/servlet/StaticListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/servlet/StaticListener.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class StaticListener implements ServletContextAttributeListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/shared/test/StaticListener.java b/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/shared/test/StaticListener.java
index 60f3fdb..c5c44be 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/shared/test/StaticListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextAttributeEventAttributeRemoved/shared/test/StaticListener.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class StaticListener implements ServletContextAttributeListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextAttributeListenerAnnotationPreDestroy/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletContextAttributeListenerAnnotationPreDestroy/servlet/test/MyListener.java
index 113deca..de0f167 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextAttributeListenerAnnotationPreDestroy/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextAttributeListenerAnnotationPreDestroy/servlet/test/MyListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import jakarta.annotation.PreDestroy;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyListener implements ServletContextAttributeListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextDestroyedEventAttributesAvailable/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletContextDestroyedEventAttributesAvailable/servlet/test/MyListener.java
index 8e2123c..3cdf061 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextDestroyedEventAttributesAvailable/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextDestroyedEventAttributesAvailable/servlet/test/MyListener.java
@@ -17,9 +17,9 @@
 package test;
 
 import java.io.*;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextDestroyedEventAttributesAvailable/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletContextDestroyedEventAttributesAvailable/servlet/test/TestServlet.java
index d3b70d5..268a2ce 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextDestroyedEventAttributesAvailable/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextDestroyedEventAttributesAvailable/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextGetContextPath/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletContextGetContextPath/servlet/TestServlet.java
index 1ece6d9..96623e7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextGetContextPath/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextGetContextPath/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextGetEmptyContextPath/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletContextGetEmptyContextPath/servlet/TestServlet.java
index ab768c4..3a85e82 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextGetEmptyContextPath/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextGetEmptyContextPath/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextListenerAnnotationPreDestroy/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletContextListenerAnnotationPreDestroy/servlet/test/MyListener.java
index 8bd2a10..de6dd05 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextListenerAnnotationPreDestroy/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextListenerAnnotationPreDestroy/servlet/test/MyListener.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import jakarta.annotation.PreDestroy;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
 
 public class MyListener implements ServletContextListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletContextNullPathArgument/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletContextNullPathArgument/servlet/TestServlet.java
index 1cf173d..93b66a5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletContextNullPathArgument/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletContextNullPathArgument/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletEmptyLoadOnStartup/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletEmptyLoadOnStartup/servlet/TestServlet.java
index 4b6adef..2f0ec05 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletEmptyLoadOnStartup/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletEmptyLoadOnStartup/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/Filter_A.java b/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/Filter_A.java
index e881e96..ef89f49 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/Filter_A.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/Filter_A.java
@@ -15,7 +15,7 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class Filter_A implements Filter {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/Filter_B.java b/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/Filter_B.java
index 56c2d94..b7466c7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/Filter_B.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/Filter_B.java
@@ -15,7 +15,7 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class Filter_B implements Filter {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/TestServlet.java
index 126b29f..23249ea 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletFilterDefaultInvocationOrder/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletFilterMappingWithServletNameAndURLPattern/servlet/test/TestFilter.java b/appserver/tests/appserv-tests/devtests/web/servletFilterMappingWithServletNameAndURLPattern/servlet/test/TestFilter.java
index 196fa70..65aae70 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletFilterMappingWithServletNameAndURLPattern/servlet/test/TestFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletFilterMappingWithServletNameAndURLPattern/servlet/test/TestFilter.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.concurrent.atomic.AtomicInteger;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
 
 public class TestFilter implements Filter {
diff --git a/appserver/tests/appserv-tests/devtests/web/servletFilterMappingWithServletNameAndURLPattern/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletFilterMappingWithServletNameAndURLPattern/servlet/test/TestServlet.java
index 95d967f..e510f63 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletFilterMappingWithServletNameAndURLPattern/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletFilterMappingWithServletNameAndURLPattern/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.concurrent.atomic.AtomicInteger;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletGetServerPort/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletGetServerPort/servlet/TestServlet.java
index 17f61cb..86836c3 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletGetServerPort/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletGetServerPort/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/servletInitBeforeGetServletConfig/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletInitBeforeGetServletConfig/servlet/TestServlet.java
index 0a6b135..c0f337e 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletInitBeforeGetServletConfig/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletInitBeforeGetServletConfig/servlet/TestServlet.java
@@ -18,11 +18,11 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class TestServlet extends HttpServlet {
     private volatile Integer i = null;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletLoadOnStartupMultipleInit/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletLoadOnStartupMultipleInit/servlet/test/TestServlet.java
index 3936597..30919b2 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletLoadOnStartupMultipleInit/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletLoadOnStartupMultipleInit/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletMappingWithMultipleURLPatterns/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletMappingWithMultipleURLPatterns/servlet/test/TestServlet.java
index 3d02de2..d716bed 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletMappingWithMultipleURLPatterns/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletMappingWithMultipleURLPatterns/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletRelativeContextURLsEquals/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletRelativeContextURLsEquals/servlet/test/TestServlet.java
index 565447b..b6a71d0 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletRelativeContextURLsEquals/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletRelativeContextURLsEquals/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.net.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletRequestGetPathInfoCollapseContiguousSlashes/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletRequestGetPathInfoCollapseContiguousSlashes/servlet/test/TestServlet.java
index ff1d155..c7595d0 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletRequestGetPathInfoCollapseContiguousSlashes/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletRequestGetPathInfoCollapseContiguousSlashes/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletRequestGetPathInfoGetPathTranslated/servlet/test/MyFilter.java b/appserver/tests/appserv-tests/devtests/web/servletRequestGetPathInfoGetPathTranslated/servlet/test/MyFilter.java
index f25ab48..113c0e7 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletRequestGetPathInfoGetPathTranslated/servlet/test/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletRequestGetPathInfoGetPathTranslated/servlet/test/MyFilter.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyFilter implements Filter {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletRequestLongUri/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletRequestLongUri/servlet/test/TestServlet.java
index 01a5aaf..a7492de 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletRequestLongUri/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletRequestLongUri/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletRequestParamsPreserveOrder/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletRequestParamsPreserveOrder/servlet/TestServlet.java
index 72d4b0a..5fce8dc 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletRequestParamsPreserveOrder/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletRequestParamsPreserveOrder/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletRequestSetCharEncodingIllegalStateException/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletRequestSetCharEncodingIllegalStateException/servlet/test/TestServlet.java
index 3e0e191..2b62350 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletRequestSetCharEncodingIllegalStateException/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletRequestSetCharEncodingIllegalStateException/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextAttributeListener/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextAttributeListener/servlet/test/MyListener.java
index e574285..e2751a1 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextAttributeListener/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextAttributeListener/servlet/test/MyListener.java
@@ -16,9 +16,9 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextAttributeListener;
-import javax.servlet.ServletContextAttributeEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextAttributeListener;
+import jakarta.servlet.ServletContextAttributeEvent;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextAttributeListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextAttributeListener/servlet/test/TestServlet.java
index 5679c2e..809498b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextAttributeListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextAttributeListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextListener/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextListener/servlet/test/MyListener.java
index 44c8b84..57d6466 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextListener/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextListener/servlet/test/MyListener.java
@@ -16,9 +16,9 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextListener/servlet/test/TestServlet.java
index 32087c2..157e711 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionContextListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionFilter/servlet/myfilter/MyFilter.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionFilter/servlet/myfilter/MyFilter.java
index b9b0f07..214c30a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionFilter/servlet/myfilter/MyFilter.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionFilter/servlet/myfilter/MyFilter.java
@@ -17,7 +17,7 @@
 package myfilter;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
 import jakarta.annotation.*;
 import javax.sql.DataSource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionFilter/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionFilter/servlet/test/TestServlet.java
index 32087c2..157e711 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionFilter/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionFilter/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/WebTest.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/WebTest.java
index 42425b0..0161bd6 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/WebTest.java
@@ -20,7 +20,7 @@
 
 /*
  * Unit test for resource injection into
- * javax.servlet.http.HttpSessionAttributeListener
+ * jakarta.servlet.http.HttpSessionAttributeListener
  */
 public class WebTest {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/servlet/test/MyListener.java
index 860517c..976aa13 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/servlet/test/MyListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionAttributeListener;
-import javax.servlet.http.HttpSessionBindingEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionAttributeListener;
+import jakarta.servlet.http.HttpSessionBindingEvent;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/servlet/test/TestServlet.java
index 74271f3..c27e9a8 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionAttributeListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/WebTest.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/WebTest.java
index e51a399..9c7ba9a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/WebTest.java
@@ -20,7 +20,7 @@
 
 /*
  * Unit test for resource injection into
- * javax.servlet.http.HttpSessionListener
+ * jakarta.servlet.http.HttpSessionListener
  */
 public class WebTest {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/servlet/test/MyListener.java
index f8c5ce1..82c13ed 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/servlet/test/MyListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionListener;
-import javax.servlet.http.HttpSessionEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionListener;
+import jakarta.servlet.http.HttpSessionEvent;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/servlet/test/TestServlet.java
index baf2d98..9432758 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionHttpSessionListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestAttributeListener/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestAttributeListener/servlet/test/MyListener.java
index 9c2742b..9b255d5 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestAttributeListener/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestAttributeListener/servlet/test/MyListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletRequestAttributeListener;
-import javax.servlet.ServletRequestAttributeEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletRequestAttributeListener;
+import jakarta.servlet.ServletRequestAttributeEvent;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestAttributeListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestAttributeListener/servlet/test/TestServlet.java
index b97cf50..1116b40 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestAttributeListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestAttributeListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestListener/servlet/test/MyListener.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestListener/servlet/test/MyListener.java
index a9ab570..d6af67b 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestListener/servlet/test/MyListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestListener/servlet/test/MyListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletRequestListener;
-import javax.servlet.ServletRequestEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletRequestListener;
+import jakarta.servlet.ServletRequestEvent;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestListener/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestListener/servlet/test/TestServlet.java
index ea13d43..4cc8719 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestListener/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionRequestListener/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionServletInstance/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionServletInstance/servlet/test/TestServlet.java
index 9362041..105a0ca 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionServletInstance/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionServletInstance/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionServletInstanceLoadOnStartup/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionServletInstanceLoadOnStartup/servlet/test/TestServlet.java
index 9362041..105a0ca 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionServletInstanceLoadOnStartup/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResourceInjectionServletInstanceLoadOnStartup/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import javax.naming.*;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/web/servletResponseQuotedContentTypeImbalance/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletResponseQuotedContentTypeImbalance/servlet/test/TestServlet.java
index e538ff1..3056911 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletResponseQuotedContentTypeImbalance/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletResponseQuotedContentTypeImbalance/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/servletSSLRequestAttributes/WebTest.java b/appserver/tests/appserv-tests/devtests/web/servletSSLRequestAttributes/WebTest.java
index 2604d62..124badc 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletSSLRequestAttributes/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletSSLRequestAttributes/WebTest.java
@@ -30,9 +30,9 @@
  * request attributes mandated by the Servlet spec when the request is over
  * HTTPS with SSL client auth turned on, namely:
  *
- *   javax.servlet.request.cipher_suite
- *   javax.servlet.request.key_size
- *   javax.servlet.request.X509Certificate
+ *   jakarta.servlet.request.cipher_suite
+ *   jakarta.servlet.request.key_size
+ *   jakarta.servlet.request.X509Certificate
  *
  * even if none of these attributes have been requested explicitly by a call
  * to ServletRequest.getAttribute().
@@ -45,13 +45,13 @@
     private static final String TEST_NAME = "servlet-ssl-request-attributes";
 
     private static final String SSL_CIPHER_SUITE
-        = "javax.servlet.request.cipher_suite";
+        = "jakarta.servlet.request.cipher_suite";
     private static final String SSL_KEY_SIZE
-        = "javax.servlet.request.key_size";
+        = "jakarta.servlet.request.key_size";
     private static final String SSL_CERTIFICATE
-        = "javax.servlet.request.X509Certificate";
+        = "jakarta.servlet.request.X509Certificate";
     private static final String SSL_SESSION_ID
-        = "javax.servlet.request.ssl_session_id";
+        = "jakarta.servlet.request.ssl_session_id";
 
     private static SimpleReporterAdapter stat
         = new SimpleReporterAdapter("appserv-tests");
diff --git a/appserver/tests/appserv-tests/devtests/web/servletSSLRequestAttributes/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servletSSLRequestAttributes/servlet/TestServlet.java
index dee6021..a04aa9a 100644
--- a/appserver/tests/appserv-tests/devtests/web/servletSSLRequestAttributes/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/servletSSLRequestAttributes/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionDestroyed/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/sessionDestroyed/servlet/ServletTest.java
index b71f5e0..b7c9637 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionDestroyed/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionDestroyed/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.net.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet implements HttpSessionListener {
     
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionDestroyedClassLoader/servlet/test/MyHttpSessionListener.java b/appserver/tests/appserv-tests/devtests/web/sessionDestroyedClassLoader/servlet/test/MyHttpSessionListener.java
index 6cf1c1a..7766383 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionDestroyedClassLoader/servlet/test/MyHttpSessionListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionDestroyedClassLoader/servlet/test/MyHttpSessionListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionListener;
-import javax.servlet.http.HttpSessionEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionListener;
+import jakarta.servlet.http.HttpSessionEvent;
 
 public class MyHttpSessionListener implements HttpSessionListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionDestroyedClassLoader/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/sessionDestroyedClassLoader/servlet/test/TestServlet.java
index e64fecd..851bf59 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionDestroyedClassLoader/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionDestroyedClassLoader/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/CheckResult.java b/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/CheckResult.java
index 07ef38a..4bb4645 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/CheckResult.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/CheckResult.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckResult extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/CreateSession.java
index 225308e..d2554a8 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/CreateSession.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/MyHttpSessionListener.java b/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/MyHttpSessionListener.java
index b42289b..35d00b9 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/MyHttpSessionListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/MyHttpSessionListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionListener;
-import javax.servlet.http.HttpSessionEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionListener;
+import jakarta.servlet.http.HttpSessionEvent;
 
 public class MyHttpSessionListener implements HttpSessionListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/MyObject.java b/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/MyObject.java
index 5f52eb6..fd0610c 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/MyObject.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionExpired/servlet/test/MyObject.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionBindingListener;
-import javax.servlet.http.HttpSessionBindingEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionBindingListener;
+import jakarta.servlet.http.HttpSessionBindingEvent;
 
 public class MyObject implements HttpSessionBindingListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionIdCustomGenerator/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionIdCustomGenerator/servlet/test/CreateSession.java
index 6ea2090..a233a91 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionIdCustomGenerator/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionIdCustomGenerator/servlet/test/CreateSession.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionIdPresentInBothRewrittenUrlAndCookieByDefault/servlet/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionIdPresentInBothRewrittenUrlAndCookieByDefault/servlet/CreateSession.java
index 29bb67c..7504789 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionIdPresentInBothRewrittenUrlAndCookieByDefault/servlet/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionIdPresentInBothRewrittenUrlAndCookieByDefault/servlet/CreateSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionIdPresentOnlyInCookieIfUrlRewritingDisabled/servlet/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionIdPresentOnlyInCookieIfUrlRewritingDisabled/servlet/CreateSession.java
index 29bb67c..7504789 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionIdPresentOnlyInCookieIfUrlRewritingDisabled/servlet/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionIdPresentOnlyInCookieIfUrlRewritingDisabled/servlet/CreateSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionIdUrlRewrite/servlet/test/RedirectFrom.java b/appserver/tests/appserv-tests/devtests/web/sessionIdUrlRewrite/servlet/test/RedirectFrom.java
index 97ae02d..3944ff4 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionIdUrlRewrite/servlet/test/RedirectFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionIdUrlRewrite/servlet/test/RedirectFrom.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionIdUrlRewrite/servlet/test/RedirectTo.java b/appserver/tests/appserv-tests/devtests/web/sessionIdUrlRewrite/servlet/test/RedirectTo.java
index a48f847..4c96ecd 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionIdUrlRewrite/servlet/test/RedirectTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionIdUrlRewrite/servlet/test/RedirectTo.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionInvalidateNoCookieInResponse/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/sessionInvalidateNoCookieInResponse/servlet/TestServlet.java
index b0ee40e..2e22d39 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionInvalidateNoCookieInResponse/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionInvalidateNoCookieInResponse/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionJvmRoute/servlet/CheckSession.java b/appserver/tests/appserv-tests/devtests/web/sessionJvmRoute/servlet/CheckSession.java
index 663b962..56581b8 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionJvmRoute/servlet/CheckSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionJvmRoute/servlet/CheckSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionJvmRoute/servlet/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionJvmRoute/servlet/CreateSession.java
index 3ea0def..f1115ee 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionJvmRoute/servlet/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionJvmRoute/servlet/CreateSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersist/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersist/servlet/test/CreateSession.java
index 21232c1..897957e 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersist/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersist/servlet/test/CreateSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class CreateSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersist/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersist/servlet/test/ResumeSession.java
index acd3af0..21fb832 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersist/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersist/servlet/test/ResumeSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class ResumeSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersistPrimitiveClass/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersistPrimitiveClass/servlet/test/ResumeSession.java
index ef93d7e..1eb7517 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersistPrimitiveClass/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionMemoryPersistPrimitiveClass/servlet/test/ResumeSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class ResumeSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeploy/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeploy/servlet/test/CreateSession.java
index 21232c1..897957e 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeploy/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeploy/servlet/test/CreateSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class CreateSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeploy/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeploy/servlet/test/ResumeSession.java
index 435aa61..f6d8fab 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeploy/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeploy/servlet/test/ResumeSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class ResumeSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeployDeclarative/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeployDeclarative/servlet/test/CreateSession.java
index 21232c1..897957e 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeployDeclarative/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeployDeclarative/servlet/test/CreateSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class CreateSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeployDeclarative/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeployDeclarative/servlet/test/ResumeSession.java
index b6a2b9e..18ed3aa 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeployDeclarative/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionPreserveAcrossRedeployDeclarative/servlet/test/ResumeSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class ResumeSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionPropertyEnableCookiesInstanceLevel/servlet/test/RedirectFrom.java b/appserver/tests/appserv-tests/devtests/web/sessionPropertyEnableCookiesInstanceLevel/servlet/test/RedirectFrom.java
index 97ae02d..3944ff4 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionPropertyEnableCookiesInstanceLevel/servlet/test/RedirectFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionPropertyEnableCookiesInstanceLevel/servlet/test/RedirectFrom.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionPropertyEnableCookiesInstanceLevel/servlet/test/RedirectTo.java b/appserver/tests/appserv-tests/devtests/web/sessionPropertyEnableCookiesInstanceLevel/servlet/test/RedirectTo.java
index a48f847..4c96ecd 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionPropertyEnableCookiesInstanceLevel/servlet/test/RedirectTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionPropertyEnableCookiesInstanceLevel/servlet/test/RedirectTo.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionSerializeOnShutdownOnly/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionSerializeOnShutdownOnly/servlet/test/CreateSession.java
index 4ab4a54..0407ec1 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionSerializeOnShutdownOnly/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionSerializeOnShutdownOnly/servlet/test/CreateSession.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 public class CreateSession extends HttpServlet {
     @Override
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionSerializeOnShutdownOnly/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/sessionSerializeOnShutdownOnly/servlet/test/ResumeSession.java
index c47e289..4d437d2 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionSerializeOnShutdownOnly/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionSerializeOnShutdownOnly/servlet/test/ResumeSession.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 public class ResumeSession extends HttpServlet {
     @Override
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionSetAttributeJavaxNamingContext/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/sessionSetAttributeJavaxNamingContext/servlet/test/TestServlet.java
index 60a997e..a9f146d 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionSetAttributeJavaxNamingContext/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionSetAttributeJavaxNamingContext/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalExpire/servlet/CheckSession.java b/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalExpire/servlet/CheckSession.java
index 0ad61e2..2f9f4b7 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalExpire/servlet/CheckSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalExpire/servlet/CheckSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalExpire/servlet/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalExpire/servlet/CreateSession.java
index 6359310..eb572f5 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalExpire/servlet/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalExpire/servlet/CreateSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalToZeroAndInvalidate/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalToZeroAndInvalidate/servlet/TestServlet.java
index c11ac74..f27c7cd 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalToZeroAndInvalidate/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionSetMaxInactiveIntervalToZeroAndInvalidate/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionWithCookiePersistenceType/servlet/CheckSession.java b/appserver/tests/appserv-tests/devtests/web/sessionWithCookiePersistenceType/servlet/CheckSession.java
index d5197d9..eed247d 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionWithCookiePersistenceType/servlet/CheckSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionWithCookiePersistenceType/servlet/CheckSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sessionWithCookiePersistenceType/servlet/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/sessionWithCookiePersistenceType/servlet/CreateSession.java
index efb559a..1c2833b 100644
--- a/appserver/tests/appserv-tests/devtests/web/sessionWithCookiePersistenceType/servlet/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/sessionWithCookiePersistenceType/servlet/CreateSession.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/setMultiValuedResponseHeader/servlet/SetHeadersServlet.java b/appserver/tests/appserv-tests/devtests/web/setMultiValuedResponseHeader/servlet/SetHeadersServlet.java
index 05c2574..9bfd1b7 100644
--- a/appserver/tests/appserv-tests/devtests/web/setMultiValuedResponseHeader/servlet/SetHeadersServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/setMultiValuedResponseHeader/servlet/SetHeadersServlet.java
@@ -17,10 +17,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-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;
 
 public class SetHeadersServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/setResponseContentLengthToZeroKeepResponseHeaders/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/setResponseContentLengthToZeroKeepResponseHeaders/servlet/TestServlet.java
index 4111b4a..d58a3a7 100644
--- a/appserver/tests/appserv-tests/devtests/web/setResponseContentLengthToZeroKeepResponseHeaders/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/setResponseContentLengthToZeroKeepResponseHeaders/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/setWebContextParam/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/setWebContextParam/servlet/TestServlet.java
index 97f6527..22ce669 100644
--- a/appserver/tests/appserv-tests/devtests/web/setWebContextParam/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/setWebContextParam/servlet/TestServlet.java
@@ -18,11 +18,11 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class TestServlet extends HttpServlet {
     public void service(HttpServletRequest req, HttpServletResponse res)
diff --git a/appserver/tests/appserv-tests/devtests/web/singleengine/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/singleengine/servlet/ServletTest.java
index 8ab08d2..860bcc4 100644
--- a/appserver/tests/appserv-tests/devtests/web/singleengine/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/singleengine/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -49,11 +49,11 @@
     }
 
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/ssl/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/ssl/servlet/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/appserv-tests/devtests/web/ssl/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/ssl/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest.java
index 8c003cc..8d111ac 100644
--- a/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet implements HttpSessionListener {
 
@@ -52,11 +52,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest2.java
index f517cce..db2cb50 100644
--- a/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest3.java
index 54dc989..c5a381a 100644
--- a/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/ssl/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest3 extends HttpServlet{
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sslClientAuthUnprotectedResourceGetClientCert/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/sslClientAuthUnprotectedResourceGetClientCert/servlet/TestServlet.java
index 570f772..5588468 100644
--- a/appserver/tests/appserv-tests/devtests/web/sslClientAuthUnprotectedResourceGetClientCert/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/sslClientAuthUnprotectedResourceGetClientCert/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
@@ -25,7 +25,7 @@
             throws IOException, ServletException {
 
         Object cert = req.getAttribute(
-            "javax.servlet.request.X509Certificate");
+            "jakarta.servlet.request.X509Certificate");
         String clName = null;
         if (cert != null) {
             clName = cert.getClass().getName();
diff --git a/appserver/tests/appserv-tests/devtests/web/sslCookie/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/sslCookie/servlet/ServletTest.java
index 2fd7ee5..bdf5138 100644
--- a/appserver/tests/appserv-tests/devtests/web/sslCookie/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/sslCookie/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet implements HttpSessionListener {
 
@@ -62,11 +62,11 @@
         
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest.java
index 8c003cc..8d111ac 100644
--- a/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet implements HttpSessionListener {
 
@@ -52,11 +52,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest2.java
index f517cce..db2cb50 100644
--- a/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest3.java
index 54dc989..c5a381a 100644
--- a/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/sslMultiSelector/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest3 extends HttpServlet{
 
diff --git a/appserver/tests/appserv-tests/devtests/web/sslServerName/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/sslServerName/servlet/ServletTest.java
index 2ae94c1..781bccf 100644
--- a/appserver/tests/appserv-tests/devtests/web/sslServerName/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/sslServerName/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/FilterTest.java b/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/FilterTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest.java
index 9fe46d3..d4a3174 100644
--- a/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest2.java b/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest2.java
index f517cce..db2cb50 100644
--- a/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest2.java
+++ b/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest3.java b/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest3.java
index 4b9b240..3e8d25b 100644
--- a/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest3.java
+++ b/appserver/tests/appserv-tests/devtests/web/standalonewar/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/appserv-tests/devtests/web/threadPoolIdleTimeout/src/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/threadPoolIdleTimeout/src/servlet/ServletTest.java
index 2f96c64..e854149 100644
--- a/appserver/tests/appserv-tests/devtests/web/threadPoolIdleTimeout/src/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/threadPoolIdleTimeout/src/servlet/ServletTest.java
@@ -17,10 +17,10 @@
 package servlet;
 
 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;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/traceEnabled/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/traceEnabled/servlet/ServletTest.java
index d713d0e..2874750 100644
--- a/appserver/tests/appserv-tests/devtests/web/traceEnabled/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/traceEnabled/servlet/ServletTest.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.IOException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/trailerHeader/servlet/EchoHeaderServlet.java b/appserver/tests/appserv-tests/devtests/web/trailerHeader/servlet/EchoHeaderServlet.java
index 74d679a..5103dcd 100644
--- a/appserver/tests/appserv-tests/devtests/web/trailerHeader/servlet/EchoHeaderServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/trailerHeader/servlet/EchoHeaderServlet.java
@@ -18,10 +18,10 @@
 import java.io.InputStream;
 import java.io.PrintWriter;
 
-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;
 
 public class EchoHeaderServlet extends HttpServlet {
     private static final long serialVersionUID = 1L;
diff --git a/appserver/tests/appserv-tests/devtests/web/unprotectedClasses/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/unprotectedClasses/servlet/ServletTest.java
index 9f1313e..2e827b5 100644
--- a/appserver/tests/appserv-tests/devtests/web/unprotectedClasses/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/unprotectedClasses/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
diff --git a/appserver/tests/appserv-tests/devtests/web/v3HttpListenerDynamicConfig/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/v3HttpListenerDynamicConfig/servlet/ServletTest.java
index 2ae94c1..781bccf 100644
--- a/appserver/tests/appserv-tests/devtests/web/v3HttpListenerDynamicConfig/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/v3HttpListenerDynamicConfig/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/valveGlassFishStyleBackwardCompatible/lib/glassfish-valves/valves/GlassFishValveImpl.java b/appserver/tests/appserv-tests/devtests/web/valveGlassFishStyleBackwardCompatible/lib/glassfish-valves/valves/GlassFishValveImpl.java
index 57de9c9..7e7f20e 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveGlassFishStyleBackwardCompatible/lib/glassfish-valves/valves/GlassFishValveImpl.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveGlassFishStyleBackwardCompatible/lib/glassfish-valves/valves/GlassFishValveImpl.java
@@ -17,8 +17,8 @@
 package valves;
 
 import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
 import org.apache.catalina.Request;
 import org.apache.catalina.Response;
 import org.apache.catalina.valves.ValveBase;
diff --git a/appserver/tests/appserv-tests/devtests/web/valveGlassFishStyleBackwardCompatible/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/valveGlassFishStyleBackwardCompatible/servlet/TestServlet.java
index 7b0269d..f2a658d 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveGlassFishStyleBackwardCompatible/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveGlassFishStyleBackwardCompatible/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/GlassFishValveImpl.java b/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/GlassFishValveImpl.java
index 9381182..4add5a0 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/GlassFishValveImpl.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/GlassFishValveImpl.java
@@ -17,7 +17,7 @@
 package valves;
 
 import java.io.IOException;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
 import org.apache.catalina.Request;
 import org.apache.catalina.Response;
 import org.glassfish.web.valve.GlassFishValve;
diff --git a/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/TomcatValveBase_1.java b/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/TomcatValveBase_1.java
index 91a98a6..b9aaf64 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/TomcatValveBase_1.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/TomcatValveBase_1.java
@@ -17,7 +17,7 @@
 package valves;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import org.apache.catalina.connector.*;
 import org.apache.catalina.valves.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/TomcatValveBase_2.java b/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/TomcatValveBase_2.java
index 4176a87..ef2df6e 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/TomcatValveBase_2.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/lib/valves/TomcatValveBase_2.java
@@ -17,7 +17,7 @@
 package valves;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import org.apache.catalina.connector.*;
 import org.apache.catalina.valves.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/servlet/TestServlet.java
index 3fe41f2..b4da45f 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveTomcatStyle/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/valveWithParams/lib/valves/TestValve1.java b/appserver/tests/appserv-tests/devtests/web/valveWithParams/lib/valves/TestValve1.java
index a09f53c..31d4a8f 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveWithParams/lib/valves/TestValve1.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveWithParams/lib/valves/TestValve1.java
@@ -17,7 +17,7 @@
 package valves;
 
 import java.io.IOException;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
 import org.apache.catalina.Request;
 import org.apache.catalina.Response;
 import org.glassfish.web.valve.GlassFishValve;
diff --git a/appserver/tests/appserv-tests/devtests/web/valveWithParams/lib/valves/TestValve2.java b/appserver/tests/appserv-tests/devtests/web/valveWithParams/lib/valves/TestValve2.java
index 8222a89..ef48b6b 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveWithParams/lib/valves/TestValve2.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveWithParams/lib/valves/TestValve2.java
@@ -17,7 +17,7 @@
 package valves;
 
 import java.io.IOException;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
 import org.apache.catalina.Request;
 import org.apache.catalina.Response;
 import org.glassfish.web.valve.GlassFishValve;
diff --git a/appserver/tests/appserv-tests/devtests/web/valveWithParams/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/valveWithParams/servlet/TestServlet.java
index 89f884a..7ffe967 100644
--- a/appserver/tests/appserv-tests/devtests/web/valveWithParams/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/valveWithParams/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestDispatcher/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestDispatcher/servlet/TestServlet.java
index a7106b9..7c30820 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestDispatcher/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestDispatcher/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/CheckRequestPath.java b/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/CheckRequestPath.java
index b415661..1449e96 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/CheckRequestPath.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/CheckRequestPath.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckRequestPath extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/DispatchFrom.java b/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/DispatchFrom.java
index f585ba1..491de2a 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/DispatchFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/DispatchFrom.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class DispatchFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/DispatchTo.java b/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/DispatchTo.java
index f472e79..f9be3f0 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/DispatchTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerDefaultWebModuleRequestPath/servlet/DispatchTo.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class DispatchTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerDynamicConfig/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/virtualServerDynamicConfig/servlet/ServletTest.java
index 2ae94c1..781bccf 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerDynamicConfig/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerDynamicConfig/servlet/ServletTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerEarWrappedDefaultWebModuleRestart/servlet/HelloWorldSimpleTag.java b/appserver/tests/appserv-tests/devtests/web/virtualServerEarWrappedDefaultWebModuleRestart/servlet/HelloWorldSimpleTag.java
index 27ede4f..45386be 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerEarWrappedDefaultWebModuleRestart/servlet/HelloWorldSimpleTag.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerEarWrappedDefaultWebModuleRestart/servlet/HelloWorldSimpleTag.java
@@ -17,8 +17,8 @@
 package taglib;
 
 import java.io.IOException;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 
 public class HelloWorldSimpleTag extends SimpleTagSupport {
     public void doTag() throws JspException, IOException {
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerLogFile/servlet/CheckAccessLog.java b/appserver/tests/appserv-tests/devtests/web/virtualServerLogFile/servlet/CheckAccessLog.java
index 289b524..b6cc341 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerLogFile/servlet/CheckAccessLog.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerLogFile/servlet/CheckAccessLog.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckAccessLog extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerSendErrorProperty/servlet/MyServlet.java b/appserver/tests/appserv-tests/devtests/web/virtualServerSendErrorProperty/servlet/MyServlet.java
index a39e973..eea1b21 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerSendErrorProperty/servlet/MyServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerSendErrorProperty/servlet/MyServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class MyServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerSendErrorPropertyBrokenWebapp/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/virtualServerSendErrorPropertyBrokenWebapp/servlet/ServletTest.java
index aa5a3f5..0b9e2e9 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerSendErrorPropertyBrokenWebapp/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerSendErrorPropertyBrokenWebapp/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomErrorReportValve/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomErrorReportValve/servlet/TestServlet.java
index 31434e7..3d9ac5f 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomErrorReportValve/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomErrorReportValve/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomErrorReportValve/servlet/custom/ErrorReportValve.java b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomErrorReportValve/servlet/custom/ErrorReportValve.java
index e615843..f3406ab 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomErrorReportValve/servlet/custom/ErrorReportValve.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomErrorReportValve/servlet/custom/ErrorReportValve.java
@@ -17,7 +17,7 @@
 package custom;
 
 import java.io.IOException;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
 import org.apache.catalina.Request;
 import org.apache.catalina.Response;
 import org.glassfish.web.valve.GlassFishValve;
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/GlassFishValveImpl.java b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/GlassFishValveImpl.java
index 9381182..4add5a0 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/GlassFishValveImpl.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/GlassFishValveImpl.java
@@ -17,7 +17,7 @@
 package valves;
 
 import java.io.IOException;
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
 import org.apache.catalina.Request;
 import org.apache.catalina.Response;
 import org.glassfish.web.valve.GlassFishValve;
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/TomcatValveBase_1.java b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/TomcatValveBase_1.java
index 91a98a6..b9aaf64 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/TomcatValveBase_1.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/TomcatValveBase_1.java
@@ -17,7 +17,7 @@
 package valves;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import org.apache.catalina.connector.*;
 import org.apache.catalina.valves.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/TomcatValveBase_2.java b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/TomcatValveBase_2.java
index 4176a87..ef2df6e 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/TomcatValveBase_2.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/lib/valves/TomcatValveBase_2.java
@@ -17,7 +17,7 @@
 package valves;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 import org.apache.catalina.connector.*;
 import org.apache.catalina.valves.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/servlet/TestServlet.java
index bbcb738..9c96672 100644
--- a/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/virtualServerWithCustomValves/servlet/TestServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/webappDeployDashDashLibraries/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/webappDeployDashDashLibraries/servlet/test/TestServlet.java
index 25386c3..9530344 100644
--- a/appserver/tests/appserv-tests/devtests/web/webappDeployDashDashLibraries/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/webappDeployDashDashLibraries/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/webappLoaderConsiderHiddenJarFiles/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/webappLoaderConsiderHiddenJarFiles/servlet/test/TestServlet.java
index 360087c..4d84aaf 100644
--- a/appserver/tests/appserv-tests/devtests/web/webappLoaderConsiderHiddenJarFiles/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/webappLoaderConsiderHiddenJarFiles/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/webappLoaderGetResourceDot/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/webappLoaderGetResourceDot/servlet/test/TestServlet.java
index 5ae917c..f310f8b 100644
--- a/appserver/tests/appserv-tests/devtests/web/webappLoaderGetResourceDot/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/webappLoaderGetResourceDot/servlet/test/TestServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.net.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/webappLoaderIgnoreHiddenJarFiles/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/webappLoaderIgnoreHiddenJarFiles/servlet/test/TestServlet.java
index 110ae75..ccad543 100644
--- a/appserver/tests/appserv-tests/devtests/web/webappLoaderIgnoreHiddenJarFiles/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/webappLoaderIgnoreHiddenJarFiles/servlet/test/TestServlet.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/delegate/servlet/test/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/delegate/servlet/test/ServletTest.java
index 4bd664c..b939583 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/delegate/servlet/test/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/delegate/servlet/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet{
     private static final String PASS = "WLDelegateTest::PASS";
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/referenceDescriptor/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/referenceDescriptor/servlet/test/TestServlet.java
index bb0645e..7948418 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/referenceDescriptor/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/referenceDescriptor/servlet/test/TestServlet.java
@@ -22,9 +22,9 @@
 import jakarta.ejb.EJB;
 import jakarta.jms.Queue;
 import javax.naming.InitialContext;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 import javax.sql.DataSource;
 
 @WebServlet("/mytest")
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/runAsPrincipalName/servlet/test/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/runAsPrincipalName/servlet/test/TestServlet.java
index 95ba9dd..a6e98ea 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/runAsPrincipalName/servlet/test/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/runAsPrincipalName/servlet/test/TestServlet.java
@@ -19,11 +19,11 @@
 import java.io.*;
 import jakarta.annotation.security.RunAs;
 import jakarta.ejb.EJB;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.HttpConstraint;
-import javax.servlet.annotation.ServletSecurity;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.HttpConstraint;
+import jakarta.servlet.annotation.ServletSecurity;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/mytest")
 @ServletSecurity(@HttpConstraint(rolesAllowed={"javaee"}))
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionCookieConfigDeclarative/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionCookieConfigDeclarative/servlet/test/CreateSession.java
index b33f8b0..67b4f0c 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionCookieConfigDeclarative/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionCookieConfigDeclarative/servlet/test/CreateSession.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/CheckResult.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/CheckResult.java
index 07ef38a..4bb4645 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/CheckResult.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/CheckResult.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CheckResult extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/CreateSession.java
index b5b00f4..2488df3 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/CreateSession.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class CreateSession extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/MyHttpSessionListener.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/MyHttpSessionListener.java
index b42289b..35d00b9 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/MyHttpSessionListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/MyHttpSessionListener.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionListener;
-import javax.servlet.http.HttpSessionEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionListener;
+import jakarta.servlet.http.HttpSessionEvent;
 
 public class MyHttpSessionListener implements HttpSessionListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/MyObject.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/MyObject.java
index 5f52eb6..fd0610c 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/MyObject.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionExpired/servlet/test/MyObject.java
@@ -16,10 +16,10 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionBindingListener;
-import javax.servlet.http.HttpSessionBindingEvent;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionBindingListener;
+import jakarta.servlet.http.HttpSessionBindingEvent;
 
 public class MyObject implements HttpSessionBindingListener {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectFrom.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectFrom.java
index 97ae02d..3944ff4 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectFrom.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectFrom.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectFrom extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectTo.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectTo.java
index 89be42b..502bb72 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectTo.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionIdUrlRewriteSessionTrackingModeDeclarative/servlet/test/RedirectTo.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectTo extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionPreserveAcrossRedeployDeclarative/servlet/test/CreateSession.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionPreserveAcrossRedeployDeclarative/servlet/test/CreateSession.java
index 21232c1..897957e 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionPreserveAcrossRedeployDeclarative/servlet/test/CreateSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionPreserveAcrossRedeployDeclarative/servlet/test/CreateSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class CreateSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionPreserveAcrossRedeployDeclarative/servlet/test/ResumeSession.java b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionPreserveAcrossRedeployDeclarative/servlet/test/ResumeSession.java
index b6a2b9e..18ed3aa 100644
--- a/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionPreserveAcrossRedeployDeclarative/servlet/test/ResumeSession.java
+++ b/appserver/tests/appserv-tests/devtests/web/weblogicDD/sessionPreserveAcrossRedeployDeclarative/servlet/test/ResumeSession.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 
 public class ResumeSession extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/welcomePageExtensionMatch/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/welcomePageExtensionMatch/servlet/TestServlet.java
index 69b071e..17f2dca 100644
--- a/appserver/tests/appserv-tests/devtests/web/welcomePageExtensionMatch/servlet/TestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/web/welcomePageExtensionMatch/servlet/TestServlet.java
@@ -16,8 +16,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weldJsfFormLoginHttpSessionListener/src/test/TestHttpSessionListener.java b/appserver/tests/appserv-tests/devtests/web/weldJsfFormLoginHttpSessionListener/src/test/TestHttpSessionListener.java
index 3926b58..07a1d8d 100644
--- a/appserver/tests/appserv-tests/devtests/web/weldJsfFormLoginHttpSessionListener/src/test/TestHttpSessionListener.java
+++ b/appserver/tests/appserv-tests/devtests/web/weldJsfFormLoginHttpSessionListener/src/test/TestHttpSessionListener.java
@@ -17,10 +17,10 @@
 package test;
 
 import jakarta.inject.Inject;
-import javax.servlet.http.HttpSessionEvent;
-import javax.servlet.http.HttpSessionListener;
+import jakarta.servlet.http.HttpSessionEvent;
+import jakarta.servlet.http.HttpSessionListener;
 
-@javax.servlet.annotation.WebListener
+@jakarta.servlet.annotation.WebListener
 public class TestHttpSessionListener implements HttpSessionListener {
     @Inject  MyBean myBean;
 
diff --git a/appserver/tests/appserv-tests/devtests/web/weldJsfServerAuthModuleRedirect/src/test/provider/TestHttpServletServerAuthModule.java b/appserver/tests/appserv-tests/devtests/web/weldJsfServerAuthModuleRedirect/src/test/provider/TestHttpServletServerAuthModule.java
index 0b631af..d248131 100644
--- a/appserver/tests/appserv-tests/devtests/web/weldJsfServerAuthModuleRedirect/src/test/provider/TestHttpServletServerAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/web/weldJsfServerAuthModuleRedirect/src/test/provider/TestHttpServletServerAuthModule.java
@@ -26,10 +26,10 @@
 import javax.security.auth.message.MessageInfo;
 import javax.security.auth.message.MessagePolicy;
 import javax.security.auth.message.module.ServerAuthModule;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.RequestDispatcher;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 @SuppressWarnings("rawtypes")
 public class TestHttpServletServerAuthModule implements ServerAuthModule {
diff --git a/appserver/tests/appserv-tests/devtests/web/win2kLock/servlet/ServletTest.java b/appserver/tests/appserv-tests/devtests/web/win2kLock/servlet/ServletTest.java
index d5e65ab..2d4408c 100644
--- a/appserver/tests/appserv-tests/devtests/web/win2kLock/servlet/ServletTest.java
+++ b/appserver/tests/appserv-tests/devtests/web/win2kLock/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
diff --git a/appserver/tests/appserv-tests/devtests/web/yasson/servlet/TransformToJson.java b/appserver/tests/appserv-tests/devtests/web/yasson/servlet/TransformToJson.java
index 34ada76..a88e5c7 100644
--- a/appserver/tests/appserv-tests/devtests/web/yasson/servlet/TransformToJson.java
+++ b/appserver/tests/appserv-tests/devtests/web/yasson/servlet/TransformToJson.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.json.bind.*;
 
 public class TransformToJson extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/Client.java
index d1423e7..1f79a94 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -28,12 +28,12 @@
        @WebServiceRef(wsdlLocation="WEB-INF/wsdl/SubtractNumbers.wsdl") SubtractNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 SubtractNumbersPortType port = service.getSubtractNumbersPortType();
                 ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"http://HTTP_HOST:HTTP_PORT/client-handler-1/webservice/SubtractNumbersService?WSDL");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/Client.java
index ca03165..11a38e9 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
         @WebServiceRef SubtractNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 SubtractNumbersPortType port = service.getSubtractNumbersPortType();
                 ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"http://HTTP_HOST:HTTP_PORT/client-handler-2/webservice/SubtractNumbersService?WSDL");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/client/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/client/webclient/Client.java
index e605f12..f06c11c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/client/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/client/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -32,12 +32,12 @@
        @WebServiceRef(wsdlLocation="http://HTTP_HOST:HTTP_PORT/containerresolver-app2/Hello2Service?wsdl") Hello2Service service2;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 Hello1 port1 = service1.getHello1Port();
                 String ret = port1.sayHello1("Hi");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/webclient/Client.java
index 8c29780..c8c150d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -28,12 +28,12 @@
         @WebServiceRef SubtractNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 SubtractNumbersPortType port = service.getSubtractNumbersPortType();
                 ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"http://HTTP_HOST:HTTP_PORT/dol-override-1/webservice/SubtractNumbersService?WSDL");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/webclient/Client.java
index e2ce5da..a326225 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
         HelloService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
            try {
                 javax.naming.InitialContext ic = new javax.naming.InitialContext();
                 Object res = ic.lookup("java:comp/env/MyMappedName");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/webclient/Client.java
index 675e989..168756d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
         HelloService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp)
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 
            try {
                 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/webclient/Client.java
index 761f980..361a0b7 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -28,12 +28,12 @@
         @WebServiceRef SubtractNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 SubtractNumbersPortType port = service.getSubtractNumbersPortType();
                 int ret = port.subtractNumbers(22222, 11111);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/webclient/Client.java
index 55c1cec..1972c59 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
         HelloService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp)
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
            try {
                 
                 Hello port = service.getHelloPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/webclient/Client.java
index 16536de..fd7bd60 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
         HelloService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp)
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
            try {
                 
                 Hello port = service.getHello();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/webclient/Client.java
index 099e3e2..5337236 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
         HelloService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp)
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
            String ret="Oneway works";
            try {
                 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/postconstruct/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/postconstruct/webclient/Client.java
index 5cd8e35..5d8ee12 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/postconstruct/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/postconstruct/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
         HelloService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp)
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
            try {
                 
                 Hello port = service.getHelloPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/webclient/Client.java
index 2c0b5a0..045248a 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -28,12 +28,12 @@
         @WebServiceRef(name="service/MyService") AddNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 AddNumbersPortType port = service.getAddNumbersPortType();
                 ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"http://localhost:8080/prepkged-svc-1/webservice/AddNumbersService?WSDL");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/webclient/Client.java
index 95f597e..1502ffd 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -28,12 +28,12 @@
         @WebServiceRef SubtractNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 SubtractNumbersPortType port = service.getSubtractNumbersPortType();
                 ((BindingProvider)port).getRequestContext().put
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/webclient/Client.java
index 65cebee..a51166f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -28,12 +28,12 @@
         @WebServiceRef SubtractNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 SubtractNumbersPortType port = service.getSubtractNumbersPortType();
                 ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"http://HTTP_HOST:HTTP_PORT/svchandler-2/webservice/SubtractNumbersService?WSDL");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/webclient/Client.java
index 894f360..51277cb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -28,12 +28,12 @@
         @WebServiceRef SubtractNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 SubtractNumbersPortType port = service.getSubtractNumbersPortType();
                 ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"http://HTTP_HOST:HTTP_PORT/svchandler-3/webservice/SubtractNumbersService?WSDL");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/webclient/Client.java
index a9e30f3..4e2b758 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -28,12 +28,12 @@
         @WebServiceRef SubtractNumbersService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 SubtractNumbersPortType port = service.getSubtractNumbersPortType();
                 ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,"http://HTTP_HOST:HTTP_PORT/svchandler-4/webservice/SubtractNumbersService?WSDL");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-cobundle/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-cobundle/webclient/Client.java
index 4e82b88..00058a7 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-cobundle/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-cobundle/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package webclient;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -35,12 +35,12 @@
     SubtractNumbersService service;
 
     public void doGet(HttpServletRequest req, HttpServletResponse resp)
-            throws javax.servlet.ServletException {
+            throws jakarta.servlet.ServletException {
         doPost(req, resp);
     }
 
     public void doPost(HttpServletRequest req, HttpServletResponse resp)
-            throws javax.servlet.ServletException {
+            throws jakarta.servlet.ServletException {
         try {
             com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump = true;
             SubtractNumbers port2 = service.getSubtractNumbersPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/webclient/Client.java
index 539ccc2..49cd203 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -34,12 +34,12 @@
         SubtractNumbersService service2;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                   com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true;
                 SubtractNumbersImpl port2 = service2.getSubtractNumbersPortType();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/webclient/Client.java
index 2d0d42a..a478d81 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -32,12 +32,12 @@
         SubtractNumbersImpl port;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                   com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/webclient/Client.java
index 5fbce84..55f405f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -32,12 +32,12 @@
         SubtractNumbersImpl port;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                   com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true;
                 int ret = port.subtractNumbers(9999, 4444);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/webclient/Client.java
index 2f8df3c..21087d2 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -32,12 +32,12 @@
         SubtractNumbersPortType port;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                   com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true;
                   javax.naming.InitialContext ic = new javax.naming.InitialContext();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/webclient/Client.java
index d991949..2c75f33 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -32,12 +32,12 @@
         SubtractNumbersImpl port;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                   com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/endpoint/Hello.java
index c1498e8..4af6b43 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/endpoint/Hello.java
@@ -19,7 +19,7 @@
 import jakarta.jws.WebService;
 import jakarta.annotation.Resource;
 import jakarta.xml.ws.WebServiceContext;
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 import jakarta.xml.ws.WebServiceContext;
 import jakarta.xml.ws.handler.MessageContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/webclient/Client.java
index 2a43347..40fc285 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -30,12 +30,12 @@
         Hello port;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 String ret = port.sayHello("All");
                 System.out.println(ret);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/webclient/Client.java
index 1bda942..3797941 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package webclient;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 import ejbclient.*;
@@ -33,12 +33,12 @@
             webclient.Hello hiport2;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 String ret1 = hiport1.sayHello("All");
                 String ret2 = hiport2.sayHello("All");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/webclient/Client.java
index c73bd01..b263ee0 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 String ret = hiport.sayHello("All");
                 PrintWriter out = resp.getWriter();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/webclient/Client.java
index c73bd01..b263ee0 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 String ret = hiport.sayHello("All");
                 PrintWriter out = resp.getWriter();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/webclient/Client.java
index c73bd01..b263ee0 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 String ret = hiport.sayHello("All");
                 PrintWriter out = resp.getWriter();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/webclient/Client.java
index c73bd01..b263ee0 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 String ret = hiport.sayHello("All");
                 PrintWriter out = resp.getWriter();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/webclient/Client.java
index e9d8aae..8052095 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/webclient/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -34,12 +34,12 @@
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true;
                 String ret = hiport.sayHello("All");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/googleserver/web/GoogleServletImpl.java b/appserver/tests/appserv-tests/devtests/webservice/googleserver/web/GoogleServletImpl.java
index 2acf847..916f52e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/googleserver/web/GoogleServletImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/googleserver/web/GoogleServletImpl.java
@@ -28,7 +28,7 @@
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
 
-public class GoogleServletImpl implements javax.servlet.SingleThreadModel, ServiceLifecycle {
+public class GoogleServletImpl implements jakarta.servlet.SingleThreadModel, ServiceLifecycle {
 
     private static final QName PORT_QNAME = 
         new QName("urn:GoogleSearch", "GoogleSearchPort");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-ejb/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-ejb/webclient/Client.java
index c5c7a82..b6e2784 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-ejb/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-ejb/webclient/Client.java
@@ -16,14 +16,14 @@
 
 package client;
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 import javax.naming.InitialContext;
-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 javax.xml.rpc.Stub;
 import helloservice.*;
 
@@ -32,12 +32,12 @@
 
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
            String targetEndpointAddress = "http://HTTP_HOST:HTTP_PORT/hello-jaxrpc-ejb/hello";//?wsdl
             InitialContext ic = new InitialContext();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-web/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-web/webclient/Client.java
index cee89c5..c712efe 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-web/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-web/webclient/Client.java
@@ -16,14 +16,14 @@
 
 package client;
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 import javax.naming.InitialContext;
-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 javax.xml.rpc.Stub;
 import helloservice.*;
 
@@ -32,12 +32,12 @@
 
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
            String targetEndpointAddress = "http://HTTP_HOST:HTTP_PORT/hello-jaxrpc/hello";//?wsdl
             InitialContext ic = new InitialContext();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/webclient/client/Client.java
index 8859575..c6abd3c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/webclient/client/Client.java
index 81b8d73..e653d46 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 System.out.println(" Service is :" + service);
                 Calculator port = service.getCalculatorPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/consumer/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/consumer/webclient/client/Client.java
index fbc291b..b0c8667 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/consumer/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/consumer/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -30,12 +30,12 @@
        HelloEJBService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 System.out.println(" Service is :" + service);
 		Hello port = service.getHelloEJBPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/webclient/client/Client.java
index 65b868e..cffbfe9 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef(name="sun-web.serviceref/adder") AdderService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/consumer/client/FindInterestServletClient.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/consumer/client/FindInterestServletClient.java
index b91f869..08c0656 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/consumer/client/FindInterestServletClient.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/consumer/client/FindInterestServletClient.java
@@ -16,8 +16,8 @@
 
 package myclient;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.Serializable;
 import java.io.PrintWriter;
 import java.rmi.RemoteException; 
@@ -32,18 +32,18 @@
     }
 
     public void doGet(HttpServletRequest req, HttpServletResponse resp)
-                throws javax.servlet.ServletException {
+                throws jakarta.servlet.ServletException {
            this.resp = resp;
            doPost(req, resp);
     }
                                                                                 
     public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
        try{
            this.resp = resp;
            calculateInterest();
        }catch(Exception e) {
-          throw new javax.servlet.ServletException(e);
+          throw new jakarta.servlet.ServletException(e);
        }
 
     }
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/consumer/web/FindInterestServletImpl.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/consumer/web/FindInterestServletImpl.java
index 9fa9be9..df6620d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/consumer/web/FindInterestServletImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/consumer/web/FindInterestServletImpl.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class FindInterestServletImpl implements 
 			SingleThreadModel, ServiceLifecycle {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/provider-oneway/web/FindInterestServletImpl.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/provider-oneway/web/FindInterestServletImpl.java
index e82f753..67f2288 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/provider-oneway/web/FindInterestServletImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/provider-oneway/web/FindInterestServletImpl.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class FindInterestServletImpl implements 
 			SingleThreadModel, ServiceLifecycle {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/provider/web/FindInterestServletImpl.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/provider/web/FindInterestServletImpl.java
index 9fa9be9..df6620d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/provider/web/FindInterestServletImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/jax-rpc/provider/web/FindInterestServletImpl.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class FindInterestServletImpl implements 
 			SingleThreadModel, ServiceLifecycle {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/webclient/client/Client.java
index 2f99d1b..1e8b6aa 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -30,12 +30,12 @@
 	   //static OneWay port;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/webclient/client/Client.java
index 83bf7a3..89c6f62 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/webclient/client/Client.java
index 83bf7a3..89c6f62 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -31,12 +31,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/webclient/client/Client.java
index 5878654..86fa3e4 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/webclient/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
 import java.io.PrintWriter;
 import java.security.Principal;
 
@@ -30,12 +30,12 @@
     HelloEJBService service;
 
     public void doGet(HttpServletRequest req, HttpServletResponse resp)
-            throws javax.servlet.ServletException {
+            throws jakarta.servlet.ServletException {
         doPost(req, resp);
     }
 
     public void doPost(HttpServletRequest req, HttpServletResponse resp)
-            throws javax.servlet.ServletException {
+            throws jakarta.servlet.ServletException {
         try {
             Principal p = req.getUserPrincipal();
 	    String principal = (p==null)? "NULL": p.toString();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/webclient/client/Client.java
index 990d21c..b23c90f 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef(name="sun-web.serviceref/subtractor") SubtractorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 System.out.println(" Service is :" + service);
                 Subtractor port = service.getSubtractorPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/webclient/client/Client.java
index fa5fd08..7de5cf6 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") AddNumberService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/webclient/client/Client.java
index 2a6c6da..ed78bcb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 System.out.println(" Service is :" + service);
                 Calculator port = service.getCalculatorPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/webclient/client/Client.java
index b2578bf..f7bf467 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") EndpointMappingService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/webclient/client/Client.java
index 6d61707..1778d2b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef EndpointMappingConsumerService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 System.out.println(" Service is :" + service);
                 EndpointMappingConsumer port = service.getEndpointMappingConsumerPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/webclient/client/Client.java
index e9b33c7..e48a408 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/webclient/client/Client.java
index 542581f..d185f6f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    PrintWriter out=null;
             try {
                 System.out.println(" Service is :" + service);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/consumer/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/consumer/webclient/client/Client.java
index 81b8d73..e653d46 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/consumer/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/consumer/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
 
@@ -29,12 +29,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             try {
                 System.out.println(" Service is :" + service);
                 Calculator port = service.getCalculatorPort();
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/webclient/client/Client.java
index 6a56210..ba46619 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/webclient/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.InitialContext;
 import jakarta.transaction.UserTransaction;
 import java.io.IOException;
@@ -31,12 +31,12 @@
        @WebServiceRef(name="sun-web.serviceref/calculator") CalculatorService service;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
 	    UserTransaction ut = null;
             try {
 		ut = (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/webclient/client/Client.java
index 23b01cf..52a6554 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/webclient/client/Client.java
@@ -17,8 +17,8 @@
 package client;
 
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.InitialContext;
 import jakarta.transaction.UserTransaction;
 import jakarta.transaction.Status;
@@ -37,12 +37,12 @@
        @Resource(mappedName="jdbc/__default") private DataSource ds;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             UserTransaction ut = null;
             // Create Table with name CUSTOMER_cm. This name will be used in the EJB
 	    String tableName = "CUSTOMER_cm";
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/webclient/client/Client.java
index a22426d..5d45796 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/webclient/client/Client.java
@@ -17,8 +17,8 @@
 package client;
 
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.InitialContext;
 import jakarta.transaction.UserTransaction;
 import jakarta.transaction.Status;
@@ -37,12 +37,12 @@
        @Resource(mappedName="jdbc/__default") private DataSource ds;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             UserTransaction ut = null;
             // Create Table with name CUSTOMER_cm1. This name will be used in the EJB
 	    String tableName = "CUSTOMER_cm1";
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/webclient/client/Client.java
index 21d02cf..b23f0fb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/webclient/client/Client.java
@@ -17,8 +17,8 @@
 package client;
 
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.InitialContext;
 import jakarta.transaction.UserTransaction;
 import jakarta.transaction.Status;
@@ -37,12 +37,12 @@
        @Resource(mappedName="jdbc/__default") private DataSource ds;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             UserTransaction ut = null;
             // Create Table with name CUSTOMER_rb. This name will be used in the EJB
 	    String tableName = "CUSTOMER_rb";
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/webclient/client/Client.java
index 1dc41ca..44286cb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/webclient/client/Client.java
@@ -17,8 +17,8 @@
 package client;
 
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.InitialContext;
 import jakarta.transaction.UserTransaction;
 import jakarta.transaction.Status;
@@ -37,12 +37,12 @@
        @Resource(mappedName="jdbc/__default") private DataSource ds;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
-		throws javax.servlet.ServletException {
+		throws jakarta.servlet.ServletException {
            doPost(req, resp);
        }
 
        public void doPost(HttpServletRequest req, HttpServletResponse resp)
-              throws javax.servlet.ServletException {
+              throws jakarta.servlet.ServletException {
             UserTransaction ut = null;
             // Create Table with name CUSTOMER_rb1. This name will be used in the EJB
 	    String tableName = "CUSTOMER_rb1";
diff --git a/appserver/tests/appserv-tests/devtests/webservice/rpcencoded_oneway/rpcencoded/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/rpcencoded_oneway/rpcencoded/HelloImpl.java
index 3c2c9f0..03f2404 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/rpcencoded_oneway/rpcencoded/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/rpcencoded_oneway/rpcencoded/HelloImpl.java
@@ -24,7 +24,7 @@
 
 // Service Implementation Class - as outlined in JAX-RPC Specification
 
-public class HelloImpl implements javax.servlet.SingleThreadModel, ServiceLifecycle {
+public class HelloImpl implements jakarta.servlet.SingleThreadModel, ServiceLifecycle {
 
     private boolean gotInit = false;
    
diff --git a/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/EventLogServlet.java b/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/EventLogServlet.java
index 6c22ee8..9bd0a94 100644
--- a/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/EventLogServlet.java
+++ b/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/EventLogServlet.java
@@ -18,11 +18,11 @@
 
 
 import jakarta.inject.Inject;
-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;
 
 import com.oracle.cdi.cases.devtests.predestroy.lib.EventLog;
 
diff --git a/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/LogoutServlet.java b/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/LogoutServlet.java
index 7eb4a39..f4b473b 100644
--- a/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/LogoutServlet.java
+++ b/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/LogoutServlet.java
@@ -17,12 +17,12 @@
 package com.oracle.cdi.cases.devtests.predestroy.war;
 
 
-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 javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 import java.io.IOException;
 
 
diff --git a/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/SessionBeanServlet.java b/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/SessionBeanServlet.java
index 41e7075..a420401 100644
--- a/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/SessionBeanServlet.java
+++ b/appserver/tests/cdi/cases/preDestroyScoping/web/src/main/java/com/oracle/cdi/cases/devtests/predestroy/war/SessionBeanServlet.java
@@ -18,11 +18,11 @@
 
 
 import jakarta.inject.Inject;
-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;
 import java.io.IOException;
 import java.util.UUID;
 
diff --git a/appserver/tests/community/jdbc/jdbcusertx/src/java/MyServlet.java b/appserver/tests/community/jdbc/jdbcusertx/src/java/MyServlet.java
index 2417cd6..cbc31d0 100644
--- a/appserver/tests/community/jdbc/jdbcusertx/src/java/MyServlet.java
+++ b/appserver/tests/community/jdbc/jdbcusertx/src/java/MyServlet.java
@@ -20,8 +20,8 @@
 import java.lang.reflect.Constructor;
 import java.net.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 import java.util.Map;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/community/persistence/servlet-jpa-app/src/java/web/CustomerDetails.java b/appserver/tests/community/persistence/servlet-jpa-app/src/java/web/CustomerDetails.java
index ca394d1..1d019a0 100644
--- a/appserver/tests/community/persistence/servlet-jpa-app/src/java/web/CustomerDetails.java
+++ b/appserver/tests/community/persistence/servlet-jpa-app/src/java/web/CustomerDetails.java
@@ -32,8 +32,8 @@
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.PersistenceContext;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.transaction.UserTransaction;
 import persistence.*;
 
diff --git a/appserver/tests/community/web/helloworld/src/java/HelloServlet.java b/appserver/tests/community/web/helloworld/src/java/HelloServlet.java
index 4b14b63..61f4288 100644
--- a/appserver/tests/community/web/helloworld/src/java/HelloServlet.java
+++ b/appserver/tests/community/web/helloworld/src/java/HelloServlet.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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;
 
 
 /**
diff --git a/appserver/tests/community/web/jsfinjection/src/java/FilterTest.java b/appserver/tests/community/web/jsfinjection/src/java/FilterTest.java
index 9c0ce2f..898240a 100644
--- a/appserver/tests/community/web/jsfinjection/src/java/FilterTest.java
+++ b/appserver/tests/community/web/jsfinjection/src/java/FilterTest.java
@@ -17,8 +17,8 @@
 package jsfinjection;
 
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 import javax.naming.*;
 
@@ -32,7 +32,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
 
         String msg = "PASS";
@@ -62,7 +62,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/community/web/strutsbasic/metadata/validator-rules.xml b/appserver/tests/community/web/strutsbasic/metadata/validator-rules.xml
index 5fddd93..65c249e 100644
--- a/appserver/tests/community/web/strutsbasic/metadata/validator-rules.xml
+++ b/appserver/tests/community/web/strutsbasic/metadata/validator-rules.xml
@@ -75,7 +75,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
                   msg="errors.required"/>
 
       <validator name="requiredif"
@@ -86,7 +86,7 @@
                                org.apache.commons.validator.Field,
                                org.apache.struts.action.ActionMessages,
                                org.apache.commons.validator.Validator,
-                               javax.servlet.http.HttpServletRequest"
+                               jakarta.servlet.http.HttpServletRequest"
                  msg="errors.required"/>
 
       <validator name="validwhen"
@@ -98,7 +98,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"/>
+                       jakarta.servlet.http.HttpServletRequest"/>
 
 
       <validator name="minlength"
@@ -109,7 +109,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.minlength"
            jsFunction="org.apache.commons.validator.javascript.validateMinLength"/>
@@ -123,7 +123,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.maxlength"
            jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>
@@ -138,7 +138,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.invalid"/>
 
@@ -151,7 +151,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.byte"
        jsFunctionName="ByteValidations"/>
@@ -165,7 +165,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.short"
        jsFunctionName="ShortValidations"/>
@@ -179,7 +179,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.integer"
        jsFunctionName="IntegerValidations"/>
@@ -194,7 +194,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.long"/>
 
@@ -207,7 +207,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.float"
        jsFunctionName="FloatValidations"/>
@@ -220,7 +220,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.double"/>
 
@@ -233,7 +233,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.date"
        jsFunctionName="DateValidations"/>
@@ -247,7 +247,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends="integer"
                   msg="errors.range"/>
 
@@ -260,7 +260,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends="float"
                   msg="errors.range"/>
 
@@ -272,7 +272,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends="double"
                   msg="errors.range"/>
 
@@ -285,7 +285,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.creditcard"/>
 
@@ -298,7 +298,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.email"/>
 
@@ -310,7 +310,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.url"/>
 
diff --git a/appserver/tests/embedded/cdi_basic/src/main/java/org/glassfish/tests/embedded/cdi_basic/BasicCDITestServlet.java b/appserver/tests/embedded/cdi_basic/src/main/java/org/glassfish/tests/embedded/cdi_basic/BasicCDITestServlet.java
index 26994f9..09da5ce 100644
--- a/appserver/tests/embedded/cdi_basic/src/main/java/org/glassfish/tests/embedded/cdi_basic/BasicCDITestServlet.java
+++ b/appserver/tests/embedded/cdi_basic/src/main/java/org/glassfish/tests/embedded/cdi_basic/BasicCDITestServlet.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.tests.embedded.cdi_basic;
 
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/embedded/cdi_ejb_jpa/src/main/java/org/glassfish/tests/embedded/cdi_ejb_jpa/BasicCDITestServlet.java b/appserver/tests/embedded/cdi_ejb_jpa/src/main/java/org/glassfish/tests/embedded/cdi_ejb_jpa/BasicCDITestServlet.java
index cd0616a..96af42f 100644
--- a/appserver/tests/embedded/cdi_ejb_jpa/src/main/java/org/glassfish/tests/embedded/cdi_ejb_jpa/BasicCDITestServlet.java
+++ b/appserver/tests/embedded/cdi_ejb_jpa/src/main/java/org/glassfish/tests/embedded/cdi_ejb_jpa/BasicCDITestServlet.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.tests.embedded.cdi_ejb_jpa;
 
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 import jakarta.annotation.sql.DataSourceDefinition;
diff --git a/appserver/tests/embedded/glassfish_resources_xml/src/main/java/org/glassfish/tests/embedded/cdi_ejb_jpa/BasicCDITestServlet.java b/appserver/tests/embedded/glassfish_resources_xml/src/main/java/org/glassfish/tests/embedded/cdi_ejb_jpa/BasicCDITestServlet.java
index 8f46ee0..1a8c752 100644
--- a/appserver/tests/embedded/glassfish_resources_xml/src/main/java/org/glassfish/tests/embedded/cdi_ejb_jpa/BasicCDITestServlet.java
+++ b/appserver/tests/embedded/glassfish_resources_xml/src/main/java/org/glassfish/tests/embedded/cdi_ejb_jpa/BasicCDITestServlet.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.tests.embedded.cdi_ejb_jpa;
 
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/embedded/inplanted/src/test/java/org/glassfish/tests/embedded/web/HelloWeb.java b/appserver/tests/embedded/inplanted/src/test/java/org/glassfish/tests/embedded/web/HelloWeb.java
index 5b80833..de9a74f 100644
--- a/appserver/tests/embedded/inplanted/src/test/java/org/glassfish/tests/embedded/web/HelloWeb.java
+++ b/appserver/tests/embedded/inplanted/src/test/java/org/glassfish/tests/embedded/web/HelloWeb.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 
 @WebServlet(urlPatterns={"/hello"})
diff --git a/appserver/tests/embedded/maven-plugin/applicationDispatcher/src/main/java/test/ServletTest.java b/appserver/tests/embedded/maven-plugin/applicationDispatcher/src/main/java/test/ServletTest.java
index a08b8c0..5dec147 100644
--- a/appserver/tests/embedded/maven-plugin/applicationDispatcher/src/main/java/test/ServletTest.java
+++ b/appserver/tests/embedded/maven-plugin/applicationDispatcher/src/main/java/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
diff --git a/appserver/tests/embedded/maven-plugin/dirListing/src/main/java/test/ServletTest.java b/appserver/tests/embedded/maven-plugin/dirListing/src/main/java/test/ServletTest.java
index 8ab08d2..860bcc4 100644
--- a/appserver/tests/embedded/maven-plugin/dirListing/src/main/java/test/ServletTest.java
+++ b/appserver/tests/embedded/maven-plugin/dirListing/src/main/java/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -49,11 +49,11 @@
     }
 
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
     }
 }
diff --git a/appserver/tests/embedded/maven-plugin/filterURIMapping/src/main/java/test/FilterTest.java b/appserver/tests/embedded/maven-plugin/filterURIMapping/src/main/java/test/FilterTest.java
index 57a5e16..fcf3624 100644
--- a/appserver/tests/embedded/maven-plugin/filterURIMapping/src/main/java/test/FilterTest.java
+++ b/appserver/tests/embedded/maven-plugin/filterURIMapping/src/main/java/test/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/embedded/maven-plugin/filterURIMapping/src/main/java/test/ServletTest.java b/appserver/tests/embedded/maven-plugin/filterURIMapping/src/main/java/test/ServletTest.java
index ef70056..a76f882 100644
--- a/appserver/tests/embedded/maven-plugin/filterURIMapping/src/main/java/test/ServletTest.java
+++ b/appserver/tests/embedded/maven-plugin/filterURIMapping/src/main/java/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
 
diff --git a/appserver/tests/embedded/maven-plugin/jmxUndeployEvent/src/main/java/test/ServletTest.java b/appserver/tests/embedded/maven-plugin/jmxUndeployEvent/src/main/java/test/ServletTest.java
index 1d6e81f..750862b 100644
--- a/appserver/tests/embedded/maven-plugin/jmxUndeployEvent/src/main/java/test/ServletTest.java
+++ b/appserver/tests/embedded/maven-plugin/jmxUndeployEvent/src/main/java/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
diff --git a/appserver/tests/embedded/maven-plugin/jsftest/src/main/java/org/glassfish/tests/embedded/jsftest/JSFTestServlet.java b/appserver/tests/embedded/maven-plugin/jsftest/src/main/java/org/glassfish/tests/embedded/jsftest/JSFTestServlet.java
index d49b833..1a29948 100644
--- a/appserver/tests/embedded/maven-plugin/jsftest/src/main/java/org/glassfish/tests/embedded/jsftest/JSFTestServlet.java
+++ b/appserver/tests/embedded/maven-plugin/jsftest/src/main/java/org/glassfish/tests/embedded/jsftest/JSFTestServlet.java
@@ -23,11 +23,11 @@
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.context.FacesContextFactory;
 import jakarta.faces.lifecycle.LifecycleFactory;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/embedded/maven-plugin/jsptest/src/main/java/org/glassfish/tests/embedded/jsptest/JspTestServlet.java b/appserver/tests/embedded/maven-plugin/jsptest/src/main/java/org/glassfish/tests/embedded/jsptest/JspTestServlet.java
index 948e28d..c58ad59 100644
--- a/appserver/tests/embedded/maven-plugin/jsptest/src/main/java/org/glassfish/tests/embedded/jsptest/JspTestServlet.java
+++ b/appserver/tests/embedded/maven-plugin/jsptest/src/main/java/org/glassfish/tests/embedded/jsptest/JspTestServlet.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.tests.embedded.jsptest;
 
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/embedded/maven-plugin/jsptest/src/main/webapp/response.jsp b/appserver/tests/embedded/maven-plugin/jsptest/src/main/webapp/response.jsp
index 09a6de7..9e006dd 100644
--- a/appserver/tests/embedded/maven-plugin/jsptest/src/main/webapp/response.jsp
+++ b/appserver/tests/embedded/maven-plugin/jsptest/src/main/webapp/response.jsp
@@ -18,7 +18,7 @@
 
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 
-<%@ page import="javax.servlet.http.*" %>
+<%@ page import="jakarta.servlet.http.*" %>
 
 <%
     String user = (String)request.getParameter("username");
diff --git a/appserver/tests/embedded/maven-plugin/localejbs/src/main/java/org/glassfish/tests/embedded/localejbs/TesterServlet.java b/appserver/tests/embedded/maven-plugin/localejbs/src/main/java/org/glassfish/tests/embedded/localejbs/TesterServlet.java
index b696088..bca9022 100644
--- a/appserver/tests/embedded/maven-plugin/localejbs/src/main/java/org/glassfish/tests/embedded/localejbs/TesterServlet.java
+++ b/appserver/tests/embedded/maven-plugin/localejbs/src/main/java/org/glassfish/tests/embedded/localejbs/TesterServlet.java
@@ -19,11 +19,11 @@
 import org.junit.runner.JUnitCore;
 import org.junit.runner.Result;
 
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import java.io.IOException;
 
 /**
diff --git a/appserver/tests/embedded/maven-plugin/mdb/src/main/java/org/glassfish/tests/embedded/mdb/TesterServlet.java b/appserver/tests/embedded/maven-plugin/mdb/src/main/java/org/glassfish/tests/embedded/mdb/TesterServlet.java
index f5e8975..dfa56d0 100644
--- a/appserver/tests/embedded/maven-plugin/mdb/src/main/java/org/glassfish/tests/embedded/mdb/TesterServlet.java
+++ b/appserver/tests/embedded/maven-plugin/mdb/src/main/java/org/glassfish/tests/embedded/mdb/TesterServlet.java
@@ -19,11 +19,11 @@
 import org.junit.runner.JUnitCore;
 import org.junit.runner.Result;
 
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.annotation.WebServlet;
 import java.io.IOException;
 
 /**
diff --git a/appserver/tests/embedded/maven-plugin/multipleApps/src/main/java/org/glassfish/tests/embedded/jsptest/JspTestServlet.java b/appserver/tests/embedded/maven-plugin/multipleApps/src/main/java/org/glassfish/tests/embedded/jsptest/JspTestServlet.java
index 948e28d..c58ad59 100644
--- a/appserver/tests/embedded/maven-plugin/multipleApps/src/main/java/org/glassfish/tests/embedded/jsptest/JspTestServlet.java
+++ b/appserver/tests/embedded/maven-plugin/multipleApps/src/main/java/org/glassfish/tests/embedded/jsptest/JspTestServlet.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.tests.embedded.jsptest;
 
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/embedded/maven-plugin/multipleApps/src/main/webapp/response.jsp b/appserver/tests/embedded/maven-plugin/multipleApps/src/main/webapp/response.jsp
index 09a6de7..9e006dd 100644
--- a/appserver/tests/embedded/maven-plugin/multipleApps/src/main/webapp/response.jsp
+++ b/appserver/tests/embedded/maven-plugin/multipleApps/src/main/webapp/response.jsp
@@ -18,7 +18,7 @@
 
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 
-<%@ page import="javax.servlet.http.*" %>
+<%@ page import="jakarta.servlet.http.*" %>
 
 <%
     String user = (String)request.getParameter("username");
diff --git a/appserver/tests/embedded/maven-plugin/queryString/src/main/java/test/ServletTest.java b/appserver/tests/embedded/maven-plugin/queryString/src/main/java/test/ServletTest.java
index b006ceb..e49289f 100644
--- a/appserver/tests/embedded/maven-plugin/queryString/src/main/java/test/ServletTest.java
+++ b/appserver/tests/embedded/maven-plugin/queryString/src/main/java/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest extends HttpServlet {
     private static boolean isRedirected = false;
diff --git a/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/FilterTest.java b/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/FilterTest.java
index 57a5e16..fcf3624 100755
--- a/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/FilterTest.java
+++ b/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest.java b/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest.java
index 9fe46d3..d4a3174 100644
--- a/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest.java
+++ b/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest2.java b/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest2.java
index f517cce..db2cb50 100755
--- a/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest2.java
+++ b/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest3.java b/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest3.java
index 4b9b240..3e8d25b 100644
--- a/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest3.java
+++ b/appserver/tests/embedded/maven-plugin/scattered/src/main/java/test/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/embedded/maven-plugin/secureWebApp/src/main/java/test/SecureWebAppTestServlet.java b/appserver/tests/embedded/maven-plugin/secureWebApp/src/main/java/test/SecureWebAppTestServlet.java
index f204804..25904a1 100644
--- a/appserver/tests/embedded/maven-plugin/secureWebApp/src/main/java/test/SecureWebAppTestServlet.java
+++ b/appserver/tests/embedded/maven-plugin/secureWebApp/src/main/java/test/SecureWebAppTestServlet.java
@@ -16,11 +16,11 @@
 
 package test;
 
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/embedded/maven-plugin/sessionDestroyed/src/main/java/test/ServletTest.java b/appserver/tests/embedded/maven-plugin/sessionDestroyed/src/main/java/test/ServletTest.java
index 0edf37d..5edcff0 100644
--- a/appserver/tests/embedded/maven-plugin/sessionDestroyed/src/main/java/test/ServletTest.java
+++ b/appserver/tests/embedded/maven-plugin/sessionDestroyed/src/main/java/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 import java.net.URL;
 import java.util.ArrayList;
@@ -57,11 +57,11 @@
     }
 
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         status = (String)httpSessionEvent.getSession().getAttribute("test"); 
     }
diff --git a/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/FilterTest.java b/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/FilterTest.java
index 57a5e16..fcf3624 100755
--- a/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/FilterTest.java
+++ b/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest.java b/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest.java
index 9fe46d3..d4a3174 100644
--- a/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest.java
+++ b/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest2.java b/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest2.java
index f517cce..db2cb50 100755
--- a/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest2.java
+++ b/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest3.java b/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest3.java
index 4b9b240..3e8d25b 100644
--- a/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest3.java
+++ b/appserver/tests/embedded/maven-plugin/standalonewar/src/main/java/test/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/embedded/maven-plugin/websockets/src/main/java/com/sun/grizzly/samples/websockets/WebSocketsServlet.java b/appserver/tests/embedded/maven-plugin/websockets/src/main/java/com/sun/grizzly/samples/websockets/WebSocketsServlet.java
index b017fa1..2643497 100755
--- a/appserver/tests/embedded/maven-plugin/websockets/src/main/java/com/sun/grizzly/samples/websockets/WebSocketsServlet.java
+++ b/appserver/tests/embedded/maven-plugin/websockets/src/main/java/com/sun/grizzly/samples/websockets/WebSocketsServlet.java
@@ -12,9 +12,9 @@
 
 import org.glassfish.grizzly.websockets.WebSocketEngine;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
 import java.util.logging.Logger;
 
 public class WebSocketsServlet extends HttpServlet {
diff --git a/appserver/tests/embedded/mysql/src/main/java/org/glassfish/tests/embedded/web/MySqlTestServlet.java b/appserver/tests/embedded/mysql/src/main/java/org/glassfish/tests/embedded/web/MySqlTestServlet.java
index d0d7988..028feaa 100644
--- a/appserver/tests/embedded/mysql/src/main/java/org/glassfish/tests/embedded/web/MySqlTestServlet.java
+++ b/appserver/tests/embedded/mysql/src/main/java/org/glassfish/tests/embedded/web/MySqlTestServlet.java
@@ -21,11 +21,11 @@
 import jakarta.annotation.sql.DataSourceDefinitions;
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.PersistenceContext;
-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;
 import javax.sql.DataSource;
 import jakarta.transaction.UserTransaction;
 import java.io.IOException;
diff --git a/appserver/tests/embedded/scatteredarchive/src/main/java/org/glassfish/tests/embedded/scatteredarchive/ScatteredArchiveTestServlet.java b/appserver/tests/embedded/scatteredarchive/src/main/java/org/glassfish/tests/embedded/scatteredarchive/ScatteredArchiveTestServlet.java
index a6be25b..8f01b74 100644
--- a/appserver/tests/embedded/scatteredarchive/src/main/java/org/glassfish/tests/embedded/scatteredarchive/ScatteredArchiveTestServlet.java
+++ b/appserver/tests/embedded/scatteredarchive/src/main/java/org/glassfish/tests/embedded/scatteredarchive/ScatteredArchiveTestServlet.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.tests.embedded.scatteredarchive;
 
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/embedded/scatteredarchive/src/main/webapp/response.jsp b/appserver/tests/embedded/scatteredarchive/src/main/webapp/response.jsp
index 09a6de7..9e006dd 100644
--- a/appserver/tests/embedded/scatteredarchive/src/main/webapp/response.jsp
+++ b/appserver/tests/embedded/scatteredarchive/src/main/webapp/response.jsp
@@ -18,7 +18,7 @@
 
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 
-<%@ page import="javax.servlet.http.*" %>
+<%@ page import="jakarta.servlet.http.*" %>
 
 <%
     String user = (String)request.getParameter("username");
diff --git a/appserver/tests/embedded/servlet_runs_admin_cmds/src/main/java/org/glassfish/tests/embedded/servlet_runs_admin_cmds/RunAdminCommandsServlet.java b/appserver/tests/embedded/servlet_runs_admin_cmds/src/main/java/org/glassfish/tests/embedded/servlet_runs_admin_cmds/RunAdminCommandsServlet.java
index f5eb684..3657074 100644
--- a/appserver/tests/embedded/servlet_runs_admin_cmds/src/main/java/org/glassfish/tests/embedded/servlet_runs_admin_cmds/RunAdminCommandsServlet.java
+++ b/appserver/tests/embedded/servlet_runs_admin_cmds/src/main/java/org/glassfish/tests/embedded/servlet_runs_admin_cmds/RunAdminCommandsServlet.java
@@ -20,11 +20,11 @@
 import org.glassfish.embeddable.CommandRunner;
 
 import jakarta.annotation.Resource;
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/web/HelloWeb.java b/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/web/HelloWeb.java
index 5b80833..de9a74f 100644
--- a/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/web/HelloWeb.java
+++ b/appserver/tests/embedded/static/web/src/test/java/org/glassfish/tests/embedded/web/HelloWeb.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 
 @WebServlet(urlPatterns={"/hello"})
diff --git a/appserver/tests/embedded/web/autodelete/src/main/java/HelloWorld.java b/appserver/tests/embedded/web/autodelete/src/main/java/HelloWorld.java
index 557d417..d0ad5ae 100644
--- a/appserver/tests/embedded/web/autodelete/src/main/java/HelloWorld.java
+++ b/appserver/tests/embedded/web/autodelete/src/main/java/HelloWorld.java
@@ -16,9 +16,9 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.annotation.WebServlet; 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet; 
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 @WebServlet(urlPatterns={"/hello"})
 public class HelloWorld extends HttpServlet {
diff --git a/appserver/tests/embedded/web/servlet/src/main/java/HelloWorld.java b/appserver/tests/embedded/web/servlet/src/main/java/HelloWorld.java
index 557d417..d0ad5ae 100644
--- a/appserver/tests/embedded/web/servlet/src/main/java/HelloWorld.java
+++ b/appserver/tests/embedded/web/servlet/src/main/java/HelloWorld.java
@@ -16,9 +16,9 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.annotation.WebServlet; 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet; 
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 @WebServlet(urlPatterns={"/hello"})
 public class HelloWorld extends HttpServlet {
diff --git a/appserver/tests/embedded/web/web-all/src/main/java/org/glassfish/tests/weball/WebHello.java b/appserver/tests/embedded/web/web-all/src/main/java/org/glassfish/tests/weball/WebHello.java
index c3fbd00..bc0de2c 100644
--- a/appserver/tests/embedded/web/web-all/src/main/java/org/glassfish/tests/weball/WebHello.java
+++ b/appserver/tests/embedded/web/web-all/src/main/java/org/glassfish/tests/weball/WebHello.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.annotation.Resource;
 
 /**
diff --git a/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/HelloWeb.java b/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/HelloWeb.java
index 8e69fbc..9ad0996 100644
--- a/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/HelloWeb.java
+++ b/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/HelloWeb.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.annotation.Resource;
 
 @WebServlet(urlPatterns={"/hello"})
diff --git a/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/TestListener.java b/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/TestListener.java
index 6f390cf..e138d8b 100644
--- a/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/TestListener.java
+++ b/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/TestListener.java
@@ -17,8 +17,8 @@
 package org.glassfish.tests.webapi;
 
 import java.io.PrintStream;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
 
 public final class TestListener
   implements ServletContextListener
diff --git a/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/TestServlet.java b/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/TestServlet.java
index e8e11b4..168207b 100644
--- a/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/TestServlet.java
+++ b/appserver/tests/embedded/web/web-api/src/main/java/org/glassfish/tests/webapi/TestServlet.java
@@ -19,11 +19,11 @@
 import java.io.IOException;
 import java.io.PrintStream;
 import java.io.PrintWriter;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 public class TestServlet
   extends HttpServlet
diff --git a/appserver/tests/embedded/web/web-api/src/main/webapp/response.jsp b/appserver/tests/embedded/web/web-api/src/main/webapp/response.jsp
index 09a6de7..9e006dd 100644
--- a/appserver/tests/embedded/web/web-api/src/main/webapp/response.jsp
+++ b/appserver/tests/embedded/web/web-api/src/main/webapp/response.jsp
@@ -18,7 +18,7 @@
 
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 
-<%@ page import="javax.servlet.http.*" %>
+<%@ page import="jakarta.servlet.http.*" %>
 
 <%
     String user = (String)request.getParameter("username");
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddListenerDefaultVSTest.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddListenerDefaultVSTest.java
index d40ec3e..773915a 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddListenerDefaultVSTest.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddListenerDefaultVSTest.java
@@ -24,8 +24,8 @@
 import java.util.logging.Level;
 import java.util.ArrayList;
 import java.util.List;
-import javax.servlet.Servlet;
-import javax.servlet.ServletRegistration;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletRegistration;
 import org.glassfish.embeddable.*;
 import org.glassfish.embeddable.web.*;
 import org.glassfish.embeddable.web.config.*;
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletAndFilterByClassNameTest.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletAndFilterByClassNameTest.java
index 08cd16f..2818526 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletAndFilterByClassNameTest.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletAndFilterByClassNameTest.java
@@ -25,10 +25,10 @@
 import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.List;
-import javax.servlet.FilterRegistration;
-import javax.servlet.DispatcherType;
-import javax.servlet.Servlet;
-import javax.servlet.ServletRegistration;
+import jakarta.servlet.FilterRegistration;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletRegistration;
 import org.glassfish.embeddable.*;
 import org.glassfish.embeddable.web.*;
 import org.glassfish.embeddable.web.config.*;
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletAndFilterByClassTest.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletAndFilterByClassTest.java
index c30e39e..aa65f6f 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletAndFilterByClassTest.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletAndFilterByClassTest.java
@@ -25,11 +25,11 @@
 import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.List;
-import javax.servlet.Filter;
-import javax.servlet.FilterRegistration;
-import javax.servlet.DispatcherType;
-import javax.servlet.Servlet;
-import javax.servlet.ServletRegistration;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterRegistration;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletRegistration;
 import org.glassfish.embeddable.*;
 import org.glassfish.embeddable.web.*;
 import org.glassfish.embeddable.web.config.*;
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletDefaultVSTest.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletDefaultVSTest.java
index d3aa14e..3b5b0f5 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletDefaultVSTest.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletDefaultVSTest.java
@@ -24,8 +24,8 @@
 import java.util.logging.Level;
 import java.util.ArrayList;
 import java.util.List;
-import javax.servlet.Servlet;
-import javax.servlet.ServletRegistration;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletRegistration;
 import org.glassfish.embeddable.*;
 import org.glassfish.embeddable.web.*;
 import org.glassfish.embeddable.web.config.*;
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletTest.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletTest.java
index 3cb2cf3..0b0a0d6 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletTest.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedAddServletTest.java
@@ -24,8 +24,8 @@
 import java.util.logging.Level;
 import java.util.ArrayList;
 import java.util.List;
-import javax.servlet.Servlet;
-import javax.servlet.ServletRegistration;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletRegistration;
 import org.glassfish.embeddable.*;
 import org.glassfish.embeddable.web.*;
 import org.glassfish.embeddable.web.config.*;
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedCreateServletAndFilterTest.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedCreateServletAndFilterTest.java
index eae42e1..33c7212 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedCreateServletAndFilterTest.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedCreateServletAndFilterTest.java
@@ -25,11 +25,11 @@
 import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.List;
-import javax.servlet.Filter;
-import javax.servlet.FilterRegistration;
-import javax.servlet.DispatcherType;
-import javax.servlet.Servlet;
-import javax.servlet.ServletRegistration;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterRegistration;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletRegistration;
 import org.glassfish.embeddable.*;
 import org.glassfish.embeddable.web.*;
 import org.glassfish.embeddable.web.config.*;
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedSetConfigurationTest.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedSetConfigurationTest.java
index 19509e3..6db3e45 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedSetConfigurationTest.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedSetConfigurationTest.java
@@ -24,8 +24,8 @@
 import java.util.logging.Level;
 import java.util.ArrayList;
 import java.util.List;
-import javax.servlet.Servlet;
-import javax.servlet.ServletRegistration;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletRegistration;
 import org.glassfish.embeddable.*;
 import org.glassfish.embeddable.web.*;
 import org.glassfish.embeddable.web.config.*;
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedSetDocRootTest.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedSetDocRootTest.java
index c8784d5..18c3e50 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedSetDocRootTest.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/EmbeddedSetDocRootTest.java
@@ -24,8 +24,8 @@
 import java.util.logging.Level;
 import java.util.ArrayList;
 import java.util.List;
-import javax.servlet.Servlet;
-import javax.servlet.ServletRegistration;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.ServletRegistration;
 import org.glassfish.embeddable.*;
 import org.glassfish.embeddable.web.*;
 import org.glassfish.embeddable.web.config.*;
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/MyServlet.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/MyServlet.java
index b42a096..2eb500e 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/MyServlet.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/MyServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 public class MyServlet extends HttpServlet {
 
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/MyServletContextListener.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/MyServletContextListener.java
index 3e69d6b..9da78b7 100755
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/MyServletContextListener.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/MyServletContextListener.java
@@ -18,7 +18,7 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class MyServletContextListener implements ServletContextListener {
 
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewFilter.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewFilter.java
index a7900d3..23df3fd 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewFilter.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewFilter.java
@@ -17,7 +17,7 @@
 package org.glassfish.tests.embedded.web;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class NewFilter implements Filter {
 
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewFilterServlet.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewFilterServlet.java
index 7ac554b..ec1ecd3 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewFilterServlet.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewFilterServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class NewFilterServlet extends HttpServlet {
 
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewServlet.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewServlet.java
index c559294..522a63f 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewServlet.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewServlet.java
@@ -17,9 +17,9 @@
 package org.glassfish.tests.embedded.web;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
 
 //@WebServlet(urlPatterns={"/new"})
 public class NewServlet extends HttpServlet {
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewServletRequestListener.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewServletRequestListener.java
index 6199a6e..1fdd3dc 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewServletRequestListener.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/NewServletRequestListener.java
@@ -17,7 +17,7 @@
 package org.glassfish.tests.embedded.web;
 
 import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 public class NewServletRequestListener implements ServletRequestListener {
 
diff --git a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/WebHello.java b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/WebHello.java
index 122c871..fdbc208 100644
--- a/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/WebHello.java
+++ b/appserver/tests/embedded/web/web-api/src/test/java/org/glassfish/tests/embedded/web/WebHello.java
@@ -18,9 +18,9 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.annotation.Resource;
 
 @WebServlet(urlPatterns={"/hello"})
diff --git a/appserver/tests/embedded/web/web-war/war/src/main/java/org/glassfish/tests/embedded/webwar/TestServlet.java b/appserver/tests/embedded/web/web-war/war/src/main/java/org/glassfish/tests/embedded/webwar/TestServlet.java
index d315acf..041d18c 100644
--- a/appserver/tests/embedded/web/web-war/war/src/main/java/org/glassfish/tests/embedded/webwar/TestServlet.java
+++ b/appserver/tests/embedded/web/web-war/war/src/main/java/org/glassfish/tests/embedded/webwar/TestServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.Enumeration;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
 
 @WebServlet("/")
 public class TestServlet extends HttpServlet {
diff --git a/appserver/tests/embedded/web/web-war/web-fragment1/src/main/java/org/glassfish/tests/embedded/webwar/webfragment1/WFTestFilter.java b/appserver/tests/embedded/web/web-war/web-fragment1/src/main/java/org/glassfish/tests/embedded/webwar/webfragment1/WFTestFilter.java
index 467d7be..554ce58 100644
--- a/appserver/tests/embedded/web/web-war/web-fragment1/src/main/java/org/glassfish/tests/embedded/webwar/webfragment1/WFTestFilter.java
+++ b/appserver/tests/embedded/web/web-war/web-fragment1/src/main/java/org/glassfish/tests/embedded/webwar/webfragment1/WFTestFilter.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter implements Filter {
diff --git a/appserver/tests/embedded/web/web-war/web-fragment2/src/main/java/org/glassfish/tests/embedded/webwar/webfragment2/WFTestFilter2.java b/appserver/tests/embedded/web/web-war/web-fragment2/src/main/java/org/glassfish/tests/embedded/webwar/webfragment2/WFTestFilter2.java
index 3d83ce7..45e7ad7 100644
--- a/appserver/tests/embedded/web/web-war/web-fragment2/src/main/java/org/glassfish/tests/embedded/webwar/webfragment2/WFTestFilter2.java
+++ b/appserver/tests/embedded/web/web-war/web-fragment2/src/main/java/org/glassfish/tests/embedded/webwar/webfragment2/WFTestFilter2.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/abc" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter2 implements Filter {
diff --git a/appserver/tests/embedded/web/web-war/web-fragment2/src/main/java/org/glassfish/tests/embedded/webwar/webfragment2/WFTestFilter2B.java b/appserver/tests/embedded/web/web-war/web-fragment2/src/main/java/org/glassfish/tests/embedded/webwar/webfragment2/WFTestFilter2B.java
index ae5104c..567305d 100644
--- a/appserver/tests/embedded/web/web-war/web-fragment2/src/main/java/org/glassfish/tests/embedded/webwar/webfragment2/WFTestFilter2B.java
+++ b/appserver/tests/embedded/web/web-war/web-fragment2/src/main/java/org/glassfish/tests/embedded/webwar/webfragment2/WFTestFilter2B.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter2B implements Filter {
diff --git a/appserver/tests/embedded/web/web-war/web-fragment3/src/main/java/org/glassfish/tests/embedded/webwar/webfragment3/WFTestFilter3.java b/appserver/tests/embedded/web/web-war/web-fragment3/src/main/java/org/glassfish/tests/embedded/webwar/webfragment3/WFTestFilter3.java
index 42e2ce4..d47685a 100644
--- a/appserver/tests/embedded/web/web-war/web-fragment3/src/main/java/org/glassfish/tests/embedded/webwar/webfragment3/WFTestFilter3.java
+++ b/appserver/tests/embedded/web/web-war/web-fragment3/src/main/java/org/glassfish/tests/embedded/webwar/webfragment3/WFTestFilter3.java
@@ -18,14 +18,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.DispatcherType;
-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.annotation.WebFilter;
+import jakarta.servlet.DispatcherType;
+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.annotation.WebFilter;
 
 @WebFilter(urlPatterns={ "/" }, dispatcherTypes= { DispatcherType.REQUEST })
 public class WFTestFilter3 implements Filter {
diff --git a/appserver/tests/hk2/cdi/ear/war1/src/main/java/com/oracle/hk2/devtest/cdi/ear/war1/War1.java b/appserver/tests/hk2/cdi/ear/war1/src/main/java/com/oracle/hk2/devtest/cdi/ear/war1/War1.java
index 379e568..a867869 100644
--- a/appserver/tests/hk2/cdi/ear/war1/src/main/java/com/oracle/hk2/devtest/cdi/ear/war1/War1.java
+++ b/appserver/tests/hk2/cdi/ear/war1/src/main/java/com/oracle/hk2/devtest/cdi/ear/war1/War1.java
@@ -20,10 +20,10 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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 com.oracle.hk2.devtest.cdi.ear.ejb1.Ejb1HK2Service;
 import com.oracle.hk2.devtest.cdi.ear.lib1.HK2Service;
diff --git a/appserver/tests/hk2/cdi/ear/war2/src/main/java/com/oracle/hk2/devtest/cdi/ear/war2/War2.java b/appserver/tests/hk2/cdi/ear/war2/src/main/java/com/oracle/hk2/devtest/cdi/ear/war2/War2.java
index 30581b7..9e8d988 100644
--- a/appserver/tests/hk2/cdi/ear/war2/src/main/java/com/oracle/hk2/devtest/cdi/ear/war2/War2.java
+++ b/appserver/tests/hk2/cdi/ear/war2/src/main/java/com/oracle/hk2/devtest/cdi/ear/war2/War2.java
@@ -20,10 +20,10 @@
 import java.io.PrintWriter;
 
 import jakarta.inject.Inject;
-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 com.oracle.hk2.devtest.cdi.ear.ejb1.Ejb1HK2Service;
 import com.oracle.hk2.devtest.cdi.ear.ejb2.Ejb2HK2Service;
diff --git a/appserver/tests/hk2/isolation/web/iso1/src/main/java/com/oracle/hk2/devtest/isolation/web/iso1/Iso1Servlet.java b/appserver/tests/hk2/isolation/web/iso1/src/main/java/com/oracle/hk2/devtest/isolation/web/iso1/Iso1Servlet.java
index 884aaa4..1e35857 100644
--- a/appserver/tests/hk2/isolation/web/iso1/src/main/java/com/oracle/hk2/devtest/isolation/web/iso1/Iso1Servlet.java
+++ b/appserver/tests/hk2/isolation/web/iso1/src/main/java/com/oracle/hk2/devtest/isolation/web/iso1/Iso1Servlet.java
@@ -22,11 +22,11 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.hk2.api.ServiceLocator;
 
diff --git a/appserver/tests/hk2/isolation/web/iso2/src/main/java/com/oracle/hk2/devtest/isolation/web/iso2/Iso2Servlet.java b/appserver/tests/hk2/isolation/web/iso2/src/main/java/com/oracle/hk2/devtest/isolation/web/iso2/Iso2Servlet.java
index a8997d9..d093fcb 100644
--- a/appserver/tests/hk2/isolation/web/iso2/src/main/java/com/oracle/hk2/devtest/isolation/web/iso2/Iso2Servlet.java
+++ b/appserver/tests/hk2/isolation/web/iso2/src/main/java/com/oracle/hk2/devtest/isolation/web/iso2/Iso2Servlet.java
@@ -22,11 +22,11 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.glassfish.hk2.api.ServiceLocator;
 
diff --git a/appserver/tests/osgi-javaee/osgi-web/config/common.xml b/appserver/tests/osgi-javaee/osgi-web/config/common.xml
index b6a76f9..b6530a7 100644
--- a/appserver/tests/osgi-javaee/osgi-web/config/common.xml
+++ b/appserver/tests/osgi-javaee/osgi-web/config/common.xml
@@ -39,7 +39,7 @@
   <echo message="common.xml: Compiling test source files" level="verbose"/>
   <javac srcdir="${basedir}/src"
     destdir="${build.base.dir}"
-    classpath="${env.S1AS_HOME}/modules/javax.servlet.jar:${env.S1AS_HOME}/osgi/felix/bin/felix.jar:${env.S1AS_HOME}/modules/jersey-core.jar"
+    classpath="${env.S1AS_HOME}/modules/jakarta.servlet.jar:${env.S1AS_HOME}/osgi/felix/bin/felix.jar:${env.S1AS_HOME}/modules/jersey-core.jar"
     debug="on"
     failonerror="true"/>
 </target>
diff --git a/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleController.java b/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleController.java
index ba07e96..72230f0 100644
--- a/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleController.java
+++ b/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleController.java
@@ -24,9 +24,9 @@
 import java.io.IOException;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.ws.rs.FormParam;
 import jakarta.ws.rs.POST;
 import jakarta.ws.rs.Path;
diff --git a/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleInstaller.java b/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleInstaller.java
index 77f74fb..79f2295 100644
--- a/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleInstaller.java
+++ b/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleInstaller.java
@@ -21,7 +21,7 @@
 
 package test;
 
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
 import jakarta.ws.rs.FormParam;
 import jakarta.ws.rs.POST;
 import jakarta.ws.rs.Path;
diff --git a/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleUninstaller.java b/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleUninstaller.java
index 0fe331e..6a0a848 100644
--- a/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleUninstaller.java
+++ b/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleUninstaller.java
@@ -21,8 +21,8 @@
 
 package test;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
 import jakarta.ws.rs.FormParam;
 import jakarta.ws.rs.GET;
 import jakarta.ws.rs.POST;
diff --git a/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleViewer.java b/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleViewer.java
index cb4bc56..8390a08 100644
--- a/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleViewer.java
+++ b/appserver/tests/osgi-javaee/osgi-web/framework-controller/src/main/java/test/BundleViewer.java
@@ -23,8 +23,8 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.ws.rs.GET;
 import jakarta.ws.rs.Path;
 import jakarta.ws.rs.core.Context;
diff --git a/appserver/tests/osgi-javaee/osgi-web/hybridapp1/src/main/java/sahoo/hybridapp/example1/impl/LoginServlet.java b/appserver/tests/osgi-javaee/osgi-web/hybridapp1/src/main/java/sahoo/hybridapp/example1/impl/LoginServlet.java
index 9067b95..f4b8743 100644
--- a/appserver/tests/osgi-javaee/osgi-web/hybridapp1/src/main/java/sahoo/hybridapp/example1/impl/LoginServlet.java
+++ b/appserver/tests/osgi-javaee/osgi-web/hybridapp1/src/main/java/sahoo/hybridapp/example1/impl/LoginServlet.java
@@ -19,11 +19,11 @@
 import sahoo.hybridapp.example1.UserAuthService;
 
 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;
 import java.io.PrintWriter;
 
 @WebServlet(urlPatterns = "/login")
diff --git a/appserver/tests/osgi-javaee/osgi-web/hybridapp1/src/main/java/sahoo/hybridapp/example1/impl/RegistrationServlet.java b/appserver/tests/osgi-javaee/osgi-web/hybridapp1/src/main/java/sahoo/hybridapp/example1/impl/RegistrationServlet.java
index 8157fd7..976e100 100644
--- a/appserver/tests/osgi-javaee/osgi-web/hybridapp1/src/main/java/sahoo/hybridapp/example1/impl/RegistrationServlet.java
+++ b/appserver/tests/osgi-javaee/osgi-web/hybridapp1/src/main/java/sahoo/hybridapp/example1/impl/RegistrationServlet.java
@@ -18,11 +18,11 @@
 
 import sahoo.hybridapp.example1.UserAuthService;
 
-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;
 import jakarta.ejb.EJB;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/osgi-javaee/osgi-web/test2/MANIFEST.MF b/appserver/tests/osgi-javaee/osgi-web/test2/MANIFEST.MF
index 7b3e22c..f1c6cb6 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test2/MANIFEST.MF
+++ b/appserver/tests/osgi-javaee/osgi-web/test2/MANIFEST.MF
@@ -1,5 +1,5 @@
 Bundle-SymbolicName: sahoo.rfc66.test2
 Bundle-Version: 1.0
 Bundle-ClassPath: WEB-INF/classes
-Import-Package: javax.servlet; javax.servlet.http; version=2.5
+Import-Package: jakarta.servlet; jakarta.servlet.http; version=2.5
 Web-ContextPath: /test2
diff --git a/appserver/tests/osgi-javaee/osgi-web/test2/src/main/java/example/LoginServlet.java b/appserver/tests/osgi-javaee/osgi-web/test2/src/main/java/example/LoginServlet.java
index 602f836..78282b1 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test2/src/main/java/example/LoginServlet.java
+++ b/appserver/tests/osgi-javaee/osgi-web/test2/src/main/java/example/LoginServlet.java
@@ -16,8 +16,8 @@
 
 package example;
 
-import javax.servlet.http.*;
-import javax.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.*;
 
 public class LoginServlet extends HttpServlet {
   public void service(HttpServletRequest req, HttpServletResponse res) 
diff --git a/appserver/tests/osgi-javaee/osgi-web/test2/src/main/java/example/RegistrationServlet.java b/appserver/tests/osgi-javaee/osgi-web/test2/src/main/java/example/RegistrationServlet.java
index 56ea514..dba3394 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test2/src/main/java/example/RegistrationServlet.java
+++ b/appserver/tests/osgi-javaee/osgi-web/test2/src/main/java/example/RegistrationServlet.java
@@ -16,8 +16,8 @@
 
 package example;
 
-import javax.servlet.http.*;
-import javax.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.*;
 
 public class RegistrationServlet extends HttpServlet {
   public void service(HttpServletRequest req, HttpServletResponse res) 
diff --git a/appserver/tests/osgi-javaee/osgi-web/test4/MANIFEST.MF b/appserver/tests/osgi-javaee/osgi-web/test4/MANIFEST.MF
index a5b7373..ed3d69c 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test4/MANIFEST.MF
+++ b/appserver/tests/osgi-javaee/osgi-web/test4/MANIFEST.MF
@@ -1,4 +1,4 @@
-Import-Package: javax.servlet; 
+Import-Package: jakarta.servlet; 
 Bundle-SymbolicName: sahoo.rfc66.test4
 Bundle-Version: 1.0
 Bundle-ClassPath: WEB-INF/classes
diff --git a/appserver/tests/osgi-javaee/osgi-web/test4/src/META-INF/MANIFEST.MF b/appserver/tests/osgi-javaee/osgi-web/test4/src/META-INF/MANIFEST.MF
index 619b5f0..60d6149 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test4/src/META-INF/MANIFEST.MF
+++ b/appserver/tests/osgi-javaee/osgi-web/test4/src/META-INF/MANIFEST.MF
@@ -1,10 +1,10 @@
 Manifest-Version: 1.0
 Ant-Version: Apache Ant 1.6.5
 Bundle-ClassPath: WEB-INF/classes
-Import-Package2: javax.servlet.http; version=2.5, javax.servlet.jsp; j
- avax.servlet.jsp.tagext; jakarta.el; javax.servlet.jsp.el; version=2.1
+Import-Package2: jakarta.servlet.http; version=2.5, jakarta.servlet.jsp; j
+ avax.servlet.jsp.tagext; jakarta.el; jakarta.servlet.jsp.el; version=2.1
 Created-By: 1.5.0_05-b05 (Sun Microsystems Inc.)
-Import-Package: javax.servlet; 
+Import-Package: jakarta.servlet; 
 Bundle-SymbolicName: simple-jsp
 Web-ContextPath: /test4
 
diff --git a/appserver/tests/osgi-javaee/osgi-web/test4/src/response.jsp b/appserver/tests/osgi-javaee/osgi-web/test4/src/response.jsp
index 09a6de7..9e006dd 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test4/src/response.jsp
+++ b/appserver/tests/osgi-javaee/osgi-web/test4/src/response.jsp
@@ -18,7 +18,7 @@
 
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 
-<%@ page import="javax.servlet.http.*" %>
+<%@ page import="jakarta.servlet.http.*" %>
 
 <%
     String user = (String)request.getParameter("username");
diff --git a/appserver/tests/osgi-javaee/osgi-web/test6/META-INF/MANIFEST.MF b/appserver/tests/osgi-javaee/osgi-web/test6/META-INF/MANIFEST.MF
index 1f7d98b..cab9fe9 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test6/META-INF/MANIFEST.MF
+++ b/appserver/tests/osgi-javaee/osgi-web/test6/META-INF/MANIFEST.MF
@@ -3,5 +3,5 @@
 Bundle-SymbolicName: sahoo.rfc66.test6
 Created-By: 1.6.0_07 (Sun Microsystems Inc.)
 Web-ContextPath: /test6
-Import-Package: javax.servlet; javax.servlet.http; version=2.5
+Import-Package: jakarta.servlet; jakarta.servlet.http; version=2.5
 
diff --git a/appserver/tests/osgi-javaee/osgi-web/test6/build.xml b/appserver/tests/osgi-javaee/osgi-web/test6/build.xml
index d474255..9571217 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test6/build.xml
+++ b/appserver/tests/osgi-javaee/osgi-web/test6/build.xml
@@ -48,7 +48,7 @@
   	<mkdir dir="${basedir}/WEB-INF/classes"/>
   	<javac srcdir="${basedir}/src"
     	destdir="${basedir}/WEB-INF/classes"
-        classpath="${env.S1AS_HOME}/modules/javax.servlet.jar"
+        classpath="${env.S1AS_HOME}/modules/jakarta.servlet.jar"
     	debug="on"
 	failonerror="true"/>
     </target>
diff --git a/appserver/tests/osgi-javaee/osgi-web/test6/src/main/java/example/LoginServlet.java b/appserver/tests/osgi-javaee/osgi-web/test6/src/main/java/example/LoginServlet.java
index 602f836..78282b1 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test6/src/main/java/example/LoginServlet.java
+++ b/appserver/tests/osgi-javaee/osgi-web/test6/src/main/java/example/LoginServlet.java
@@ -16,8 +16,8 @@
 
 package example;
 
-import javax.servlet.http.*;
-import javax.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.*;
 
 public class LoginServlet extends HttpServlet {
   public void service(HttpServletRequest req, HttpServletResponse res) 
diff --git a/appserver/tests/osgi-javaee/osgi-web/test6/src/main/java/example/RegistrationServlet.java b/appserver/tests/osgi-javaee/osgi-web/test6/src/main/java/example/RegistrationServlet.java
index 56ea514..dba3394 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test6/src/main/java/example/RegistrationServlet.java
+++ b/appserver/tests/osgi-javaee/osgi-web/test6/src/main/java/example/RegistrationServlet.java
@@ -16,8 +16,8 @@
 
 package example;
 
-import javax.servlet.http.*;
-import javax.servlet.*;
+import jakarta.servlet.http.*;
+import jakarta.servlet.*;
 
 public class RegistrationServlet extends HttpServlet {
   public void service(HttpServletRequest req, HttpServletResponse res) 
diff --git a/appserver/tests/osgi-javaee/osgi-web/test7/MANIFEST.MF b/appserver/tests/osgi-javaee/osgi-web/test7/MANIFEST.MF
index 7ffdc01..2e8352d 100644
--- a/appserver/tests/osgi-javaee/osgi-web/test7/MANIFEST.MF
+++ b/appserver/tests/osgi-javaee/osgi-web/test7/MANIFEST.MF
@@ -1,4 +1,4 @@
 Bundle-SymbolicName: sahoo.rfc66.test7
 Bundle-ClassPath: WEB-INF/classes
-Import-Package: javax.servlet; javax.servlet.http; version=2.5
+Import-Package: jakarta.servlet; jakarta.servlet.http; version=2.5
 Web-ContextPath: /NOTUSED
diff --git a/appserver/tests/paas/appscoped-db-with-resources-xml/src/main/java/org/glassfish/tests/paas/appscopeddbwithresourcesxml/CoffeeServlet.java b/appserver/tests/paas/appscoped-db-with-resources-xml/src/main/java/org/glassfish/tests/paas/appscopeddbwithresourcesxml/CoffeeServlet.java
index a15c993..df1456d 100644
--- a/appserver/tests/paas/appscoped-db-with-resources-xml/src/main/java/org/glassfish/tests/paas/appscopeddbwithresourcesxml/CoffeeServlet.java
+++ b/appserver/tests/paas/appscoped-db-with-resources-xml/src/main/java/org/glassfish/tests/paas/appscopeddbwithresourcesxml/CoffeeServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.appscopeddbwithresourcesxml;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/basic-db-initsql/src/main/java/org/glassfish/tests/paas/basicdbinitsql/BasicDBInitSqlServlet.java b/appserver/tests/paas/basic-db-initsql/src/main/java/org/glassfish/tests/paas/basicdbinitsql/BasicDBInitSqlServlet.java
index aa59d90..bb35f73 100644
--- a/appserver/tests/paas/basic-db-initsql/src/main/java/org/glassfish/tests/paas/basicdbinitsql/BasicDBInitSqlServlet.java
+++ b/appserver/tests/paas/basic-db-initsql/src/main/java/org/glassfish/tests/paas/basicdbinitsql/BasicDBInitSqlServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.basicdbinitsql;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/basic-db-teardown-sql/src/main/java/org/glassfish/tests/paas/basicdbteardownsql/CoffeeServlet.java b/appserver/tests/paas/basic-db-teardown-sql/src/main/java/org/glassfish/tests/paas/basicdbteardownsql/CoffeeServlet.java
index 2eb00c1..02bbf64 100644
--- a/appserver/tests/paas/basic-db-teardown-sql/src/main/java/org/glassfish/tests/paas/basicdbteardownsql/CoffeeServlet.java
+++ b/appserver/tests/paas/basic-db-teardown-sql/src/main/java/org/glassfish/tests/paas/basicdbteardownsql/CoffeeServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.basicdbteardownsql;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/basic-db-teardown-sql/src/main/java/org/glassfish/tests/paas/basicdbteardownsql/DbConnectionDetailsServlet.java b/appserver/tests/paas/basic-db-teardown-sql/src/main/java/org/glassfish/tests/paas/basicdbteardownsql/DbConnectionDetailsServlet.java
index 3f6621c..fe64e65 100644
--- a/appserver/tests/paas/basic-db-teardown-sql/src/main/java/org/glassfish/tests/paas/basicdbteardownsql/DbConnectionDetailsServlet.java
+++ b/appserver/tests/paas/basic-db-teardown-sql/src/main/java/org/glassfish/tests/paas/basicdbteardownsql/DbConnectionDetailsServlet.java
@@ -17,10 +17,10 @@
 package org.glassfish.tests.paas.basicdbteardownsql;
 
 import jakarta.annotation.Resource;
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -50,7 +50,7 @@
      * @param request  The servlet request we are processing
      * @param response The servlet response we are producing
      * @throws java.io.IOException      if an input/output error occurs
-     * @throws javax.servlet.ServletException if a servlet error occurs
+     * @throws jakarta.servlet.ServletException if a servlet error occurs
      */
     public void doGet(HttpServletRequest request,
                       HttpServletResponse response)
diff --git a/appserver/tests/paas/basic-db-with-resources-xml/src/main/java/org/glassfish/tests/paas/basicdbwithresourcesxml/CoffeeServlet.java b/appserver/tests/paas/basic-db-with-resources-xml/src/main/java/org/glassfish/tests/paas/basicdbwithresourcesxml/CoffeeServlet.java
index 1d99161..ba89f56 100644
--- a/appserver/tests/paas/basic-db-with-resources-xml/src/main/java/org/glassfish/tests/paas/basicdbwithresourcesxml/CoffeeServlet.java
+++ b/appserver/tests/paas/basic-db-with-resources-xml/src/main/java/org/glassfish/tests/paas/basicdbwithresourcesxml/CoffeeServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.basicdbwithresourcesxml;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/basic-db/src/main/java/org/glassfish/tests/paas/basicdb/BasicDBPaaSServlet.java b/appserver/tests/paas/basic-db/src/main/java/org/glassfish/tests/paas/basicdb/BasicDBPaaSServlet.java
index b39e33a..aa04f83 100644
--- a/appserver/tests/paas/basic-db/src/main/java/org/glassfish/tests/paas/basicdb/BasicDBPaaSServlet.java
+++ b/appserver/tests/paas/basic-db/src/main/java/org/glassfish/tests/paas/basicdb/BasicDBPaaSServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.basicdb;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/basic-jpa/src/main/java/org/glassfish/tests/paas/basicjpa/BasicJPAPaaSServlet.java b/appserver/tests/paas/basic-jpa/src/main/java/org/glassfish/tests/paas/basicjpa/BasicJPAPaaSServlet.java
index 86ad8db..2053514 100644
--- a/appserver/tests/paas/basic-jpa/src/main/java/org/glassfish/tests/paas/basicjpa/BasicJPAPaaSServlet.java
+++ b/appserver/tests/paas/basic-jpa/src/main/java/org/glassfish/tests/paas/basicjpa/BasicJPAPaaSServlet.java
@@ -20,10 +20,10 @@
 import java.io.PrintWriter;
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
-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.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
diff --git a/appserver/tests/paas/basic-service-discovery/src/main/java/org/glassfish/tests/paas/basicsd/BasicSDPaaSServlet.java b/appserver/tests/paas/basic-service-discovery/src/main/java/org/glassfish/tests/paas/basicsd/BasicSDPaaSServlet.java
index d0d0569..5d211ed 100644
--- a/appserver/tests/paas/basic-service-discovery/src/main/java/org/glassfish/tests/paas/basicsd/BasicSDPaaSServlet.java
+++ b/appserver/tests/paas/basic-service-discovery/src/main/java/org/glassfish/tests/paas/basicsd/BasicSDPaaSServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.basicsd;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/basic-shared-service-test/src/main/java/org/glassfish/tests/paas/basicjpa/BasicJPAPaaSServlet.java b/appserver/tests/paas/basic-shared-service-test/src/main/java/org/glassfish/tests/paas/basicjpa/BasicJPAPaaSServlet.java
index 3b21460..323d660 100644
--- a/appserver/tests/paas/basic-shared-service-test/src/main/java/org/glassfish/tests/paas/basicjpa/BasicJPAPaaSServlet.java
+++ b/appserver/tests/paas/basic-shared-service-test/src/main/java/org/glassfish/tests/paas/basicjpa/BasicJPAPaaSServlet.java
@@ -21,10 +21,10 @@
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
 import jakarta.persistence.Query;
-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 jakarta.transaction.UserTransaction;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/basic/src/main/java/org/glassfish/tests/paas/basic/BasicPaaSServlet.java b/appserver/tests/paas/basic/src/main/java/org/glassfish/tests/paas/basic/BasicPaaSServlet.java
index 8545cb0..403b783 100644
--- a/appserver/tests/paas/basic/src/main/java/org/glassfish/tests/paas/basic/BasicPaaSServlet.java
+++ b/appserver/tests/paas/basic/src/main/java/org/glassfish/tests/paas/basic/BasicPaaSServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.basic;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/bookstore/src/main/java/org/glassfish/tests/paas/basic/BookStoreServlet.java b/appserver/tests/paas/bookstore/src/main/java/org/glassfish/tests/paas/basic/BookStoreServlet.java
index 55929f7..f81f000 100644
--- a/appserver/tests/paas/bookstore/src/main/java/org/glassfish/tests/paas/basic/BookStoreServlet.java
+++ b/appserver/tests/paas/bookstore/src/main/java/org/glassfish/tests/paas/basic/BookStoreServlet.java
@@ -17,10 +17,10 @@
 package org.glassfish.tests.paas.basic;
 
 import jakarta.annotation.Resource;
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/deployment-rollback/src/main/java/org/glassfish/tests/paas/rollbacktest/RollbackTestServlet.java b/appserver/tests/paas/deployment-rollback/src/main/java/org/glassfish/tests/paas/rollbacktest/RollbackTestServlet.java
index 566e918..ec654b7 100644
--- a/appserver/tests/paas/deployment-rollback/src/main/java/org/glassfish/tests/paas/rollbacktest/RollbackTestServlet.java
+++ b/appserver/tests/paas/deployment-rollback/src/main/java/org/glassfish/tests/paas/rollbacktest/RollbackTestServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.rollbacktest;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/enable-disable-test/src/main/java/org/glassfish/tests/paas/enable_disable_test/EnableDisableServlet.java b/appserver/tests/paas/enable-disable-test/src/main/java/org/glassfish/tests/paas/enable_disable_test/EnableDisableServlet.java
index 50e12a2..8e913da 100644
--- a/appserver/tests/paas/enable-disable-test/src/main/java/org/glassfish/tests/paas/enable_disable_test/EnableDisableServlet.java
+++ b/appserver/tests/paas/enable-disable-test/src/main/java/org/glassfish/tests/paas/enable_disable_test/EnableDisableServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.enable_disable_test;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/ext-shared-service-enable-disable-test/src/main/java/org/glassfish/tests/paas/enabledisable/ExtSharedServiceEnableDisableServlet.java b/appserver/tests/paas/ext-shared-service-enable-disable-test/src/main/java/org/glassfish/tests/paas/enabledisable/ExtSharedServiceEnableDisableServlet.java
index ff578cb..4d14b25 100644
--- a/appserver/tests/paas/ext-shared-service-enable-disable-test/src/main/java/org/glassfish/tests/paas/enabledisable/ExtSharedServiceEnableDisableServlet.java
+++ b/appserver/tests/paas/ext-shared-service-enable-disable-test/src/main/java/org/glassfish/tests/paas/enabledisable/ExtSharedServiceEnableDisableServlet.java
@@ -21,10 +21,10 @@
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
 import jakarta.persistence.Query;
-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 jakarta.transaction.UserTransaction;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/external-and-shared-service/src/main/java/org/glassfish/tests/paas/external_and_shared_service/ExternalAndSharedServiceTestServlet.java b/appserver/tests/paas/external-and-shared-service/src/main/java/org/glassfish/tests/paas/external_and_shared_service/ExternalAndSharedServiceTestServlet.java
index 2a17f14..d4c5dc7 100644
--- a/appserver/tests/paas/external-and-shared-service/src/main/java/org/glassfish/tests/paas/external_and_shared_service/ExternalAndSharedServiceTestServlet.java
+++ b/appserver/tests/paas/external-and-shared-service/src/main/java/org/glassfish/tests/paas/external_and_shared_service/ExternalAndSharedServiceTestServlet.java
@@ -21,10 +21,10 @@
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
 import jakarta.persistence.Query;
-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 jakarta.transaction.UserTransaction;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/external-db-service/test/src/main/java/org/glassfish/tests/paas/externaldbservicetest/CoffeeServlet.java b/appserver/tests/paas/external-db-service/test/src/main/java/org/glassfish/tests/paas/externaldbservicetest/CoffeeServlet.java
index 6ae39e2..44cfdf9 100644
--- a/appserver/tests/paas/external-db-service/test/src/main/java/org/glassfish/tests/paas/externaldbservicetest/CoffeeServlet.java
+++ b/appserver/tests/paas/external-db-service/test/src/main/java/org/glassfish/tests/paas/externaldbservicetest/CoffeeServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.externaldbservicetest;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/javaee_shared_service/src/main/java/org/glassfish/tests/paas/javaee_shared_service/BookStoreServlet.java b/appserver/tests/paas/javaee_shared_service/src/main/java/org/glassfish/tests/paas/javaee_shared_service/BookStoreServlet.java
index 0a81cc5..4995966 100644
--- a/appserver/tests/paas/javaee_shared_service/src/main/java/org/glassfish/tests/paas/javaee_shared_service/BookStoreServlet.java
+++ b/appserver/tests/paas/javaee_shared_service/src/main/java/org/glassfish/tests/paas/javaee_shared_service/BookStoreServlet.java
@@ -17,10 +17,10 @@
 package org.glassfish.tests.paas.javaee_shared_service;
 
 import jakarta.annotation.Resource;
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/lazy-shared-service-test/src/main/java/org/glassfish/tests/paas/lazysharedservice/BasicDBPaaSServlet.java b/appserver/tests/paas/lazy-shared-service-test/src/main/java/org/glassfish/tests/paas/lazysharedservice/BasicDBPaaSServlet.java
index 0caa028..bd604a9 100644
--- a/appserver/tests/paas/lazy-shared-service-test/src/main/java/org/glassfish/tests/paas/lazysharedservice/BasicDBPaaSServlet.java
+++ b/appserver/tests/paas/lazy-shared-service-test/src/main/java/org/glassfish/tests/paas/lazysharedservice/BasicDBPaaSServlet.java
@@ -17,10 +17,10 @@
 package org.glassfish.tests.paas.lazysharedservice;
 
 import jakarta.annotation.Resource;
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -42,7 +42,7 @@
      * @param request  The servlet request we are processing
      * @param response The servlet response we are producing
      * @throws java.io.IOException      if an input/output error occurs
-     * @throws javax.servlet.ServletException if a servlet error occurs
+     * @throws jakarta.servlet.ServletException if a servlet error occurs
      */
     public void doGet(HttpServletRequest request,
                       HttpServletResponse response)
diff --git a/appserver/tests/paas/mq-shared-service-test/mq-app/web/src/main/java/com/sun/s1asdev/ejb/ejb30/hello/mdb/web/TestServlet.java b/appserver/tests/paas/mq-shared-service-test/mq-app/web/src/main/java/com/sun/s1asdev/ejb/ejb30/hello/mdb/web/TestServlet.java
index 26642ba..4fb189d 100644
--- a/appserver/tests/paas/mq-shared-service-test/mq-app/web/src/main/java/com/sun/s1asdev/ejb/ejb30/hello/mdb/web/TestServlet.java
+++ b/appserver/tests/paas/mq-shared-service-test/mq-app/web/src/main/java/com/sun/s1asdev/ejb/ejb30/hello/mdb/web/TestServlet.java
@@ -20,12 +20,12 @@
 import java.io.PrintWriter;
 import java.util.Enumeration;
 
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-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.WebInitParam;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import java.io.*;
 import java.util.*;
diff --git a/appserver/tests/paas/multiple-db-app-scoped-services/advanced/src/main/java/org/glassfish/tests/paas/multipleappscopedservicetest/EmployeeServlet.java b/appserver/tests/paas/multiple-db-app-scoped-services/advanced/src/main/java/org/glassfish/tests/paas/multipleappscopedservicetest/EmployeeServlet.java
index 6e6224b..f121631 100644
--- a/appserver/tests/paas/multiple-db-app-scoped-services/advanced/src/main/java/org/glassfish/tests/paas/multipleappscopedservicetest/EmployeeServlet.java
+++ b/appserver/tests/paas/multiple-db-app-scoped-services/advanced/src/main/java/org/glassfish/tests/paas/multipleappscopedservicetest/EmployeeServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.multipleappscopedservicetest;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/multiple-db-app-scoped-services/basic/src/main/java/org/glassfish/tests/paas/multipleappscopedservicetest/EmployeeServlet.java b/appserver/tests/paas/multiple-db-app-scoped-services/basic/src/main/java/org/glassfish/tests/paas/multipleappscopedservicetest/EmployeeServlet.java
index 53c0e05..05f14bf 100644
--- a/appserver/tests/paas/multiple-db-app-scoped-services/basic/src/main/java/org/glassfish/tests/paas/multipleappscopedservicetest/EmployeeServlet.java
+++ b/appserver/tests/paas/multiple-db-app-scoped-services/basic/src/main/java/org/glassfish/tests/paas/multipleappscopedservicetest/EmployeeServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.multipleappscopedservicetest;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/multiple-db-shared-services/advanced/src/main/java/org/glassfish/tests/paas/multipleshareddbservicetest/EmployeeServlet.java b/appserver/tests/paas/multiple-db-shared-services/advanced/src/main/java/org/glassfish/tests/paas/multipleshareddbservicetest/EmployeeServlet.java
index 6feec3d..4a3b193 100644
--- a/appserver/tests/paas/multiple-db-shared-services/advanced/src/main/java/org/glassfish/tests/paas/multipleshareddbservicetest/EmployeeServlet.java
+++ b/appserver/tests/paas/multiple-db-shared-services/advanced/src/main/java/org/glassfish/tests/paas/multipleshareddbservicetest/EmployeeServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.multipleshareddbservicetest;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/multiple-db-shared-services/basic/src/main/java/org/glassfish/tests/paas/multipleshareddbservicetest/EmployeeServlet.java b/appserver/tests/paas/multiple-db-shared-services/basic/src/main/java/org/glassfish/tests/paas/multipleshareddbservicetest/EmployeeServlet.java
index 6feec3d..4a3b193 100644
--- a/appserver/tests/paas/multiple-db-shared-services/basic/src/main/java/org/glassfish/tests/paas/multipleshareddbservicetest/EmployeeServlet.java
+++ b/appserver/tests/paas/multiple-db-shared-services/basic/src/main/java/org/glassfish/tests/paas/multipleshareddbservicetest/EmployeeServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.multipleshareddbservicetest;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/multiple-spe-test/spetest/src/main/java/org/glassfish/tests/paas/spetest/BasicJPAPaaSServlet.java b/appserver/tests/paas/multiple-spe-test/spetest/src/main/java/org/glassfish/tests/paas/spetest/BasicJPAPaaSServlet.java
index 1fcb552..8969f1e 100644
--- a/appserver/tests/paas/multiple-spe-test/spetest/src/main/java/org/glassfish/tests/paas/spetest/BasicJPAPaaSServlet.java
+++ b/appserver/tests/paas/multiple-spe-test/spetest/src/main/java/org/glassfish/tests/paas/spetest/BasicJPAPaaSServlet.java
@@ -21,10 +21,10 @@
 import jakarta.persistence.EntityManagerFactory;
 import jakarta.persistence.PersistenceUnit;
 import jakarta.persistence.Query;
-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 jakarta.transaction.UserTransaction;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/scale_service/src/main/java/org/glassfish/tests/paas/scale_service/ScaleServicePaaSServlet.java b/appserver/tests/paas/scale_service/src/main/java/org/glassfish/tests/paas/scale_service/ScaleServicePaaSServlet.java
index 47d2e13..5ff6521 100644
--- a/appserver/tests/paas/scale_service/src/main/java/org/glassfish/tests/paas/scale_service/ScaleServicePaaSServlet.java
+++ b/appserver/tests/paas/scale_service/src/main/java/org/glassfish/tests/paas/scale_service/ScaleServicePaaSServlet.java
@@ -16,11 +16,11 @@
 
 package org.glassfish.tests.paas.scale_service;
 
-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;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
diff --git a/appserver/tests/paas/service_metadata/custom_db_name/src/main/java/org/glassfish/tests/paas/customdbname/CustomDBNameServlet.java b/appserver/tests/paas/service_metadata/custom_db_name/src/main/java/org/glassfish/tests/paas/customdbname/CustomDBNameServlet.java
index 51cd143..e5deb18 100644
--- a/appserver/tests/paas/service_metadata/custom_db_name/src/main/java/org/glassfish/tests/paas/customdbname/CustomDBNameServlet.java
+++ b/appserver/tests/paas/service_metadata/custom_db_name/src/main/java/org/glassfish/tests/paas/customdbname/CustomDBNameServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.customdbname;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/paas/service_metadata/provision_using_specified_template/src/main/java/org/glassfish/tests/paas/basic/BasicPaaSServlet.java b/appserver/tests/paas/service_metadata/provision_using_specified_template/src/main/java/org/glassfish/tests/paas/basic/BasicPaaSServlet.java
index 8545cb0..403b783 100644
--- a/appserver/tests/paas/service_metadata/provision_using_specified_template/src/main/java/org/glassfish/tests/paas/basic/BasicPaaSServlet.java
+++ b/appserver/tests/paas/service_metadata/provision_using_specified_template/src/main/java/org/glassfish/tests/paas/basic/BasicPaaSServlet.java
@@ -16,10 +16,10 @@
 
 package org.glassfish.tests.paas.basic;
 
-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 javax.sql.DataSource;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/pom.xml b/appserver/tests/pom.xml
index 7d2f4d5..0e63f8f 100755
--- a/appserver/tests/pom.xml
+++ b/appserver/tests/pom.xml
@@ -104,7 +104,7 @@
                     <pattern>appserv-tests/devtests/admin/cli/mac</pattern>
                     <pattern>appserv-tests/devtests/admin/cli/resources/ssh/identity</pattern>
                     <pattern>appserv-tests/devtests/security/web-mutual-ssl/certificate/testcert1.p12</pattern>
-                    <pattern>appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/descriptor/services/javax.servlet.ServletContainerInitializer</pattern>
+                    <pattern>appserv-tests/devtests/web/servlet-3.0/servletContainerInitializerAddRestrictedServletContextListener/descriptor/services/jakarta.servlet.ServletContainerInitializer</pattern>
                     <pattern>appserv-tests/devtests/jdbc/JdbcCommon.properties</pattern> 
 		    <pattern>appserv-tests/devtests/connector/testdb</pattern>
 		    <pattern>appserv-tests/devtests/connector/connector1.5/ra/src/${admin.password.file}</pattern>
diff --git a/appserver/tests/quicklook/bean-validator/integration-test-servlet/src/java/integration_test_servlet/BVIntegrationTestServlet.java b/appserver/tests/quicklook/bean-validator/integration-test-servlet/src/java/integration_test_servlet/BVIntegrationTestServlet.java
index b7e5f8c..47cdeb0 100644
--- a/appserver/tests/quicklook/bean-validator/integration-test-servlet/src/java/integration_test_servlet/BVIntegrationTestServlet.java
+++ b/appserver/tests/quicklook/bean-validator/integration-test-servlet/src/java/integration_test_servlet/BVIntegrationTestServlet.java
@@ -23,10 +23,10 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
-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 jakarta.validation.Configuration;
 import jakarta.validation.ConstraintViolation;
 import jakarta.validation.Validation;
diff --git a/appserver/tests/quicklook/bean-validator/integration-test-servlet/src/java/integration_test_servlet/ValidatorFactoryInjectionTestServlet.java b/appserver/tests/quicklook/bean-validator/integration-test-servlet/src/java/integration_test_servlet/ValidatorFactoryInjectionTestServlet.java
index 162e19f..0875744 100644
--- a/appserver/tests/quicklook/bean-validator/integration-test-servlet/src/java/integration_test_servlet/ValidatorFactoryInjectionTestServlet.java
+++ b/appserver/tests/quicklook/bean-validator/integration-test-servlet/src/java/integration_test_servlet/ValidatorFactoryInjectionTestServlet.java
@@ -22,10 +22,10 @@
 import java.util.List;
 import java.util.Set;
 import jakarta.annotation.Resource;
-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 jakarta.validation.ConstraintViolation;
 import jakarta.validation.Validator;
 import jakarta.validation.ValidatorFactory;
diff --git a/appserver/tests/quicklook/bean-validator/simple-bv-servlet/src/java/simple_bv_servlet/SimpleBVServlet.java b/appserver/tests/quicklook/bean-validator/simple-bv-servlet/src/java/simple_bv_servlet/SimpleBVServlet.java
index 84bfb47..d8a99d9 100644
--- a/appserver/tests/quicklook/bean-validator/simple-bv-servlet/src/java/simple_bv_servlet/SimpleBVServlet.java
+++ b/appserver/tests/quicklook/bean-validator/simple-bv-servlet/src/java/simple_bv_servlet/SimpleBVServlet.java
@@ -16,10 +16,10 @@
 
 package simple_bv_servlet;
 
-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 jakarta.validation.ConstraintViolation;
 import jakarta.validation.Validation;
 import jakarta.validation.ValidatorContext;
diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/client/RosterServlet.java b/appserver/tests/quicklook/ejb/cmp/src/java/client/RosterServlet.java
index ca5339f..bca622f 100644
--- a/appserver/tests/quicklook/ejb/cmp/src/java/client/RosterServlet.java
+++ b/appserver/tests/quicklook/ejb/cmp/src/java/client/RosterServlet.java
@@ -22,10 +22,10 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
-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 roster.Roster;
 import roster.RosterHome;
 import util.LeagueDetails;
diff --git a/appserver/tests/quicklook/ejb/sfulnoi/src/java/SfulServlet.java b/appserver/tests/quicklook/ejb/sfulnoi/src/java/SfulServlet.java
index c080de4..1abf35e 100644
--- a/appserver/tests/quicklook/ejb/sfulnoi/src/java/SfulServlet.java
+++ b/appserver/tests/quicklook/ejb/sfulnoi/src/java/SfulServlet.java
@@ -17,8 +17,8 @@
 package sfulnoi;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.ejb.EJB;
 
 public class SfulServlet extends HttpServlet {
diff --git a/appserver/tests/quicklook/ejb/singleton/src/java/TestServlet.java b/appserver/tests/quicklook/ejb/singleton/src/java/TestServlet.java
index 668a572..e73d2e2 100644
--- a/appserver/tests/quicklook/ejb/singleton/src/java/TestServlet.java
+++ b/appserver/tests/quicklook/ejb/singleton/src/java/TestServlet.java
@@ -22,8 +22,8 @@
 import jakarta.ejb.EJB;
 import javax.naming.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
    
diff --git a/appserver/tests/quicklook/ejb/slsbnicmt/src/java/AnnotatedServlet.java b/appserver/tests/quicklook/ejb/slsbnicmt/src/java/AnnotatedServlet.java
index 9ca6a82..2fb0652 100644
--- a/appserver/tests/quicklook/ejb/slsbnicmt/src/java/AnnotatedServlet.java
+++ b/appserver/tests/quicklook/ejb/slsbnicmt/src/java/AnnotatedServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.net.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.ejb.EJB;
 import javax.sql.DataSource;
 import jakarta.transaction.UserTransaction;
diff --git a/appserver/tests/quicklook/jdbc/jdbcusertx/src/java/MyServlet.java b/appserver/tests/quicklook/jdbc/jdbcusertx/src/java/MyServlet.java
index 2417cd6..cbc31d0 100644
--- a/appserver/tests/quicklook/jdbc/jdbcusertx/src/java/MyServlet.java
+++ b/appserver/tests/quicklook/jdbc/jdbcusertx/src/java/MyServlet.java
@@ -20,8 +20,8 @@
 import java.lang.reflect.Constructor;
 import java.net.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 import java.util.Map;
 import jakarta.annotation.Resource;
diff --git a/appserver/tests/quicklook/jms/injection/src/java/TestServlet.java b/appserver/tests/quicklook/jms/injection/src/java/TestServlet.java
index b828d4d..e7d6e25 100644
--- a/appserver/tests/quicklook/jms/injection/src/java/TestServlet.java
+++ b/appserver/tests/quicklook/jms/injection/src/java/TestServlet.java
@@ -22,8 +22,8 @@
 import jakarta.ejb.EJB;
 import javax.naming.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
 
diff --git a/appserver/tests/quicklook/osgitest/basicosgi/src/java/HelloServlet.java b/appserver/tests/quicklook/osgitest/basicosgi/src/java/HelloServlet.java
index 9d312ef..7a6451c 100644
--- a/appserver/tests/quicklook/osgitest/basicosgi/src/java/HelloServlet.java
+++ b/appserver/tests/quicklook/osgitest/basicosgi/src/java/HelloServlet.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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;
 
 
 /**
diff --git a/appserver/tests/quicklook/osgitest/basicosgi/src/test/HelloOSGITestNG.java b/appserver/tests/quicklook/osgitest/basicosgi/src/test/HelloOSGITestNG.java
index 97feb96..51f9fb8 100644
--- a/appserver/tests/quicklook/osgitest/basicosgi/src/test/HelloOSGITestNG.java
+++ b/appserver/tests/quicklook/osgitest/basicosgi/src/test/HelloOSGITestNG.java
@@ -42,7 +42,7 @@
     public boolean retStatus = false;
     final String cname = "osgi";
     final String flag = "true";
-    final String options = "UriScheme=webBundle:Bundle-SymbolicName=bar:Import-Package=javax.servlet;javax.servlet.http:Web-ContextPath=/osgitest";
+    final String options = "UriScheme=webBundle:Bundle-SymbolicName=bar:Import-Package=jakarta.servlet;jakarta.servlet.http:Web-ContextPath=/osgitest";
 
     private String strContextRoot="osgitest";
 
diff --git a/appserver/tests/quicklook/persistence/jpainjectemf/src/java/JpaServlet.java b/appserver/tests/quicklook/persistence/jpainjectemf/src/java/JpaServlet.java
index bd8c756..9f8ff4f 100644
--- a/appserver/tests/quicklook/persistence/jpainjectemf/src/java/JpaServlet.java
+++ b/appserver/tests/quicklook/persistence/jpainjectemf/src/java/JpaServlet.java
@@ -19,8 +19,8 @@
 import jakarta.persistence.*;
 import jakarta.transaction.*;
 import jakarta.annotation.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.io.*;
 
 
diff --git a/appserver/tests/quicklook/persistence/jpavalidation/src/java/TestServlet.java b/appserver/tests/quicklook/persistence/jpavalidation/src/java/TestServlet.java
index 837d9fb..1ab1cf3 100644
--- a/appserver/tests/quicklook/persistence/jpavalidation/src/java/TestServlet.java
+++ b/appserver/tests/quicklook/persistence/jpavalidation/src/java/TestServlet.java
@@ -17,10 +17,10 @@
 package myapp;
 
 import jakarta.ejb.EJB;
-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;
 import java.io.PrintWriter;
 
diff --git a/appserver/tests/quicklook/security/appperms/src/java/TestServlet.java b/appserver/tests/quicklook/security/appperms/src/java/TestServlet.java
index f77abed..20cd67a 100644
--- a/appserver/tests/quicklook/security/appperms/src/java/TestServlet.java
+++ b/appserver/tests/quicklook/security/appperms/src/java/TestServlet.java
@@ -24,8 +24,8 @@
 import jakarta.ejb.EJB;
 import javax.naming.*;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class TestServlet extends HttpServlet {
    
diff --git a/appserver/tests/quicklook/security/helloworld/src/java/HelloServlet.java b/appserver/tests/quicklook/security/helloworld/src/java/HelloServlet.java
index 4b14b63..61f4288 100644
--- a/appserver/tests/quicklook/security/helloworld/src/java/HelloServlet.java
+++ b/appserver/tests/quicklook/security/helloworld/src/java/HelloServlet.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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;
 
 
 /**
diff --git a/appserver/tests/quicklook/web/helloworld/src/java/HelloServlet.java b/appserver/tests/quicklook/web/helloworld/src/java/HelloServlet.java
index 4b14b63..61f4288 100644
--- a/appserver/tests/quicklook/web/helloworld/src/java/HelloServlet.java
+++ b/appserver/tests/quicklook/web/helloworld/src/java/HelloServlet.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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;
 
 
 /**
diff --git a/appserver/tests/quicklook/web/jsfinjection/src/java/FilterTest.java b/appserver/tests/quicklook/web/jsfinjection/src/java/FilterTest.java
index 9c0ce2f..898240a 100644
--- a/appserver/tests/quicklook/web/jsfinjection/src/java/FilterTest.java
+++ b/appserver/tests/quicklook/web/jsfinjection/src/java/FilterTest.java
@@ -17,8 +17,8 @@
 package jsfinjection;
 
 import jakarta.annotation.Resource;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 import javax.naming.*;
 
@@ -32,7 +32,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
 
         String msg = "PASS";
@@ -62,7 +62,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/quicklook/web/strutsbasic/metadata/validator-rules.xml b/appserver/tests/quicklook/web/strutsbasic/metadata/validator-rules.xml
index 5fddd93..65c249e 100644
--- a/appserver/tests/quicklook/web/strutsbasic/metadata/validator-rules.xml
+++ b/appserver/tests/quicklook/web/strutsbasic/metadata/validator-rules.xml
@@ -75,7 +75,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
                   msg="errors.required"/>
 
       <validator name="requiredif"
@@ -86,7 +86,7 @@
                                org.apache.commons.validator.Field,
                                org.apache.struts.action.ActionMessages,
                                org.apache.commons.validator.Validator,
-                               javax.servlet.http.HttpServletRequest"
+                               jakarta.servlet.http.HttpServletRequest"
                  msg="errors.required"/>
 
       <validator name="validwhen"
@@ -98,7 +98,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"/>
+                       jakarta.servlet.http.HttpServletRequest"/>
 
 
       <validator name="minlength"
@@ -109,7 +109,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.minlength"
            jsFunction="org.apache.commons.validator.javascript.validateMinLength"/>
@@ -123,7 +123,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.maxlength"
            jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>
@@ -138,7 +138,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.invalid"/>
 
@@ -151,7 +151,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.byte"
        jsFunctionName="ByteValidations"/>
@@ -165,7 +165,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.short"
        jsFunctionName="ShortValidations"/>
@@ -179,7 +179,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.integer"
        jsFunctionName="IntegerValidations"/>
@@ -194,7 +194,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.long"/>
 
@@ -207,7 +207,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.float"
        jsFunctionName="FloatValidations"/>
@@ -220,7 +220,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.double"/>
 
@@ -233,7 +233,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.date"
        jsFunctionName="DateValidations"/>
@@ -247,7 +247,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends="integer"
                   msg="errors.range"/>
 
@@ -260,7 +260,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends="float"
                   msg="errors.range"/>
 
@@ -272,7 +272,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends="double"
                   msg="errors.range"/>
 
@@ -285,7 +285,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.creditcard"/>
 
@@ -298,7 +298,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.email"/>
 
@@ -310,7 +310,7 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        org.apache.commons.validator.Validator,
-                       javax.servlet.http.HttpServletRequest"
+                       jakarta.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.url"/>
 
diff --git a/appserver/tests/quicklook/weld/extensions/src/java/extensions/ExtensionBeanServlet.java b/appserver/tests/quicklook/weld/extensions/src/java/extensions/ExtensionBeanServlet.java
index fba7756..20ce021 100644
--- a/appserver/tests/quicklook/weld/extensions/src/java/extensions/ExtensionBeanServlet.java
+++ b/appserver/tests/quicklook/weld/extensions/src/java/extensions/ExtensionBeanServlet.java
@@ -29,10 +29,10 @@
 import jakarta.enterprise.inject.spi.ProcessInjectionTarget;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-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;
 
 /**
  * Check that TestExtensionBean is deployed and accessible,
diff --git a/appserver/tests/quicklook/weld/extensions/src/java/extensions/JarExtensionBeanServlet.java b/appserver/tests/quicklook/weld/extensions/src/java/extensions/JarExtensionBeanServlet.java
index 1750a35..1c94d26 100644
--- a/appserver/tests/quicklook/weld/extensions/src/java/extensions/JarExtensionBeanServlet.java
+++ b/appserver/tests/quicklook/weld/extensions/src/java/extensions/JarExtensionBeanServlet.java
@@ -24,9 +24,9 @@
 import jakarta.enterprise.context.spi.CreationalContext;
 import jakarta.enterprise.inject.spi.InjectionTarget;
 import jakarta.enterprise.inject.spi.ProcessInjectionTarget;
-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;
 
 /**
  * Check that ExtensionBean is deployed and accessible
diff --git a/appserver/tests/quicklook/weld/extensions/src/java/extensions/WebBeanServlet.java b/appserver/tests/quicklook/weld/extensions/src/java/extensions/WebBeanServlet.java
index 66c8c6e..e2ba279 100644
--- a/appserver/tests/quicklook/weld/extensions/src/java/extensions/WebBeanServlet.java
+++ b/appserver/tests/quicklook/weld/extensions/src/java/extensions/WebBeanServlet.java
@@ -30,10 +30,10 @@
 import jakarta.enterprise.inject.spi.ProcessInjectionTarget;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-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;
 
 /**
  * Test that WebBean is deployed and accessible.
diff --git a/appserver/tests/quicklook/weld/osgiweld/metadata/weld-osgi.properties b/appserver/tests/quicklook/weld/osgiweld/metadata/weld-osgi.properties
index e3c8a70..0e11c0c 100644
--- a/appserver/tests/quicklook/weld/osgiweld/metadata/weld-osgi.properties
+++ b/appserver/tests/quicklook/weld/osgiweld/metadata/weld-osgi.properties
@@ -63,4 +63,4 @@
 #exports = javax.inject;version="1.0",javax.decorator;uses:="javax.enterprise.inject";version="1.0",javax.enterprise.inject;uses:="javax.inject,javax.enterprise.util,javax.enterprise.context";version="1.0",javax.enterprise.inject.spi;uses:="javax.enterprise.context.spi,javax.el,javax.enterprise.inject,javax.interceptor,javax.enterprise.event";version="1.0",javax.enterprise.context.spi;version="1.0",javax.enterprise.context;uses:="javax.inject";version="1.0",javax.enterprise.util;version="1.0",javax.enterprise.event;uses:="javax.enterprise.util";version="1.0",org.jboss.weld.context;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld,org.jboss.weld.context.api,org.jboss.weld.serialization.spi,javax.enterprise.context.spi,javax.enterprise.context,org.jboss.weld.manager,org.jboss.weld.event,javax.enterprise.inject,org.jboss.weld.injection.spi,org.jboss.weld.construction.api,org.jboss.weld.util,org.jboss.weld.serialization.spi.helpers,javax.enterprise.inject.spi";version="1.0",org.jboss.weld.ejb;uses:="org.jboss.weld.manager,org.jboss.weld.event,org.jboss.weld.context,javax.enterprise.inject,javax.interceptor,org.jboss.weld.bootstrap.api,javax.enterprise.inject.spi,org.jboss.weld.util,org.jboss.weld.resources.spi,org.jboss.weld.bean,org.jboss.weld.ejb.spi,org.jboss.weld.ejb.spi.helpers,org.jboss.weld.injection,org.jboss.weld";version="1.0",org.jboss.weld.bean;uses:="org.jboss.weld.bootstrap.api,javax.enterprise.inject.spi,org.jboss.weld.manager,javax.enterprise.context,org.jboss.weld.bootstrap,javax.enterprise.inject,javax.inject,org.jboss.weld.interceptor.spi.model,org.jboss.weld.util,javax.enterprise.context.spi,org.jboss.weld.injection,javax.enterprise.event,org.jboss.weld.interceptor.spi.metadata,javax.interceptor,org.jboss.weld.context,org.jboss.weld.ejb,org.jboss.weld.bean.proxy,org.jboss.weld.ejb.spi,org.jboss.weld.ejb.api,javax.decorator";version="1.0",org.jboss.weld.bean.builtin;uses:="javax.enterprise.context,javax.enterprise.inject,org.jboss.weld.bootstrap.api,javax.enterprise.inject.spi,org.jboss.weld.bootstrap,org.jboss.weld.manager,org.jboss.weld.bean,org.jboss.weld.context,org.jboss.weld.injection,javax.enterprise.context.spi,org.jboss.weld.util,org.jboss.weld.bean.proxy,org.jboss.weld,javax.enterprise.util,org.jboss.weld.event,javax.enterprise.event,org.jboss.weld.bootstrap.spi,org.jboss.weld.ejb";version="1.0",org.jboss.weld.bean.proxy;uses:="javax.enterprise.inject.spi,org.jboss.weld.util,org.jboss.weld,org.jboss.weld.bootstrap.api,org.jboss.weld.serialization.spi,javax.enterprise.context.spi,javax.enterprise.context,org.jboss.weld.manager,org.jboss.weld.context,org.jboss.weld.injection,org.jboss.weld.serialization.spi.helpers,javax.inject,org.jboss.weld.bean,org.jboss.weld.ejb,org.jboss.weld.ejb.api";version="1.0",org.jboss.weld.servlet.api;uses:="javax.servlet,javax.servlet.http";version="1.0",org.jboss.weld.bootstrap.api;uses:="org.jboss.weld.bootstrap.spi,javax.enterprise.inject.spi,org.jboss.weld.manager.api,org.jboss.weld.ejb.spi,org.jboss.weld.transaction.spi,org.jboss.weld.injection.spi,org.jboss.weld.security.spi,org.jboss.weld.resources.spi,org.jboss.weld.bootstrap.api.helpers";version="1.0",org.jboss.weld.context.api;uses:="javax.enterprise.context.spi";version="1.0",org.jboss.weld.servlet.api.helpers;uses:="org.jboss.weld.servlet.api,javax.servlet,javax.servlet.http";version="1.0",org.jboss.weld.bootstrap.api.helpers;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.bootstrap.spi,org.jboss.weld.manager.api";version="1.0",org.jboss.weld.ejb.api;version="1.0",org.jboss.weld.manager.api;uses:="org.jboss.weld.bootstrap.api,javax.enterprise.inject.spi,org.jboss.weld.ejb.spi,javax.enterprise.inject,org.jboss.weld.construction.api,javax.enterprise.context.spi";version="1.0",org.jboss.weld.construction.api;uses:="javax.enterprise.inject.spi,javax.enterprise.context.spi";version="1.0",org.jboss.weld.interceptor.spi.model;uses:="org.jboss.weld.interceptor.spi.metadata,javax.enterprise.inject.spi";version="1.0",org.jboss.weld.ejb.spi.helpers;uses:="org.jboss.weld.ejb.spi,org.jboss.weld.ejb.api";version="1.0",org.jboss.weld.validation.spi;uses:="org.jboss.weld.bootstrap.api,jakarta.validation";version="1.0",org.jboss.weld.serialization.spi;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.serialization.spi.helpers,javax.enterprise.context.spi";version="1.0",org.jboss.weld.interceptor.spi.context;uses:="javax.interceptor";version="1.0",org.jboss.weld.interceptor.spi.metadata;uses:="org.jboss.weld.manager,javax.enterprise.context.spi,org.jboss.weld.interceptor.spi.model";version="1.0",org.jboss.weld.transaction.spi;uses:="org.jboss.weld.bootstrap.api,javax.transaction";version="1.0",org.jboss.weld.injection.spi.helpers;uses:="javax.enterprise.inject.spi,org.jboss.weld.injection.spi,javax.annotation,javax.naming,org.jboss.weld.bootstrap.api,javax.persistence";version="1.0",org.jboss.weld.serialization.spi.helpers;uses:="javax.enterprise.context.spi,org.jboss.weld.context.api";version="1.0",org.jboss.weld.bootstrap.spi;uses:="org.jboss.weld.ejb.spi,org.jboss.weld.bootstrap.api,javax.enterprise.inject.spi";version="1.0",org.jboss.weld.injection.spi;uses:="org.jboss.weld.bootstrap.api,javax.enterprise.inject.spi,javax.persistence";version="1.0",org.jboss.weld.resources.spi;uses:="org.jboss.weld.bootstrap.api";version="1.0",org.jboss.weld.interceptor.spi.instance;uses:="org.jboss.weld.interceptor.spi.metadata";version="1.0",org.jboss.weld.resources.spi.helpers;uses:="org.jboss.weld.resources.spi";version="1.0",org.jboss.weld.bootstrap.spi.helpers;uses:="org.jboss.weld.bootstrap.spi,org.jboss.weld.resources.spi,org.jboss.weld.ejb.spi";version="1.0",org.jboss.weld.ejb.spi;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.ejb.api,javax.enterprise.inject.spi";version="1.0",org.jboss.weld.security.spi;uses:="org.jboss.weld.bootstrap.api";version="1.0",org.jboss.weld;uses:="org.jboss.weld.bootstrap.spi,org.jboss.weld.bootstrap.api,org.jboss.weld.bootstrap,org.jboss.weld.manager,org.jboss.weld.bean.builtin,javax.enterprise.inject.spi,javax.enterprise.util,javax.enterprise.inject";version="1.0",org.jboss.weld.bootstrap;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.manager,org.jboss.weld.util,javax.enterprise.inject,org.jboss.weld.bean.builtin,org.jboss.weld,javax.enterprise.inject.spi,org.jboss.weld.event,org.jboss.weld.ejb,org.jboss.weld.bean,org.jboss.weld.interceptor.spi.model,javax.annotation,javax.interceptor,org.jboss.weld.ejb.spi,javax.decorator,org.jboss.weld.resources.spi,javax.enterprise.event,org.jboss.weld.bootstrap.spi,org.jboss.weld.transaction.spi,org.jboss.weld.bootstrap.api.helpers,javax.enterprise.context.spi,org.jboss.weld.security.spi,org.jboss.weld.manager.api,org.jboss.weld.interceptor.spi.metadata,javax.enterprise.context,javax.inject,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.spi.helpers,org.jboss.weld.injection,org.jboss.weld.context";version="1.0",org.jboss.weld.event;uses:="org.jboss.weld.injection,javax.enterprise.inject.spi,org.jboss.weld,org.jboss.weld.manager,org.jboss.weld.context,javax.enterprise.inject,org.jboss.weld.bean.builtin,javax.enterprise.util,javax.enterprise.event,javax.enterprise.context.spi,org.jboss.weld.util,org.jboss.weld.bean,org.jboss.weld.bootstrap.api,javax.enterprise.context,javax.inject,org.jboss.weld.transaction.spi,javax.transaction";version="1.0",org.jboss.weld.injection;uses:="javax.enterprise.inject.spi,org.jboss.weld.manager,org.jboss.weld.util,org.jboss.weld.context,org.jboss.weld.injection.spi,javax.enterprise.context.spi,org.jboss.weld.construction.api,javax.enterprise.inject,org.jboss.weld,org.jboss.weld.bootstrap.api,org.jboss.weld.bean.proxy,javax.enterprise.event,javax.inject,org.jboss.weld.ejb";version="1.0",org.jboss.weld.manager;uses:="org.jboss.weld.bootstrap.api,javax.enterprise.inject.spi,org.jboss.weld.bean,javax.enterprise.util,org.jboss.weld.interceptor.spi.model,org.jboss.weld.bean.proxy,org.jboss.weld.bootstrap,org.jboss.weld.util,javax.enterprise.inject,org.jboss.weld.injection,org.jboss.weld.ejb.spi,org.jboss.weld.bean.builtin,javax.el,org.jboss.weld,org.jboss.weld.interceptor.spi.metadata,org.jboss.weld.event,org.jboss.weld.context,org.jboss.weld.ejb,org.jboss.weld.serialization.spi,javax.enterprise.context.spi,org.jboss.weld.el,org.jboss.weld.manager.api,org.jboss.weld.construction.api,org.jboss.weld.bootstrap.spi,org.jboss.weld.injection.spi,javax.decorator";version="1.0",org.jboss.weld.servlet;uses:="org.jboss.weld.manager,org.jboss.weld.context,org.jboss.weld.event,javax.enterprise.inject,javax.servlet.http,javax.servlet,javax.inject,javax.enterprise.context,javax.faces.context,org.jboss.weld.jsf,org.jboss.weld,javax.enterprise.context.spi,org.jboss.weld.bootstrap.api,javax.enterprise.inject.spi,org.jboss.weld.bean.builtin,org.jboss.weld.servlet.api.helpers";version="1.0",org.jboss.weld.util;uses:="javax.enterprise.inject.spi,org.jboss.weld.resources.spi,javax.annotation,org.jboss.weld.manager,javax.enterprise.event,javax.enterprise.inject,org.jboss.weld.injection,javax.inject,org.jboss.weld.bootstrap,org.jboss.weld.interceptor.spi.model,org.jboss.weld.bootstrap.api,javax.interceptor,org.jboss.weld.ejb.spi,org.jboss.weld,javax.enterprise.context.spi,javax.decorator,org.jboss.weld.bean,org.jboss.weld.serialization.spi,org.jboss.weld.bean.proxy,org.jboss.weld.bootstrap.spi,javax.el,org.jboss.weld.event";version="1.0",org.jboss.weld.el;uses:="javax.el,javax.enterprise.inject.spi,org.jboss.weld.manager,org.jboss.weld.context,javax.enterprise.context.spi,javax.enterprise.context,org.jboss.weld.bean.proxy";version="1.0",org.jboss.weld.jsf;uses:="javax.enterprise.context,org.jboss.weld,javax.faces.application,javax.faces.context,org.jboss.weld.manager,org.jboss.weld.context,javax.enterprise.inject,org.jboss.weld.bootstrap.api,org.jboss.weld.util,org.jboss.weld.resources.spi";version="1.0"
 
 #exports for 2.2.9.Final:
-exports = org.jboss.weld.bootstrap.api.helpers;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.bootstrap.spi,org.jboss.weld.manager.api";version="2.2.9.Final",org.jboss.weld.servlet.api.helpers;uses:="javax.servlet,javax.servlet.http,org.jboss.weld.servlet.api";version="2.2.9.Final",org.jboss.weld.context.api;uses:="jakarta.enterprise.context.spi";version="2.2.9.Final",org.jboss.weld.construction.api;uses:="jakarta.enterprise.inject.spi,jakarta.enterprise.context.spi";version="2.2.9.Final",org.jboss.weld.ejb.api;version="2.2.9.Final",org.jboss.weld.bootstrap.api;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.bootstrap.spi,org.jboss.weld.manager.api,org.jboss.weld.transaction.spi,org.jboss.weld.resources.spi,org.jboss.weld.security.spi,org.jboss.weld.injection.spi,org.jboss.weld.bootstrap.api.helpers";version="2.2.9.Final",org.jboss.weld.servlet.api;uses:="javax.servlet,javax.servlet.http";version="2.2.9.Final",org.jboss.weld.manager.api;uses:="org.jboss.weld.bootstrap.api,jakarta.enterprise.inject.spi,org.jboss.weld.serialization.spi,jakarta.enterprise.inject,org.jboss.weld.construction.api,org.jboss.weld.ejb.spi,jakarta.enterprise.context.spi";version="2.2.9.Final",org.jboss.weld.ejb.spi;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.ejb.api,jakarta.enterprise.inject.spi";version="2.2.9.Final",org.jboss.weld.serialization.spi.helpers;uses:="jakarta.enterprise.context.spi,org.jboss.weld.context.api";version="2.2.9.Final",org.jboss.weld.injection.spi.helpers;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.injection.spi,javax.annotation,org.jboss.weld.bootstrap.api,javax.naming,jakarta.persistence";version="2.2.9.Final",org.jboss.weld.servlet.spi;uses:="org.jboss.weld.bootstrap.api,javax.servlet.http";version="2.2.9.Final",org.jboss.weld.security.spi;uses:="org.jboss.weld.bootstrap.api";version="2.2.9.Final",org.jboss.weld.interceptor.spi.metadata;uses:="org.jboss.weld.manager,jakarta.enterprise.context.spi,org.jboss.weld.interceptor.spi.model";version="2.2.9.Final",org.jboss.weld.bootstrap.spi;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.ejb.spi,jakarta.enterprise.inject.spi";version="2.2.9.Final",org.jboss.weld.interceptor.spi.model;uses:="org.jboss.weld.interceptor.spi.metadata,jakarta.enterprise.inject.spi";version="2.2.9.Final",org.jboss.weld.injection.spi;uses:="org.jboss.weld.bootstrap.api,jakarta.enterprise.inject.spi,jakarta.persistence";version="2.2.9.Final",org.jboss.weld.transaction.spi;uses:="org.jboss.weld.bootstrap.api,jakarta.transaction";version="2.2.9.Final",org.jboss.weld.ejb.spi.helpers;uses:="org.jboss.weld.ejb.spi,org.jboss.weld.ejb.api";version="2.2.9.Final",org.jboss.weld.servlet.spi.helpers;uses:="javax.servlet.http,org.jboss.weld.servlet.spi";version="2.2.9.Final",org.jboss.weld.bootstrap.spi.helpers;uses:="org.jboss.weld.bootstrap.spi,org.jboss.weld.resources.spi,org.jboss.weld.ejb.spi";version="2.2.9.Final",org.jboss.weld.serialization.spi;uses:="org.jboss.weld.serialization.spi.helpers,org.jboss.weld.bootstrap.api,jakarta.enterprise.context.spi";version="2.2.9.Final",org.jboss.weld.resources.spi;uses:="org.jboss.weld.bootstrap.api";version="2.2.9.Final",org.jboss.weld.resources.spi.helpers;uses:="org.jboss.weld.resources.spi";version="2.2.9.Final",org.jboss.weld.validation.spi;uses:="org.jboss.weld.bootstrap.api,jakarta.validation";version="2.2.9.Final",org.jboss.weld;uses:="jakarta.enterprise.inject.spi,jakarta.enterprise.util,jakarta.enterprise.inject,org.jboss.weld.manager,org.jboss.weld.bean.builtin,com.google.common.collect,org.jboss.weld.bootstrap,org.jboss.weld.bootstrap.api,org.jboss.weld.bootstrap.spi,org.jboss.weld.bootstrap.api.helpers,com.google.common.cache";version="2.2.9.Final",org.jboss.weld.bean;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.bootstrap,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.api,jakarta.enterprise.context,jakarta.inject,org.jboss.weld.interceptor.spi.model,org.jboss.weld.util,com.google.common.base,jakarta.enterprise.context.spi,org.jboss.weld.injection,org.jboss.weld.ejb.spi,jakarta.enterprise.event,jakarta.interceptor,org.jboss.weld.interceptor.spi.metadata,org.jboss.weld.context,org.jboss.weld.ejb,org.jboss.weld.ejb.api,jakarta.decorator,org.jboss.weld.bean.proxy";version="2.2.9.Final",org.jboss.weld.bean.builtin;uses:="jakarta.enterprise.inject,jakarta.enterprise.context,com.google.common.collect,org.jboss.weld.bootstrap,org.jboss.weld.serialization.spi,org.jboss.weld.bean,jakarta.enterprise.inject.spi,org.jboss.weld.manager,org.jboss.weld.bootstrap.api,org.jboss.weld.context,jakarta.enterprise.context.spi,org.jboss.weld.injection,org.jboss.weld.util,org.jboss.weld.bean.proxy,org.jboss.weld.bootstrap.spi,org.jboss.weld.construction.api,org.jboss.weld.ejb.spi,org.jboss.weld.manager.api,org.jboss.weld,jakarta.enterprise.util,org.jboss.weld.event,jakarta.enterprise.event,org.jboss.weld.ejb,com.google.common.base";version="2.2.9.Final",org.jboss.weld.bean.proxy;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.util,jakarta.enterprise.context,com.google.common.collect,jakarta.enterprise.context.spi,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.api,org.jboss.weld,com.google.common.cache,org.jboss.weld.manager,org.jboss.weld.injection,org.jboss.weld.context,org.jboss.weld.serialization.spi.helpers,org.jboss.weld.bean,jakarta.inject,org.jboss.weld.ejb,org.jboss.weld.ejb.api,org.jboss.weld.resources.spi,org.jboss.weld.bootstrap.api.helpers";version="2.2.9.Final",org.jboss.weld.bootstrap;uses:="org.jboss.weld.ejb,jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.bootstrap.api,org.jboss.weld.util,org.jboss.weld.event,org.jboss.weld.bean,org.jboss.weld.bean.builtin,javax.annotation,org.jboss.weld.bootstrap.spi,org.jboss.weld.resources.spi,jakarta.interceptor,org.jboss.weld.interceptor.spi.model,jakarta.decorator,org.jboss.weld.ejb.spi,com.google.common.cache,org.jboss.weld,com.google.common.collect,jakarta.enterprise.event,com.google.common.base,org.jboss.weld.security.spi,jakarta.enterprise.context.spi,org.jboss.weld.transaction.spi,org.jboss.weld.servlet,org.jboss.weld.bootstrap.api.helpers,org.jboss.weld.manager.api,org.jboss.weld.interceptor.spi.metadata,jakarta.enterprise.context,jakarta.inject,org.jboss.weld.context,org.jboss.weld.servlet.spi.helpers,org.jboss.weld.bootstrap.spi.helpers,org.jboss.weld.servlet.spi,org.jboss.weld.serialization.spi,org.jboss.weld.injection,org.jboss.weld.bean.proxy";version="2.2.9.Final",org.jboss.weld.context;uses:="org.jboss.weld.bean,org.jboss.weld.context.api,jakarta.enterprise.context.spi,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.api,jakarta.enterprise.context,org.jboss.weld,org.jboss.weld.manager,org.jboss.weld.event,org.jboss.weld.injection.spi,org.jboss.weld.construction.api,org.jboss.weld.serialization.spi.helpers,org.jboss.weld.util,jakarta.enterprise.inject.spi";version="2.2.9.Final",org.jboss.weld.ejb;uses:="jakarta.interceptor,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.event,org.jboss.weld.context,org.jboss.weld.bootstrap.api,org.jboss.weld.bean,org.jboss.weld.util,jakarta.enterprise.inject.spi,org.jboss.weld.resources.spi,com.google.common.base,org.jboss.weld.ejb.spi,com.google.common.collect,org.jboss.weld.ejb.spi.helpers,org.jboss.weld.injection,org.jboss.weld.bootstrap.api.helpers,org.jboss.weld";version="2.2.9.Final",org.jboss.weld.el;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.context,org.jboss.weld.context,jakarta.enterprise.context.spi,jakarta.el";version="2.2.9.Final",org.jboss.weld.event;uses:="org.jboss.weld.injection,jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.context,org.jboss.weld,org.jboss.weld.bean.builtin,jakarta.enterprise.util,jakarta.enterprise.context.spi,org.jboss.weld.util,jakarta.enterprise.event,com.google.common.collect,org.jboss.weld.bean,org.jboss.weld.bootstrap.api,com.google.common.base,jakarta.enterprise.context,jakarta.inject,com.google.common.cache,org.jboss.weld.transaction.spi,jakarta.transaction";version="2.2.9.Final",org.jboss.weld.injection;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.util,org.jboss.weld.injection.spi,org.jboss.weld.context,jakarta.enterprise.context.spi,org.jboss.weld.construction.api,org.jboss.weld.bootstrap.api,org.jboss.weld,org.jboss.weld.bean.proxy,jakarta.enterprise.event,jakarta.inject,org.jboss.weld.bean.builtin,org.jboss.weld.event,org.jboss.weld.ejb,com.google.common.collect";version="2.2.9.Final",org.jboss.weld.jsf;uses:="org.jboss.weld.manager,jakarta.enterprise.inject,jakarta.faces.application,org.jboss.weld.bootstrap.api.helpers,org.jboss.weld.context,org.jboss.weld,jakarta.faces.context,org.jboss.weld.bootstrap.api,org.jboss.weld.util,org.jboss.weld.resources.spi";version="2.2.9.Final",org.jboss.weld.manager;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.bean,jakarta.enterprise.inject.spi,com.google.common.base,com.google.common.collect,jakarta.enterprise.util,org.jboss.weld.ejb,jakarta.enterprise.inject,org.jboss.weld.interceptor.spi.model,jakarta.enterprise.context.spi,org.jboss.weld.injection,org.jboss.weld.util,jakarta.enterprise.context,org.jboss.weld.ejb.spi,org.jboss.weld.event,jakarta.el,org.jboss.weld.bean.proxy,org.jboss.weld.construction.api,org.jboss.weld.bootstrap,org.jboss.weld.serialization.spi,org.jboss.weld.el,org.jboss.weld.bean.builtin,org.jboss.weld.context,org.jboss.weld,org.jboss.weld.manager.api,org.jboss.weld.bootstrap.spi,jakarta.interceptor,org.jboss.weld.injection.spi,jakarta.decorator";version="2.2.9.Final",org.jboss.weld.servlet;uses:="javax.servlet.http,org.jboss.weld.util,org.jboss.weld.manager,org.jboss.weld.event,jakarta.enterprise.inject,org.jboss.weld.context,javax.servlet,org.jboss.weld.servlet.spi,jakarta.inject,org.jboss.weld.jsf,jakarta.enterprise.context,jakarta.faces.context,org.jboss.weld.bootstrap.api.helpers,jakarta.enterprise.context.spi,org.jboss.weld,org.jboss.weld.bootstrap.api,org.jboss.weld.resources.spi,jakarta.enterprise.inject.spi,org.jboss.weld.bean.builtin,org.jboss.weld.servlet.api,org.jboss.weld.servlet.api.helpers";version="2.2.9.Final",org.jboss.weld.util;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.bootstrap.api,org.jboss.weld.resources.spi,com.google.common.base,javax.annotation,org.jboss.weld.interceptor.spi.model,com.google.common.collect,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.injection,jakarta.inject,jakarta.enterprise.event,jakarta.interceptor,org.jboss.weld.ejb,jakarta.enterprise.context.spi,jakarta.decorator,jakarta.enterprise.context,org.jboss.weld.ejb.spi,org.jboss.weld.bean,org.jboss.weld.bootstrap,org.jboss.weld.bean.proxy,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.spi,jakarta.el,org.jboss.weld.event";version="2.2.9.Final"
\ No newline at end of file
+exports = org.jboss.weld.bootstrap.api.helpers;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.bootstrap.spi,org.jboss.weld.manager.api";version="2.2.9.Final",org.jboss.weld.servlet.api.helpers;uses:="jakarta.servlet,jakarta.servlet.http,org.jboss.weld.servlet.api";version="2.2.9.Final",org.jboss.weld.context.api;uses:="jakarta.enterprise.context.spi";version="2.2.9.Final",org.jboss.weld.construction.api;uses:="jakarta.enterprise.inject.spi,jakarta.enterprise.context.spi";version="2.2.9.Final",org.jboss.weld.ejb.api;version="2.2.9.Final",org.jboss.weld.bootstrap.api;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.bootstrap.spi,org.jboss.weld.manager.api,org.jboss.weld.transaction.spi,org.jboss.weld.resources.spi,org.jboss.weld.security.spi,org.jboss.weld.injection.spi,org.jboss.weld.bootstrap.api.helpers";version="2.2.9.Final",org.jboss.weld.servlet.api;uses:="jakarta.servlet,jakarta.servlet.http";version="2.2.9.Final",org.jboss.weld.manager.api;uses:="org.jboss.weld.bootstrap.api,jakarta.enterprise.inject.spi,org.jboss.weld.serialization.spi,jakarta.enterprise.inject,org.jboss.weld.construction.api,org.jboss.weld.ejb.spi,jakarta.enterprise.context.spi";version="2.2.9.Final",org.jboss.weld.ejb.spi;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.ejb.api,jakarta.enterprise.inject.spi";version="2.2.9.Final",org.jboss.weld.serialization.spi.helpers;uses:="jakarta.enterprise.context.spi,org.jboss.weld.context.api";version="2.2.9.Final",org.jboss.weld.injection.spi.helpers;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.injection.spi,javax.annotation,org.jboss.weld.bootstrap.api,javax.naming,jakarta.persistence";version="2.2.9.Final",org.jboss.weld.servlet.spi;uses:="org.jboss.weld.bootstrap.api,jakarta.servlet.http";version="2.2.9.Final",org.jboss.weld.security.spi;uses:="org.jboss.weld.bootstrap.api";version="2.2.9.Final",org.jboss.weld.interceptor.spi.metadata;uses:="org.jboss.weld.manager,jakarta.enterprise.context.spi,org.jboss.weld.interceptor.spi.model";version="2.2.9.Final",org.jboss.weld.bootstrap.spi;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.ejb.spi,jakarta.enterprise.inject.spi";version="2.2.9.Final",org.jboss.weld.interceptor.spi.model;uses:="org.jboss.weld.interceptor.spi.metadata,jakarta.enterprise.inject.spi";version="2.2.9.Final",org.jboss.weld.injection.spi;uses:="org.jboss.weld.bootstrap.api,jakarta.enterprise.inject.spi,jakarta.persistence";version="2.2.9.Final",org.jboss.weld.transaction.spi;uses:="org.jboss.weld.bootstrap.api,jakarta.transaction";version="2.2.9.Final",org.jboss.weld.ejb.spi.helpers;uses:="org.jboss.weld.ejb.spi,org.jboss.weld.ejb.api";version="2.2.9.Final",org.jboss.weld.servlet.spi.helpers;uses:="jakarta.servlet.http,org.jboss.weld.servlet.spi";version="2.2.9.Final",org.jboss.weld.bootstrap.spi.helpers;uses:="org.jboss.weld.bootstrap.spi,org.jboss.weld.resources.spi,org.jboss.weld.ejb.spi";version="2.2.9.Final",org.jboss.weld.serialization.spi;uses:="org.jboss.weld.serialization.spi.helpers,org.jboss.weld.bootstrap.api,jakarta.enterprise.context.spi";version="2.2.9.Final",org.jboss.weld.resources.spi;uses:="org.jboss.weld.bootstrap.api";version="2.2.9.Final",org.jboss.weld.resources.spi.helpers;uses:="org.jboss.weld.resources.spi";version="2.2.9.Final",org.jboss.weld.validation.spi;uses:="org.jboss.weld.bootstrap.api,jakarta.validation";version="2.2.9.Final",org.jboss.weld;uses:="jakarta.enterprise.inject.spi,jakarta.enterprise.util,jakarta.enterprise.inject,org.jboss.weld.manager,org.jboss.weld.bean.builtin,com.google.common.collect,org.jboss.weld.bootstrap,org.jboss.weld.bootstrap.api,org.jboss.weld.bootstrap.spi,org.jboss.weld.bootstrap.api.helpers,com.google.common.cache";version="2.2.9.Final",org.jboss.weld.bean;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.bootstrap,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.api,jakarta.enterprise.context,jakarta.inject,org.jboss.weld.interceptor.spi.model,org.jboss.weld.util,com.google.common.base,jakarta.enterprise.context.spi,org.jboss.weld.injection,org.jboss.weld.ejb.spi,jakarta.enterprise.event,jakarta.interceptor,org.jboss.weld.interceptor.spi.metadata,org.jboss.weld.context,org.jboss.weld.ejb,org.jboss.weld.ejb.api,jakarta.decorator,org.jboss.weld.bean.proxy";version="2.2.9.Final",org.jboss.weld.bean.builtin;uses:="jakarta.enterprise.inject,jakarta.enterprise.context,com.google.common.collect,org.jboss.weld.bootstrap,org.jboss.weld.serialization.spi,org.jboss.weld.bean,jakarta.enterprise.inject.spi,org.jboss.weld.manager,org.jboss.weld.bootstrap.api,org.jboss.weld.context,jakarta.enterprise.context.spi,org.jboss.weld.injection,org.jboss.weld.util,org.jboss.weld.bean.proxy,org.jboss.weld.bootstrap.spi,org.jboss.weld.construction.api,org.jboss.weld.ejb.spi,org.jboss.weld.manager.api,org.jboss.weld,jakarta.enterprise.util,org.jboss.weld.event,jakarta.enterprise.event,org.jboss.weld.ejb,com.google.common.base";version="2.2.9.Final",org.jboss.weld.bean.proxy;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.util,jakarta.enterprise.context,com.google.common.collect,jakarta.enterprise.context.spi,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.api,org.jboss.weld,com.google.common.cache,org.jboss.weld.manager,org.jboss.weld.injection,org.jboss.weld.context,org.jboss.weld.serialization.spi.helpers,org.jboss.weld.bean,jakarta.inject,org.jboss.weld.ejb,org.jboss.weld.ejb.api,org.jboss.weld.resources.spi,org.jboss.weld.bootstrap.api.helpers";version="2.2.9.Final",org.jboss.weld.bootstrap;uses:="org.jboss.weld.ejb,jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.bootstrap.api,org.jboss.weld.util,org.jboss.weld.event,org.jboss.weld.bean,org.jboss.weld.bean.builtin,javax.annotation,org.jboss.weld.bootstrap.spi,org.jboss.weld.resources.spi,jakarta.interceptor,org.jboss.weld.interceptor.spi.model,jakarta.decorator,org.jboss.weld.ejb.spi,com.google.common.cache,org.jboss.weld,com.google.common.collect,jakarta.enterprise.event,com.google.common.base,org.jboss.weld.security.spi,jakarta.enterprise.context.spi,org.jboss.weld.transaction.spi,org.jboss.weld.servlet,org.jboss.weld.bootstrap.api.helpers,org.jboss.weld.manager.api,org.jboss.weld.interceptor.spi.metadata,jakarta.enterprise.context,jakarta.inject,org.jboss.weld.context,org.jboss.weld.servlet.spi.helpers,org.jboss.weld.bootstrap.spi.helpers,org.jboss.weld.servlet.spi,org.jboss.weld.serialization.spi,org.jboss.weld.injection,org.jboss.weld.bean.proxy";version="2.2.9.Final",org.jboss.weld.context;uses:="org.jboss.weld.bean,org.jboss.weld.context.api,jakarta.enterprise.context.spi,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.api,jakarta.enterprise.context,org.jboss.weld,org.jboss.weld.manager,org.jboss.weld.event,org.jboss.weld.injection.spi,org.jboss.weld.construction.api,org.jboss.weld.serialization.spi.helpers,org.jboss.weld.util,jakarta.enterprise.inject.spi";version="2.2.9.Final",org.jboss.weld.ejb;uses:="jakarta.interceptor,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.event,org.jboss.weld.context,org.jboss.weld.bootstrap.api,org.jboss.weld.bean,org.jboss.weld.util,jakarta.enterprise.inject.spi,org.jboss.weld.resources.spi,com.google.common.base,org.jboss.weld.ejb.spi,com.google.common.collect,org.jboss.weld.ejb.spi.helpers,org.jboss.weld.injection,org.jboss.weld.bootstrap.api.helpers,org.jboss.weld";version="2.2.9.Final",org.jboss.weld.el;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.context,org.jboss.weld.context,jakarta.enterprise.context.spi,jakarta.el";version="2.2.9.Final",org.jboss.weld.event;uses:="org.jboss.weld.injection,jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.context,org.jboss.weld,org.jboss.weld.bean.builtin,jakarta.enterprise.util,jakarta.enterprise.context.spi,org.jboss.weld.util,jakarta.enterprise.event,com.google.common.collect,org.jboss.weld.bean,org.jboss.weld.bootstrap.api,com.google.common.base,jakarta.enterprise.context,jakarta.inject,com.google.common.cache,org.jboss.weld.transaction.spi,jakarta.transaction";version="2.2.9.Final",org.jboss.weld.injection;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.util,org.jboss.weld.injection.spi,org.jboss.weld.context,jakarta.enterprise.context.spi,org.jboss.weld.construction.api,org.jboss.weld.bootstrap.api,org.jboss.weld,org.jboss.weld.bean.proxy,jakarta.enterprise.event,jakarta.inject,org.jboss.weld.bean.builtin,org.jboss.weld.event,org.jboss.weld.ejb,com.google.common.collect";version="2.2.9.Final",org.jboss.weld.jsf;uses:="org.jboss.weld.manager,jakarta.enterprise.inject,jakarta.faces.application,org.jboss.weld.bootstrap.api.helpers,org.jboss.weld.context,org.jboss.weld,jakarta.faces.context,org.jboss.weld.bootstrap.api,org.jboss.weld.util,org.jboss.weld.resources.spi";version="2.2.9.Final",org.jboss.weld.manager;uses:="org.jboss.weld.bootstrap.api,org.jboss.weld.bean,jakarta.enterprise.inject.spi,com.google.common.base,com.google.common.collect,jakarta.enterprise.util,org.jboss.weld.ejb,jakarta.enterprise.inject,org.jboss.weld.interceptor.spi.model,jakarta.enterprise.context.spi,org.jboss.weld.injection,org.jboss.weld.util,jakarta.enterprise.context,org.jboss.weld.ejb.spi,org.jboss.weld.event,jakarta.el,org.jboss.weld.bean.proxy,org.jboss.weld.construction.api,org.jboss.weld.bootstrap,org.jboss.weld.serialization.spi,org.jboss.weld.el,org.jboss.weld.bean.builtin,org.jboss.weld.context,org.jboss.weld,org.jboss.weld.manager.api,org.jboss.weld.bootstrap.spi,jakarta.interceptor,org.jboss.weld.injection.spi,jakarta.decorator";version="2.2.9.Final",org.jboss.weld.servlet;uses:="jakarta.servlet.http,org.jboss.weld.util,org.jboss.weld.manager,org.jboss.weld.event,jakarta.enterprise.inject,org.jboss.weld.context,jakarta.servlet,org.jboss.weld.servlet.spi,jakarta.inject,org.jboss.weld.jsf,jakarta.enterprise.context,jakarta.faces.context,org.jboss.weld.bootstrap.api.helpers,jakarta.enterprise.context.spi,org.jboss.weld,org.jboss.weld.bootstrap.api,org.jboss.weld.resources.spi,jakarta.enterprise.inject.spi,org.jboss.weld.bean.builtin,org.jboss.weld.servlet.api,org.jboss.weld.servlet.api.helpers";version="2.2.9.Final",org.jboss.weld.util;uses:="jakarta.enterprise.inject.spi,org.jboss.weld.bootstrap.api,org.jboss.weld.resources.spi,com.google.common.base,javax.annotation,org.jboss.weld.interceptor.spi.model,com.google.common.collect,org.jboss.weld.manager,jakarta.enterprise.inject,org.jboss.weld.injection,jakarta.inject,jakarta.enterprise.event,jakarta.interceptor,org.jboss.weld.ejb,jakarta.enterprise.context.spi,jakarta.decorator,jakarta.enterprise.context,org.jboss.weld.ejb.spi,org.jboss.weld.bean,org.jboss.weld.bootstrap,org.jboss.weld.bean.proxy,org.jboss.weld.serialization.spi,org.jboss.weld.bootstrap.spi,jakarta.el,org.jboss.weld.event";version="2.2.9.Final"
\ No newline at end of file
diff --git a/appserver/tests/quicklook/weld/osgiweld/src/java/osgiweld/OsgiWeldServlet.java b/appserver/tests/quicklook/weld/osgiweld/src/java/osgiweld/OsgiWeldServlet.java
index 4872436..35aab37 100644
--- a/appserver/tests/quicklook/weld/osgiweld/src/java/osgiweld/OsgiWeldServlet.java
+++ b/appserver/tests/quicklook/weld/osgiweld/src/java/osgiweld/OsgiWeldServlet.java
@@ -25,10 +25,10 @@
 import java.util.jar.Attributes;
 import java.util.jar.JarFile;
 import java.util.jar.Manifest;
-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;
 
 /**
  * Test integrity of OSGi Weld Module.
diff --git a/appserver/tests/sse/videoplayer/src/main/java/org/glassfish/sse/videoplayer/PlayerServlet.java b/appserver/tests/sse/videoplayer/src/main/java/org/glassfish/sse/videoplayer/PlayerServlet.java
index 6eca38d..0bf880e 100644
--- a/appserver/tests/sse/videoplayer/src/main/java/org/glassfish/sse/videoplayer/PlayerServlet.java
+++ b/appserver/tests/sse/videoplayer/src/main/java/org/glassfish/sse/videoplayer/PlayerServlet.java
@@ -18,8 +18,8 @@
 
 import org.glassfish.sse.api.*;
 
-import javax.servlet.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.*;
+import jakarta.servlet.http.*;
 import jakarta.inject.Inject;
 import java.io.IOException;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/community/web/helloworld/src/myapp/java/Hello.java b/appserver/tests/v2-tests/appserv-tests/community/web/helloworld/src/myapp/java/Hello.java
index 9894d8d..c6164dc 100644
--- a/appserver/tests/v2-tests/appserv-tests/community/web/helloworld/src/myapp/java/Hello.java
+++ b/appserver/tests/v2-tests/appserv-tests/community/web/helloworld/src/myapp/java/Hello.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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;
 
 
 /**
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/callflow/dbreader/servlet/dbReader.java b/appserver/tests/v2-tests/appserv-tests/devtests/callflow/dbreader/servlet/dbReader.java
index 35e1824..52be7be 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/callflow/dbreader/servlet/dbReader.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/callflow/dbreader/servlet/dbReader.java
@@ -27,8 +27,8 @@
 import java.sql.*;
 import jakarta.annotation.Resource;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.sql.DataSource;
 import com.sun.enterprise.admin.monitor.callflow.Agent;
 import com.sun.enterprise.Switch;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/callflow/simpleServlet/servlet/SimpleServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/callflow/simpleServlet/servlet/SimpleServlet.java
index 64fc68c..bb53ad2 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/callflow/simpleServlet/servlet/SimpleServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/callflow/simpleServlet/servlet/SimpleServlet.java
@@ -15,8 +15,8 @@
  */
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class SimpleServlet extends HttpServlet {
     
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/descriptor/web.xml b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/descriptor/web.xml
index a59b0a7..a74e6fe 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/descriptor/web.xml
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/descriptor/web.xml
@@ -20,7 +20,7 @@
 <web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
   <display-name>bookstore3</display-name>
   <context-param>
-    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
+    <param-name>jakarta.servlet.jsp.jstl.fmt.localizationContext</param-name>
     <param-value>messages.BookstoreMessages</param-value>
   </context-param>
   <listener>
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/docroot/template/screendefinitions.jspf b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/docroot/template/screendefinitions.jspf
index 0010d0a..d6a6978 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/docroot/template/screendefinitions.jspf
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/docroot/template/screendefinitions.jspf
@@ -19,7 +19,7 @@
 
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 
-<tt:definition name="bookstore" screen="${requestScope['javax.servlet.forward.servlet_path']}">
+<tt:definition name="bookstore" screen="${requestScope['jakarta.servlet.forward.servlet_path']}">
   <tt:screen screenId="/bookstore">
     <tt:parameter name="title" value="Duke's Bookstore" direct="true"/>
     <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/dispatcher/Dispatcher.java b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/dispatcher/Dispatcher.java
index c85bbe1..690e3d3 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/dispatcher/Dispatcher.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/dispatcher/Dispatcher.java
@@ -16,8 +16,8 @@
 
 package dispatcher;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.util.*;
 import cart.ShoppingCart;
 import database.*;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/listeners/ContextListener.java b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/listeners/ContextListener.java
index 33e21be..43d51cd 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/listeners/ContextListener.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/listeners/ContextListener.java
@@ -17,7 +17,7 @@
 package listeners;
 
 import database.BookDBAO;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 
 public final class ContextListener implements ServletContextListener {
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/DefinitionTag.java b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/DefinitionTag.java
index 055a185..1d528ff 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/DefinitionTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/DefinitionTag.java
@@ -16,9 +16,9 @@
 
 package template;
 
-import javax.servlet.jsp.JspTagException;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspTagException;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 import java.util.*;
 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/InsertTag.java b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/InsertTag.java
index de8441f..30c67c6 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/InsertTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/InsertTag.java
@@ -16,10 +16,10 @@
 
 package template;
 
-import javax.servlet.ServletException;
-import javax.servlet.jsp.JspTagException;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.jsp.JspTagException;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 import java.util.HashMap;
 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/ParameterTag.java b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/ParameterTag.java
index eb9d472..f3ab639 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/ParameterTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/ParameterTag.java
@@ -16,8 +16,8 @@
 
 package template;
 
-import javax.servlet.jsp.tagext.*;
-import javax.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.PageContext;
 import java.util.*;
 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/ScreenTag.java b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/ScreenTag.java
index 68bb848..e1d202c 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/ScreenTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/classloader/servlet/src/template/ScreenTag.java
@@ -16,8 +16,8 @@
 
 package template;
 
-import javax.servlet.jsp.tagext.SimpleTagSupport;
-import javax.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.PageContext;
 import java.util.*;
 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/cascadeDelete/client/Client.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/cascadeDelete/client/Client.java
index a0d20a0..e020681 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/cascadeDelete/client/Client.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/cascadeDelete/client/Client.java
@@ -20,8 +20,8 @@
  * Created on February 21, 2003, 3:20 PM
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/cascadeDelete/servlet/Servlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/cascadeDelete/servlet/Servlet.java
index 54106c7..b47962b 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/cascadeDelete/servlet/Servlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/cascadeDelete/servlet/Servlet.java
@@ -20,8 +20,8 @@
  * Created on December 23, 2002, 3:20 PM
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 /**
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/copySemantics/client/Client.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/copySemantics/client/Client.java
index ac8d4de..39c23aa 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/copySemantics/client/Client.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/copySemantics/client/Client.java
@@ -20,8 +20,8 @@
  * Created on February 21, 2003, 3:20 PM
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/createExceptionsTest/client/Client.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/createExceptionsTest/client/Client.java
index 15d1b1b..189e3ae 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/createExceptionsTest/client/Client.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/createExceptionsTest/client/Client.java
@@ -22,8 +22,8 @@
 
 import java.util.Collection;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/fieldtest/client/Client.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/fieldtest/client/Client.java
index 623c3db..4031153 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/fieldtest/client/Client.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/fieldtest/client/Client.java
@@ -20,8 +20,8 @@
  * Created on February 21, 2003, 3:20 PM
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/inheritedpk/client/Client.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/inheritedpk/client/Client.java
index e7aa31e..c7de062 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/inheritedpk/client/Client.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/inheritedpk/client/Client.java
@@ -20,8 +20,8 @@
  * Created on February 21, 2003, 3:20 PM
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/j2eeguide_product/servlet/ProductServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/j2eeguide_product/servlet/ProductServlet.java
index d5a5cc6..c758435 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/j2eeguide_product/servlet/ProductServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/j2eeguide_product/servlet/ProductServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.rmi.PortableRemoteObject;
 import javax.naming.InitialContext;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/partSupplier/client/Client.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/partSupplier/client/Client.java
index dd6d5a0..8875f23 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/partSupplier/client/Client.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/partSupplier/client/Client.java
@@ -20,8 +20,8 @@
  * Created on February 21, 2003, 3:20 PM
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/partSupplier/servlet/Servlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/partSupplier/servlet/Servlet.java
index 1247c11..6d5c7ca 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/partSupplier/servlet/Servlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/partSupplier/servlet/Servlet.java
@@ -22,9 +22,9 @@
 
 package client;
 
-import javax.servlet.*;
+import jakarta.servlet.*;
 import javax.naming.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
 import javax.rmi.PortableRemoteObject;
 import Data.SPSession;
 import Data.SPSessionHome;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/roster2Teams/client/RosterClient.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/roster2Teams/client/RosterClient.java
index 8d111aa..166bdf2 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/roster2Teams/client/RosterClient.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/roster2Teams/client/RosterClient.java
@@ -24,8 +24,8 @@
 import javax.rmi.PortableRemoteObject;
 import util.*;
 import roster.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import roster.Roster;
 import roster.RosterHome;
 import util.LeagueDetails;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/roster2Teams/servlet/RosterServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/roster2Teams/servlet/RosterServlet.java
index 4fe3dc3..81ade04 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/roster2Teams/servlet/RosterServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/roster2Teams/servlet/RosterServlet.java
@@ -22,10 +22,10 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
-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 roster.Roster;
 import roster.RosterHome;
 import util.LeagueDetails;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterGenDBSchema/servlet/RosterServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterGenDBSchema/servlet/RosterServlet.java
index 4fe3dc3..81ade04 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterGenDBSchema/servlet/RosterServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterGenDBSchema/servlet/RosterServlet.java
@@ -22,10 +22,10 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
-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 roster.Roster;
 import roster.RosterHome;
 import util.LeagueDetails;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterJava2DB/client/RosterClient.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterJava2DB/client/RosterClient.java
index 8d111aa..166bdf2 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterJava2DB/client/RosterClient.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterJava2DB/client/RosterClient.java
@@ -24,8 +24,8 @@
 import javax.rmi.PortableRemoteObject;
 import util.*;
 import roster.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import roster.Roster;
 import roster.RosterHome;
 import util.LeagueDetails;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterJava2DB/servlet/RosterServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterJava2DB/servlet/RosterServlet.java
index 4fe3dc3..81ade04 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterJava2DB/servlet/RosterServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterJava2DB/servlet/RosterServlet.java
@@ -22,10 +22,10 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
-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 roster.Roster;
 import roster.RosterHome;
 import util.LeagueDetails;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterVC/servlet/RosterServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterVC/servlet/RosterServlet.java
index 4fe3dc3..81ade04 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterVC/servlet/RosterServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterVC/servlet/RosterServlet.java
@@ -22,10 +22,10 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
-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 roster.Roster;
 import roster.RosterHome;
 import util.LeagueDetails;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterext/servlet/RosterServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterext/servlet/RosterServlet.java
index 4fe3dc3..81ade04 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterext/servlet/RosterServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/rosterext/servlet/RosterServlet.java
@@ -22,10 +22,10 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.rmi.PortableRemoteObject;
-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 roster.Roster;
 import roster.RosterHome;
 import util.LeagueDetails;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/unknownpk/client/Client.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/unknownpk/client/Client.java
index beb7a1b..faabff2 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/unknownpk/client/Client.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/unknownpk/client/Client.java
@@ -20,8 +20,8 @@
  * Created on February 21, 2003, 3:20 PM
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/unknownpkVC/client/Client.java b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/unknownpkVC/client/Client.java
index 81e84f9..45a4654 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/cmp/unknownpkVC/client/Client.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/cmp/unknownpkVC/client/Client.java
@@ -20,8 +20,8 @@
  * Created on February 21, 2003, 3:20 PM
  */
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import javax.rmi.PortableRemoteObject;
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/FilterTest.java b/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/FilterTest.java
index 57a5e16..fcf3624 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/FilterTest.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 public class FilterTest implements Filter{
     
     private ServletContext context;
@@ -26,7 +26,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
           
         ((HttpServletRequest)request).getSession().setAttribute("FILTER", "PASS");
@@ -35,7 +35,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest.java b/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest.java
index 9fe46d3..d4a3174 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest2.java b/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest2.java
index f517cce..db2cb50 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest2.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest3.java b/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest3.java
index 4b9b240..3e8d25b 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest3.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/embedded/standalonewar/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/jms-txlookup/servlet/JmsServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/jms-txlookup/servlet/JmsServlet.java
index 5013c66..44ed0e9 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/jms-txlookup/servlet/JmsServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/jms-txlookup/servlet/JmsServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import java.sql.*;
 import javax.sql.*;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/jmsweb/servlet/JmsServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/jmsweb/servlet/JmsServlet.java
index e5dadc0..5afdbd3 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/jmsweb/servlet/JmsServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/jmsweb/servlet/JmsServlet.java
@@ -18,8 +18,8 @@
 
 import java.io.*;
 import java.rmi.RemoteException;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import javax.naming.*;
 import java.sql.*;
 import javax.sql.*;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/onlygetconnectionservlet/servlet/OnlyGetConnectionServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/onlygetconnectionservlet/servlet/OnlyGetConnectionServlet.java
index 2cb5a30..9042de1 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/onlygetconnectionservlet/servlet/OnlyGetConnectionServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/onlygetconnectionservlet/servlet/OnlyGetConnectionServlet.java
@@ -16,8 +16,8 @@
 
 package com.sun.s1asdev.jdbc.onlygetconnectionservlet.servlet;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import jakarta.transaction.*;
 import javax.sql.*;
 import java.sql.*;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/FilterTest.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/FilterTest.java
index c2ad7b8..8fee4f1 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/FilterTest.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/FilterTest.java
@@ -16,8 +16,8 @@
 
 package test;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.net.*;
 import java.io.*;
 public class FilterTest implements Filter{
@@ -42,7 +42,7 @@
         System.out.println("[Filter.destroy]");
     }    
     
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException {
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws java.io.IOException, jakarta.servlet.ServletException {
         System.out.println("[Filter.doFilter]");
 
         try {
@@ -75,7 +75,7 @@
     }    
     
     
-    public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException {
+    public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException {
         System.out.println("[Filter.init]");
         context = filterConfig.getServletContext();
     }
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest.java
index 1a54454..267f568 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
@@ -73,11 +73,11 @@
         rd.forward(request, response);       
     }
 
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest2.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest2.java
index 50fb997..846d45d 100755
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest2.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest2.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class ServletTest2 extends HttpServlet implements HttpSessionListener {
 
@@ -50,11 +50,11 @@
         rd.include(request, response);     
     }
  
-    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionCreated(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionCreated]");
     }
     
-    public void sessionDestroyed(javax.servlet.http.HttpSessionEvent httpSessionEvent) {
+    public void sessionDestroyed(jakarta.servlet.http.HttpSessionEvent httpSessionEvent) {
         System.out.println("[Servlet.sessionDestroyed]");
         System.out.println("Attributes: " + httpSessionEvent.getSession().getAttribute("test"));
     }
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest3.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest3.java
index ee720ad..dcc1dba 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest3.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/standalonewar/servlet/ServletTest3.java
@@ -19,8 +19,8 @@
 import java.io.*;
 import java.net.*;
 import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import org.xml.sax.InputSource;
 import org.w3c.dom.Element;
 import org.w3c.dom.Document;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/webear/samples/ejb/subclassing/servlet/SimpleBankServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/webear/samples/ejb/subclassing/servlet/SimpleBankServlet.java
index d300bc2..059943e 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/webear/samples/ejb/subclassing/servlet/SimpleBankServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/webear/samples/ejb/subclassing/servlet/SimpleBankServlet.java
@@ -12,9 +12,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/webear/servlet/SimpleBankServlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/webear/servlet/SimpleBankServlet.java
index 173d712..0919514 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/webear/servlet/SimpleBankServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/lazyInit/webear/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtests/resources/mail-session/servlet/Servlet.java b/appserver/tests/v2-tests/appserv-tests/devtests/resources/mail-session/servlet/Servlet.java
index d90c3f4..c63b3f3 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtests/resources/mail-session/servlet/Servlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtests/resources/mail-session/servlet/Servlet.java
@@ -23,12 +23,12 @@
 import jakarta.ejb.EJBException;
 import jakarta.ejb.EJBs;
 import javax.naming.InitialContext;
-import javax.servlet.ServletConfig;
-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.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.transaction.UserTransaction;
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/appserver/tests/v2-tests/appserv-tests/devtestsNG/web/sessionIdUrlRewrite/servlet/test/RedirectFrom.java b/appserver/tests/v2-tests/appserv-tests/devtestsNG/web/sessionIdUrlRewrite/servlet/test/RedirectFrom.java
index 24d069e..eda59c9 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtestsNG/web/sessionIdUrlRewrite/servlet/test/RedirectFrom.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtestsNG/web/sessionIdUrlRewrite/servlet/test/RedirectFrom.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectFrom extends HttpServlet {
 
diff --git a/appserver/tests/v2-tests/appserv-tests/devtestsNG/web/sessionIdUrlRewrite/servlet/test/RedirectTo.java b/appserver/tests/v2-tests/appserv-tests/devtestsNG/web/sessionIdUrlRewrite/servlet/test/RedirectTo.java
index e9cbf39..e5e8068 100644
--- a/appserver/tests/v2-tests/appserv-tests/devtestsNG/web/sessionIdUrlRewrite/servlet/test/RedirectTo.java
+++ b/appserver/tests/v2-tests/appserv-tests/devtestsNG/web/sessionIdUrlRewrite/servlet/test/RedirectTo.java
@@ -17,8 +17,8 @@
 package test;
 
 import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 
 public class RedirectTo extends HttpServlet {
 
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/docroot/repeater.jsp b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/docroot/repeater.jsp
index fcd28a5..7f33760 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/docroot/repeater.jsp
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/docroot/repeater.jsp
@@ -254,7 +254,7 @@
     <li>An array of JavaBeans.</li>
     <li>A <em>List</em> of JavaBeans.</li>
     <li>An instance of <em>java.sql.ResultSet</em> (or RowSet).</li>
-    <li>An instance of <em>javax.servlet.jsp.jstl.sql.Result</em>.</li>
+    <li>An instance of <em>jakarta.servlet.jsp.jstl.sql.Result</em>.</li>
     <li>A single JavaBean (which will be treated as a one-row table.</li>
     </ul>
   </td>
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/BaseRenderer.java b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/BaseRenderer.java
index 9d74c7b..2d9314d 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/BaseRenderer.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/BaseRenderer.java
@@ -70,17 +70,17 @@
         // verify the required Class is loadable
         // PENDING(edburns): Find a way to do this once per ServletContext.
         if (null == Thread.currentThread().getContextClassLoader().
-            getResource("javax.servlet.jsp.jstl.fmt.LocalizationContext")) {
+            getResource("jakarta.servlet.jsp.jstl.fmt.LocalizationContext")) {
             Object[] params = {
-                "javax.servlet.jsp.jstl.fmt.LocalizationContext"
+                "jakarta.servlet.jsp.jstl.fmt.LocalizationContext"
             };
             throw new MissingResourceException("Can't load JSTL classes",
                                                bundleName, key);
         }
 
         // verify there is a ResourceBundle in scoped namescape.
-        javax.servlet.jsp.jstl.fmt.LocalizationContext locCtx = null;
-        if (null == (locCtx = (javax.servlet.jsp.jstl.fmt.LocalizationContext)
+        jakarta.servlet.jsp.jstl.fmt.LocalizationContext locCtx = null;
+        if (null == (locCtx = (jakarta.servlet.jsp.jstl.fmt.LocalizationContext)
             (Util.getValueBinding(bundleName)).getValue(context)) ||
             null == (bundle = locCtx.getResourceBundle())) {
             throw new MissingResourceException("Can't load ResourceBundle ",
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/ChartServlet.java b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/ChartServlet.java
index 1946f57..017476b 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/ChartServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/ChartServlet.java
@@ -38,12 +38,12 @@
 import java.io.OutputStream;
 import java.util.List;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
 
 /**
  * <p><strong>ChartServlet</strong> is used to render the chart image.
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/Util.java b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/Util.java
index edc1ef9..d9c8740 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/Util.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/renderkit/Util.java
@@ -212,9 +212,9 @@
         if (null !=
             (bundleName = (String) component.getAttributes().get(bundleAttr))) {
             // verify there is a Locale for this modelReference
-            javax.servlet.jsp.jstl.fmt.LocalizationContext locCtx = null;
+            jakarta.servlet.jsp.jstl.fmt.LocalizationContext locCtx = null;
             if (null != (locCtx =
-                (javax.servlet.jsp.jstl.fmt.LocalizationContext)
+                (jakarta.servlet.jsp.jstl.fmt.LocalizationContext)
                 (Util.getValueBinding(bundleName)).getValue(context))) {
                 result = locCtx.getLocale();
 //		Assert.assert_it(null != result);
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/GraphMenuNodeTag.java b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/GraphMenuNodeTag.java
index 5932e4d..bda2640 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/GraphMenuNodeTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/GraphMenuNodeTag.java
@@ -28,9 +28,9 @@
 
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.webapp.UIComponentBodyTag;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.BodyTag;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.BodyTag;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 /**
  * <B>GraphMenuNodeTag</B> builds the graph as the nodes are processed.
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/GraphTreeNodeTag.java b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/GraphTreeNodeTag.java
index 78286ac..f5ddd17 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/GraphTreeNodeTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/GraphTreeNodeTag.java
@@ -28,9 +28,9 @@
 
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.webapp.UIComponentBodyTag;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.tagext.BodyTag;
-import javax.servlet.jsp.tagext.TagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.tagext.BodyTag;
+import jakarta.servlet.jsp.tagext.TagSupport;
 
 /**
  * <B>GraphMenuNodeTag</B> builds the graph as the nodes are processed.
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/components.tld b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/components.tld
index 06dee76..3365c26 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/components.tld
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/components/taglib/components.tld
@@ -224,7 +224,7 @@
       <description>
         Value binding expression pointing at (a) a DataModel instance,
         (b) an array of objects, (c) a List of objects, (d) a
-        java.sql.ResultSet (or RowSet), (d) a javax.servlet.jsp.jstl.sql.Result
+        java.sql.ResultSet (or RowSet), (d) a jakarta.servlet.jsp.jstl.sql.Result
         object, or (e) a JavaBean (which will be treated as a one-row dataset).
       </description>
     </attribute>
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/demo/taglib/EscapeHtmlTag.java b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/demo/taglib/EscapeHtmlTag.java
index 491fc6c..8871608 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/demo/taglib/EscapeHtmlTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/jsfcomponents/src/demo/taglib/EscapeHtmlTag.java
@@ -56,9 +56,9 @@
 
 import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
 
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspTagException;
-import javax.servlet.jsp.tagext.BodyTagSupport;
+import jakarta.servlet.jsp.JspException;
+import jakarta.servlet.jsp.JspTagException;
+import jakarta.servlet.jsp.tagext.BodyTagSupport;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/security/wss/servletws/web/FedTaxServlet.java b/appserver/tests/v2-tests/appserv-tests/sqetests/security/wss/servletws/web/FedTaxServlet.java
index a82bc45..9981d25 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/security/wss/servletws/web/FedTaxServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/security/wss/servletws/web/FedTaxServlet.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class FedTaxServlet implements 
 			SingleThreadModel, ServiceLifecycle {
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/security/wss/servletws/web/StateTaxServlet.java b/appserver/tests/v2-tests/appserv-tests/sqetests/security/wss/servletws/web/StateTaxServlet.java
index 5ae5864..e2ea1b1 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/security/wss/servletws/web/StateTaxServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/security/wss/servletws/web/StateTaxServlet.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class StateTaxServlet implements 
 			SingleThreadModel, ServiceLifecycle {
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/descriptor/web.xml b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/descriptor/web.xml
index a59b0a7..a74e6fe 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/descriptor/web.xml
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/descriptor/web.xml
@@ -20,7 +20,7 @@
 <web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
   <display-name>bookstore3</display-name>
   <context-param>
-    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
+    <param-name>jakarta.servlet.jsp.jstl.fmt.localizationContext</param-name>
     <param-value>messages.BookstoreMessages</param-value>
   </context-param>
   <listener>
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/docroot/template/screendefinitions.jspf b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/docroot/template/screendefinitions.jspf
index 0010d0a..d6a6978 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/docroot/template/screendefinitions.jspf
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/docroot/template/screendefinitions.jspf
@@ -19,7 +19,7 @@
 
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 
-<tt:definition name="bookstore" screen="${requestScope['javax.servlet.forward.servlet_path']}">
+<tt:definition name="bookstore" screen="${requestScope['jakarta.servlet.forward.servlet_path']}">
   <tt:screen screenId="/bookstore">
     <tt:parameter name="title" value="Duke's Bookstore" direct="true"/>
     <tt:parameter name="banner" value="/template/banner.jsp" direct="false"/>
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/dispatcher/Dispatcher.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/dispatcher/Dispatcher.java
index 16b997c..5b488fc 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/dispatcher/Dispatcher.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/dispatcher/Dispatcher.java
@@ -16,8 +16,8 @@
 
 package dispatcher;
 
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
 import java.util.*;
 import cart.ShoppingCart;
 import database.*;
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/listeners/ContextListener.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/listeners/ContextListener.java
index 33e21be..43d51cd 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/listeners/ContextListener.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/listeners/ContextListener.java
@@ -17,7 +17,7 @@
 package listeners;
 
 import database.BookDBAO;
-import javax.servlet.*;
+import jakarta.servlet.*;
 
 
 public final class ContextListener implements ServletContextListener {
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/DefinitionTag.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/DefinitionTag.java
index 055a185..1d528ff 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/DefinitionTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/DefinitionTag.java
@@ -16,9 +16,9 @@
 
 package template;
 
-import javax.servlet.jsp.JspTagException;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.JspTagException;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 import java.util.*;
 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/InsertTag.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/InsertTag.java
index de8441f..30c67c6 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/InsertTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/InsertTag.java
@@ -16,10 +16,10 @@
 
 package template;
 
-import javax.servlet.ServletException;
-import javax.servlet.jsp.JspTagException;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.jsp.JspTagException;
+import jakarta.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
 import java.util.HashMap;
 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/ParameterTag.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/ParameterTag.java
index eb9d472..f3ab639 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/ParameterTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/ParameterTag.java
@@ -16,8 +16,8 @@
 
 package template;
 
-import javax.servlet.jsp.tagext.*;
-import javax.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.*;
+import jakarta.servlet.jsp.PageContext;
 import java.util.*;
 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/ScreenTag.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/ScreenTag.java
index 68bb848..e1d202c 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/ScreenTag.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/bookstore/src/template/ScreenTag.java
@@ -16,8 +16,8 @@
 
 package template;
 
-import javax.servlet.jsp.tagext.SimpleTagSupport;
-import javax.servlet.jsp.PageContext;
+import jakarta.servlet.jsp.tagext.SimpleTagSupport;
+import jakarta.servlet.jsp.PageContext;
 import java.util.*;
 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/justservlet/servlet/Hello.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/justservlet/servlet/Hello.java
index b7e0b34..c2ba6db 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/justservlet/servlet/Hello.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/justservlet/servlet/Hello.java
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;
-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;
 
 
 /**
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/subclassing/samples/ejb/subclassing/servlet/SimpleBankServlet.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/subclassing/samples/ejb/subclassing/servlet/SimpleBankServlet.java
index d300bc2..059943e 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/subclassing/samples/ejb/subclassing/servlet/SimpleBankServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/subclassing/samples/ejb/subclassing/servlet/SimpleBankServlet.java
@@ -12,9 +12,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/web/subclassing/servlet/SimpleBankServlet.java b/appserver/tests/v2-tests/appserv-tests/sqetests/web/subclassing/servlet/SimpleBankServlet.java
index 173d712..0919514 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/web/subclassing/servlet/SimpleBankServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/web/subclassing/servlet/SimpleBankServlet.java
@@ -18,9 +18,9 @@
 
 import java.io.*;
 import java.util.*; 
-import javax.servlet.*; 
+import jakarta.servlet.*; 
 import javax.naming.*; 
-import javax.servlet.http.*; 
+import jakarta.servlet.http.*; 
 import javax.rmi.PortableRemoteObject;
 import jakarta.ejb.*; 
 
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/webservices/servletws/web/FedTaxServlet.java b/appserver/tests/v2-tests/appserv-tests/sqetests/webservices/servletws/web/FedTaxServlet.java
index cd95658..2487dea 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/webservices/servletws/web/FedTaxServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/webservices/servletws/web/FedTaxServlet.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class FedTaxServlet implements 
 			SingleThreadModel, ServiceLifecycle {
diff --git a/appserver/tests/v2-tests/appserv-tests/sqetests/webservices/servletws/web/StateTaxServlet.java b/appserver/tests/v2-tests/appserv-tests/sqetests/webservices/servletws/web/StateTaxServlet.java
index 01d5295..89a2456 100644
--- a/appserver/tests/v2-tests/appserv-tests/sqetests/webservices/servletws/web/StateTaxServlet.java
+++ b/appserver/tests/v2-tests/appserv-tests/sqetests/webservices/servletws/web/StateTaxServlet.java
@@ -26,7 +26,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.server.ServiceLifecycle;
 import javax.xml.namespace.QName;
-import javax.servlet.SingleThreadModel;
+import jakarta.servlet.SingleThreadModel;
 
 public class StateTaxServlet implements 
 			SingleThreadModel, ServiceLifecycle {
