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

pdallig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new e928edb080 [ZEPPELIN-6158] Update Jetty and other libraries to use 
Jakarta
e928edb080 is described below

commit e928edb080d38d2ad4c5fe67fd91063e1299b4b6
Author: Philipp Dallig <philipp.dal...@gmail.com>
AuthorDate: Thu Apr 17 11:10:21 2025 +0200

    [ZEPPELIN-6158] Update Jetty and other libraries to use Jakarta
    
    ### What is this PR for?
    This PR updates Jetty and some subcomponents such as Jackson, Jersey, 
Micrometer, Kubernetes client.
    
    In my opinion, it is not possible to split the pull request due to the 
annotation change.
    
    ### What type of PR is it?
     - Improvement
    
    ### What is the Jira issue?
    * https://issues.apache.org/jira/browse/ZEPPELIN-6158
    
    ### How should this be tested?
    * CI
    * [x] - Manually
    
    ### Questions:
    * Does the license files need to update? Yes
    * Is there breaking changes for older versions? Yes
    * Does this needs documentation? No
    
    
    Closes #4902 from Reamer/jakarta.
    
    Signed-off-by: Philipp Dallig <philipp.dal...@gmail.com>
---
 pom.xml                                            | 25 ++++-----
 shell/pom.xml                                      |  2 +-
 .../zeppelin/shell/terminal/TerminalThread.java    | 18 ++++---
 .../shell/terminal/service/TerminalService.java    |  2 +-
 .../websocket/TerminalSessionConfigurator.java     |  8 +--
 .../shell/terminal/websocket/TerminalSocket.java   | 27 +++++-----
 .../zeppelin/shell/TerminalInterpreterTest.java    | 16 +++---
 .../shell/terminal/TerminalSocketTest.java         | 12 ++---
 zeppelin-client/pom.xml                            |  2 +-
 zeppelin-distribution/src/bin_license/LICENSE      | 59 ++++++++++++----------
 zeppelin-interpreter-integration/pom.xml           | 20 ++++++++
 zeppelin-plugins/launcher/k8s-standard/pom.xml     |  2 +-
 .../launcher/K8sRemoteInterpreterProcess.java      |  5 +-
 .../launcher/K8sRemoteInterpreterProcessTest.java  | 13 ++---
 .../interpreter/launcher/PodPhaseWatcherTest.java  | 20 +++-----
 zeppelin-server/pom.xml                            | 26 ++++++----
 .../apache/zeppelin/metric/PrometheusServlet.java  | 28 +++++-----
 .../realm/jwt/KnoxAuthenticationFilter.java        |  7 +--
 .../apache/zeppelin/realm/jwt/KnoxJwtRealm.java    |  2 +-
 .../kerberos/KerberosAuthenticationFilter.java     |  6 ++-
 .../zeppelin/realm/kerberos/KerberosRealm.java     | 18 ++++---
 .../org/apache/zeppelin/rest/AbstractRestApi.java  |  2 +-
 .../org/apache/zeppelin/rest/AdminRestApi.java     | 14 ++---
 .../zeppelin/rest/ConfigurationsRestApi.java       | 16 +++---
 .../apache/zeppelin/rest/CredentialRestApi.java    | 20 ++++----
 .../org/apache/zeppelin/rest/HeliumRestApi.java    | 19 ++++---
 .../apache/zeppelin/rest/InterpreterRestApi.java   | 26 +++++-----
 .../org/apache/zeppelin/rest/LoginRestApi.java     | 24 ++++-----
 .../apache/zeppelin/rest/NotebookRepoRestApi.java  | 16 +++---
 .../org/apache/zeppelin/rest/NotebookRestApi.java  | 26 +++++-----
 .../org/apache/zeppelin/rest/SecurityRestApi.java  | 14 ++---
 .../org/apache/zeppelin/rest/SessionRestApi.java   | 20 ++++----
 .../org/apache/zeppelin/rest/ZeppelinRestApi.java  | 16 +++---
 .../rest/exception/BadRequestException.java        |  6 +--
 .../rest/exception/ForbiddenException.java         |  6 +--
 .../rest/exception/NoteNotFoundException.java      |  4 +-
 .../rest/exception/ParagraphNotFoundException.java |  4 +-
 .../rest/exception/SessionNoteFoundException.java  |  4 +-
 .../exception/WebApplicationExceptionMapper.java   |  8 +--
 .../rest/message/gson/ExceptionSerializer.java     |  2 +-
 .../org/apache/zeppelin/server/CorsFilter.java     | 16 +++---
 .../org/apache/zeppelin/server/GsonProvider.java   | 16 +++---
 .../zeppelin/server/ImmediateErrorHandlerImpl.java |  2 +-
 .../apache/zeppelin/server/IndexHtmlServlet.java   |  8 +--
 .../org/apache/zeppelin/server/JsonResponse.java   | 24 ++++-----
 .../apache/zeppelin/server/RestApiApplication.java | 13 ++++-
 .../org/apache/zeppelin/server/ZeppelinServer.java | 34 +++++++------
 .../org/apache/zeppelin/service/AdminService.java  |  2 +-
 .../zeppelin/service/ConfigurationService.java     |  2 +-
 .../zeppelin/service/InterpreterService.java       |  2 +-
 .../apache/zeppelin/service/JobManagerService.java |  3 +-
 .../zeppelin/service/NoAuthenticationService.java  |  2 +-
 .../apache/zeppelin/service/NotebookService.java   |  2 +-
 .../service/ShiroAuthenticationService.java        |  2 +-
 .../apache/zeppelin/socket/ConnectionManager.java  |  2 +-
 .../org/apache/zeppelin/socket/NotebookServer.java | 20 ++++----
 .../org/apache/zeppelin/socket/NotebookSocket.java |  2 +-
 .../zeppelin/socket/SessionConfigurator.java       |  8 +--
 .../utils/AnyOfRolesUserAuthorizationFilter.java   |  5 +-
 .../org/apache/zeppelin/utils/ExceptionUtils.java  |  8 +--
 .../org/apache/zeppelin/utils/ServerUtils.java     |  4 +-
 .../zeppelin/rest/CredentialsRestApiTest.java      |  4 +-
 .../apache/zeppelin/rest/SessionRestApiTest.java   |  2 +-
 .../org/apache/zeppelin/server/CorsFilterTest.java | 10 ++--
 .../zeppelin/server/IndexHtmlServletTest.java      | 12 +++--
 zeppelin-zengine/pom.xml                           | 15 +++++-
 .../java/org/apache/zeppelin/helium/Helium.java    |  2 +-
 .../zeppelin/helium/HeliumApplicationFactory.java  |  2 +-
 .../zeppelin/helium/HeliumBundleFactory.java       |  2 +-
 .../zeppelin/interpreter/InterpreterFactory.java   |  2 +-
 .../interpreter/InterpreterSettingManager.java     |  2 +-
 .../zeppelin/notebook/AuthorizationService.java    |  2 +-
 .../apache/zeppelin/notebook/GsonNoteParser.java   |  2 +-
 .../org/apache/zeppelin/notebook/NoteManager.java  |  4 +-
 .../org/apache/zeppelin/notebook/Notebook.java     |  2 +-
 .../zeppelin/notebook/repo/NotebookRepoSync.java   |  4 +-
 .../notebook/scheduler/QuartzSchedulerService.java |  2 +-
 .../org/apache/zeppelin/plugin/PluginManager.java  |  2 +-
 .../org/apache/zeppelin/search/LuceneSearch.java   |  2 +-
 .../apache/zeppelin/search/NoSearchService.java    |  2 +-
 .../java/org/apache/zeppelin/user/Credentials.java |  2 +-
 81 files changed, 438 insertions(+), 381 deletions(-)

diff --git a/pom.xml b/pom.xml
index b8e93e3e28..97742dcdbd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -121,10 +121,9 @@
     <gson.version>2.8.9</gson.version>
     <gson-extras.version>0.2.2</gson-extras.version>
     <org-json.version>20240205</org-json.version>
-    <jackson.version>2.12.7.20240502</jackson.version>
-    <jetty.version>9.4.52.v20230823</jetty.version>
-    <jakarta.activation.version>1.2.2</jakarta.activation.version>
-    <jakarta.xml.bind.version>2.3.3</jakarta.xml.bind.version>
+    <jackson.version>2.18.3</jackson.version>
+    <jetty.version>11.0.24</jetty.version>
+    <jakarta.inject.version>2.0.1</jakarta.inject.version>
     <httpcomponents.core.version>4.4.1</httpcomponents.core.version>
     <httpcomponents.client.version>4.5.13</httpcomponents.client.version>
     
<httpcomponents.asyncclient.version>4.0.2</httpcomponents.asyncclient.version>
@@ -140,8 +139,8 @@
     <shiro.version>1.13.0</shiro.version>
     <bouncycastle.version>1.80</bouncycastle.version>
     <maven.version>3.6.3</maven.version>
-    <dropwizard.version>4.1.14</dropwizard.version>
-    <micrometer.version>1.6.0</micrometer.version>
+    <dropwizard.version>4.2.29</dropwizard.version>
+    <micrometer.version>1.14.2</micrometer.version>
     <findbugs.jsr305.version>3.0.2</findbugs.jsr305.version>
 
     <hadoop.version>3.3.6</hadoop.version>
@@ -327,15 +326,9 @@
       </dependency>
 
       <dependency>
-        <groupId>jakarta.activation</groupId>
-        <artifactId>jakarta.activation-api</artifactId>
-        <version>${jakarta.activation.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>jakarta.xml.bind</groupId>
-        <artifactId>jakarta.xml.bind-api</artifactId>
-        <version>${jakarta.xml.bind.version}</version>
+        <groupId>jakarta.inject</groupId>
+        <artifactId>jakarta.inject-api</artifactId>
+        <version>${jakarta.inject.version}</version>
       </dependency>
 
       <dependency>
@@ -380,11 +373,13 @@
         <groupId>org.apache.shiro</groupId>
         <artifactId>shiro-core</artifactId>
         <version>${shiro.version}</version>
+        <classifier>jakarta</classifier>
       </dependency>
       <dependency>
         <groupId>org.apache.shiro</groupId>
         <artifactId>shiro-web</artifactId>
         <version>${shiro.version}</version>
+        <classifier>jakarta</classifier>
       </dependency>
       <dependency>
         <groupId>org.apache.shiro</groupId>
diff --git a/shell/pom.xml b/shell/pom.xml
index c5c4db0bf4..9e59944ae7 100644
--- a/shell/pom.xml
+++ b/shell/pom.xml
@@ -71,7 +71,7 @@
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty.websocket</groupId>
-      <artifactId>javax-websocket-server-impl</artifactId>
+      <artifactId>websocket-jakarta-server</artifactId>
       <version>${jetty.version}</version>
     </dependency>
     <dependency>
diff --git 
a/shell/src/main/java/org/apache/zeppelin/shell/terminal/TerminalThread.java 
b/shell/src/main/java/org/apache/zeppelin/shell/terminal/TerminalThread.java
index 31c7e22655..a4501af847 100644
--- a/shell/src/main/java/org/apache/zeppelin/shell/terminal/TerminalThread.java
+++ b/shell/src/main/java/org/apache/zeppelin/shell/terminal/TerminalThread.java
@@ -17,8 +17,7 @@
 
 package org.apache.zeppelin.shell.terminal;
 
-import javax.websocket.server.ServerContainer;
-import javax.websocket.server.ServerEndpointConfig;
+import jakarta.websocket.server.ServerEndpointConfig;
 
 import 
org.apache.zeppelin.shell.terminal.websocket.TerminalSessionConfigurator;
 import org.apache.zeppelin.shell.terminal.websocket.TerminalSocket;
@@ -27,7 +26,8 @@ import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.handler.HandlerCollection;
 import org.eclipse.jetty.server.handler.ResourceHandler;
 import org.eclipse.jetty.servlet.ServletContextHandler;
-import 
org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer;
+
+import 
org.eclipse.jetty.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,6 +47,7 @@ public class TerminalThread extends Thread {
     this.allwedOrigin = allwedOrigin;
   }
 
+  @Override
   public void run() {
     ServerConnector connector = new ServerConnector(jettyServer);
     connector.setPort(port);
@@ -75,11 +76,12 @@ public class TerminalThread extends Thread {
     jettyServer.setHandler(handlers);
 
     try {
-      ServerContainer container = 
WebSocketServerContainerInitializer.configureContext(context);
-      container.addEndpoint(
-          ServerEndpointConfig.Builder.create(TerminalSocket.class, "/")
-              .configurator(new TerminalSessionConfigurator(allwedOrigin))
-              .build());
+      JakartaWebSocketServletContainerInitializer.configure(context,
+          (servletContext, container) ->
+            container.addEndpoint(
+                ServerEndpointConfig.Builder.create(TerminalSocket.class, "/")
+                  .configurator(new TerminalSessionConfigurator(allwedOrigin))
+                  .build()));
       jettyServer.start();
       jettyServer.join();
     } catch (Exception e) {
diff --git 
a/shell/src/main/java/org/apache/zeppelin/shell/terminal/service/TerminalService.java
 
b/shell/src/main/java/org/apache/zeppelin/shell/terminal/service/TerminalService.java
index 41483e84bc..d473c7c5d3 100644
--- 
a/shell/src/main/java/org/apache/zeppelin/shell/terminal/service/TerminalService.java
+++ 
b/shell/src/main/java/org/apache/zeppelin/shell/terminal/service/TerminalService.java
@@ -25,7 +25,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.websocket.Session;
+import jakarta.websocket.Session;
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.IOException;
diff --git 
a/shell/src/main/java/org/apache/zeppelin/shell/terminal/websocket/TerminalSessionConfigurator.java
 
b/shell/src/main/java/org/apache/zeppelin/shell/terminal/websocket/TerminalSessionConfigurator.java
index 0e7d20f218..9c4ec33471 100644
--- 
a/shell/src/main/java/org/apache/zeppelin/shell/terminal/websocket/TerminalSessionConfigurator.java
+++ 
b/shell/src/main/java/org/apache/zeppelin/shell/terminal/websocket/TerminalSessionConfigurator.java
@@ -17,11 +17,11 @@
 
 package org.apache.zeppelin.shell.terminal.websocket;
 
-import javax.websocket.server.ServerEndpointConfig.Configurator;
+import jakarta.websocket.server.ServerEndpointConfig.Configurator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class TerminalSessionConfigurator  extends Configurator {
+public class TerminalSessionConfigurator extends Configurator {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(TerminalSessionConfigurator.class);
   private String allowedOrigin;
 
@@ -32,8 +32,8 @@ public class TerminalSessionConfigurator  extends 
Configurator {
   @Override
   public boolean checkOrigin(String originHeaderValue) {
     boolean allowed = allowedOrigin.equals(originHeaderValue);
-    LOGGER.info("Checking origin for TerminalSessionConfigurator: " +
-        originHeaderValue + " allowed: " + allowed);
+    LOGGER.info("Checking origin for TerminalSessionConfigurator: {} allowed: 
{}",
+        originHeaderValue, allowed);
     return allowed;
   }
 }
diff --git 
a/shell/src/main/java/org/apache/zeppelin/shell/terminal/websocket/TerminalSocket.java
 
b/shell/src/main/java/org/apache/zeppelin/shell/terminal/websocket/TerminalSocket.java
index 4f63f1f9ad..32f8421eed 100644
--- 
a/shell/src/main/java/org/apache/zeppelin/shell/terminal/websocket/TerminalSocket.java
+++ 
b/shell/src/main/java/org/apache/zeppelin/shell/terminal/websocket/TerminalSocket.java
@@ -24,14 +24,14 @@ import 
org.apache.zeppelin.shell.terminal.service.TerminalService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.websocket.ClientEndpoint;
-import javax.websocket.CloseReason;
-import javax.websocket.OnClose;
-import javax.websocket.OnError;
-import javax.websocket.OnMessage;
-import javax.websocket.OnOpen;
-import javax.websocket.Session;
-import javax.websocket.server.ServerEndpoint;
+import jakarta.websocket.ClientEndpoint;
+import jakarta.websocket.CloseReason;
+import jakarta.websocket.OnClose;
+import jakarta.websocket.OnError;
+import jakarta.websocket.OnMessage;
+import jakarta.websocket.OnOpen;
+import jakarta.websocket.Session;
+import jakarta.websocket.server.ServerEndpoint;
 import java.util.Map;
 
 @ClientEndpoint
@@ -41,7 +41,8 @@ public class TerminalSocket {
   private TerminalService terminalService;
   private TerminalManager terminalManager = TerminalManager.getInstance();
 
-  private String noteId, paragraphId;
+  private String noteId;
+  private String paragraphId;
 
   public TerminalSocket() {
     terminalService = terminalManager.addTerminalService(this);
@@ -49,14 +50,14 @@ public class TerminalSocket {
 
   @OnOpen
   public void onWebSocketConnect(Session sess) {
-    LOGGER.info("Socket Connected: " + sess);
+    LOGGER.info("Socket Connected: {}", sess);
     terminalService.onWebSocketConnect(sess);
   }
 
   @OnMessage
   public void onWebSocketText(String message) {
     if (LOGGER.isDebugEnabled()) {
-      LOGGER.debug("Received TEXT message: " + message);
+      LOGGER.debug("Received TEXT message: {}", message);
     }
 
     Map<String, String> messageMap = getMessageMap(message);
@@ -77,14 +78,14 @@ public class TerminalSocket {
           terminalService.onTerminalResize(messageMap.get("columns"), 
messageMap.get("rows"));
           break;
         default:
-          LOGGER.error("Unrecodnized action: " + message);
+          LOGGER.error("Unrecodnized action: {}", message);
       }
     }
   }
 
   @OnClose
   public void onWebSocketClose(CloseReason reason) {
-    LOGGER.info("Socket Closed: " + reason);
+    LOGGER.info("Socket Closed: {}", reason);
 
     terminalManager.onWebSocketClose(this, noteId, paragraphId);
   }
diff --git 
a/shell/src/test/java/org/apache/zeppelin/shell/TerminalInterpreterTest.java 
b/shell/src/test/java/org/apache/zeppelin/shell/TerminalInterpreterTest.java
index 4d71889952..b4f78b471d 100644
--- a/shell/src/test/java/org/apache/zeppelin/shell/TerminalInterpreterTest.java
+++ b/shell/src/test/java/org/apache/zeppelin/shell/TerminalInterpreterTest.java
@@ -20,9 +20,9 @@ package org.apache.zeppelin.shell;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
-import javax.websocket.ClientEndpointConfig;
-import javax.websocket.ClientEndpointConfig.Builder;
-import javax.websocket.ClientEndpointConfig.Configurator;
+import jakarta.websocket.ClientEndpointConfig;
+import jakarta.websocket.ClientEndpointConfig.Builder;
+import jakarta.websocket.ClientEndpointConfig.Configurator;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.InterpreterResult;
@@ -34,10 +34,10 @@ import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.websocket.ContainerProvider;
-import javax.websocket.DeploymentException;
-import javax.websocket.Session;
-import javax.websocket.WebSocketContainer;
+import jakarta.websocket.ContainerProvider;
+import jakarta.websocket.DeploymentException;
+import jakarta.websocket.Session;
+import jakarta.websocket.WebSocketContainer;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
@@ -347,7 +347,7 @@ class TerminalInterpreterTest extends BaseInterpreterTest {
     }
 
     assertTrue(exception instanceof IOException);
-    assertEquals("Connect failure", exception.getMessage());
+    assertTrue(exception.getMessage().contains("403 Forbidden"));
   }
 
   private static ClientEndpointConfig getOriginRequestHeaderConfig(String 
origin) {
diff --git 
a/shell/src/test/java/org/apache/zeppelin/shell/terminal/TerminalSocketTest.java
 
b/shell/src/test/java/org/apache/zeppelin/shell/terminal/TerminalSocketTest.java
index 051d73e569..f3db13c23f 100644
--- 
a/shell/src/test/java/org/apache/zeppelin/shell/terminal/TerminalSocketTest.java
+++ 
b/shell/src/test/java/org/apache/zeppelin/shell/terminal/TerminalSocketTest.java
@@ -19,23 +19,23 @@ package org.apache.zeppelin.shell.terminal;
 
 import java.util.ArrayList;
 import java.util.List;
-import javax.websocket.CloseReason;
-import javax.websocket.Endpoint;
-import javax.websocket.EndpointConfig;
-import javax.websocket.Session;
+import jakarta.websocket.CloseReason;
+import jakarta.websocket.Endpoint;
+import jakarta.websocket.EndpointConfig;
+import jakarta.websocket.Session;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class TerminalSocketTest extends Endpoint {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(TerminalSocketTest.class);
 
-  public static final List<String> ReceivedMsg = new ArrayList();
+  public static final List<String> ReceivedMsg = new ArrayList<>();
 
   @Override
   public void onOpen(Session session, EndpointConfig endpointConfig) {
     LOGGER.info("Socket Connected: " + session);
 
-    session.addMessageHandler(new 
javax.websocket.MessageHandler.Whole<String>() {
+    session.addMessageHandler(new 
jakarta.websocket.MessageHandler.Whole<String>() {
       @Override
       public void onMessage(String message) {
         LOGGER.info("Received TEXT message: " + message);
diff --git a/zeppelin-client/pom.xml b/zeppelin-client/pom.xml
index fb8c54e0f5..e0a3621ea0 100644
--- a/zeppelin-client/pom.xml
+++ b/zeppelin-client/pom.xml
@@ -48,7 +48,7 @@
 
     <dependency>
       <groupId>org.eclipse.jetty.websocket</groupId>
-      <artifactId>websocket-client</artifactId>
+      <artifactId>websocket-jetty-client</artifactId>
       <version>${jetty.version}</version>
     </dependency>
 
diff --git a/zeppelin-distribution/src/bin_license/LICENSE 
b/zeppelin-distribution/src/bin_license/LICENSE
index 62ffec2ded..fabd8f28fe 100644
--- a/zeppelin-distribution/src/bin_license/LICENSE
+++ b/zeppelin-distribution/src/bin_license/LICENSE
@@ -47,16 +47,15 @@ The following components are provided under Apache License.
     (Apache 2.0) Codehaus Plexus Classwords 
(org.codehaus.plexus:plexus-classwords:2.6.0 - 
http://github.com/codehaus-plexus/plexus-classworlds)
     (Apache 2.0) Codehaus Plexus Utils (org.codehaus.plexus:plexus-utils:3.2.1 
- http://github.com/codehaus-plexus/plexus-utils)
     (Apache 2.0) findbugs jsr305 (com.google.code.findbugs:jsr305:jar:1.3.9 - 
http://findbugs.sourceforge.net/)
-    (Apache 2.0) Google Guava (com.google.guava:guava:15.0 - 
https://code.google.com/p/guava-libraries/)
-    (Apache 2.0) Jackson (com.fasterxml.jackson.core:jackson-core:2.15.4 - 
https://github.com/FasterXML/jackson-core)
-    (Apache 2.0) Jackson 
(com.fasterxml.jackson.core:jackson-annotations:2.15.4 - 
https://github.com/FasterXML/jackson-core)
-    (Apache 2.0) Jackson (com.fasterxml.jackson.core:jackson-databind:2.15.4 - 
https://github.com/FasterXML/jackson-core)
+    (Apache 2.0) Google Guava (com.google.guava:guava:32.0.0-jre - 
https://code.google.com/p/guava-libraries/)
+    (Apache 2.0) Jackson (com.fasterxml.jackson.core:jackson-core:2.18.3 - 
https://github.com/FasterXML/jackson-core)
+    (Apache 2.0) Jackson 
(com.fasterxml.jackson.core:jackson-annotations:2.18.3- 
https://github.com/FasterXML/jackson-core)
+    (Apache 2.0) Jackson (com.fasterxml.jackson.core:jackson-databind:2.18.3 - 
https://github.com/FasterXML/jackson-core)
     (Apache 2.0) Jackson-dataformat-CBOR 
(com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.4 - 
http://wiki.fasterxml.com/JacksonForCbor)
     (Apache 2.0) Jackson-dataformat-Smile 
(com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.4 - 
http://wiki.fasterxml.com/JacksonForSmile)
     (Apache 2.0) Jackson-dataformat-YAML 
(com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.4 - 
https://github.com/FasterXML/jackson)
     (Apache 2.0) Jackson (org.codehaus.jackson:jackson-core-asl:1.9.13 - 
http://jackson.codehaus.org/)
     (Apache 2.0) Jackson Mapper ASL 
(org.codehaus.jackson:jackson-mapper-asl:1.9.13 - 
https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl/1.9.13)
-    (Apache 2.0) javax.servlet 
(org.eclipse.jetty.orbit:javax.servlet:jar:3.1.0.v201112011016 - 
http://www.eclipse.org/jetty)
     (Apache 2.0) Javassist (org.javassist:javassist:jar:3.18.1-GA:compile - 
http://jboss-javassist.github.io/javassist/)
     (Apache 2.0) JetS3t (net.java.dev.jets3t:jets3t:jar:0.9.3) - 
http://www.jets3t.org/
     (Apache 2.0) Jetty (org.eclipse.jetty:jetty - http://www.eclipse.org/jetty)
@@ -145,10 +144,6 @@ The following components are provided under Apache License.
     (Apache 2.0) akka-slf4j (com.typesafe.akka:akka-slf4j_2.10:2.3.7 - 
http://akka.io/)
     (Apache 2.0) Metrics Core Library (com.yammer.metrics:metrics-core:2.2.0 - 
http://metrics.codahale.com/metrics-core/)
     (Apache 2.0) Commons BeanUtils Bean Collections 
(commons-beanutils:commons-beanutils-bean-collections:1.9.4 - 
http://commons.apache.org/beanutils/)
-    (Apache 2.0) Metrics Core (io.dropwizard.metrics:metrics-core:3.1.0 - 
http://metrics.codahale.com/metrics-core/)
-    (Apache 2.0) Graphite Integration for Metrics 
(io.dropwizard.metrics:metrics-graphite:3.1.0 - 
http://metrics.codahale.com/metrics-graphite/)
-    (Apache 2.0) Jackson Integration for Metrics 
(io.dropwizard.metrics:metrics-json:3.1.0 - 
http://metrics.codahale.com/metrics-json/)
-    (Apache 2.0) JVM Integration for Metrics 
(io.dropwizard.metrics:metrics-jvm:3.1.0 - 
http://metrics.codahale.com/metrics-jvm/)
     (Apache 2.0) Apache Log4j (log4j:log4j:1.2.17 - 
http://logging.apache.org/log4j/1.2/)
     (Apache 2.0) Apache Avro IPC (org.apache.avro:avro-ipc:1.8.1 - 
http://avro.apache.org)
     (Apache 2.0) Apache Avro Mapred API (org.apache.avro:avro-mapred:1.8.1 - 
http://avro.apache.org/avro-mapred)
@@ -216,17 +211,24 @@ The following components are provided under Apache 
License.
     (Apache 2.0) mongo-java-driver 3.12.10 
(org.mongodb:mongo-java-driver:3.12.10) - 
https://github.com/mongodb/mongo-java-driver/blob/master/LICENSE.txt
     (Apache 2.0) Neo4j Java Driver 
(https://github.com/neo4j/neo4j-java-driver) - 
https://github.com/neo4j/neo4j-java-driver/blob/1.4.3/LICENSE.txt
     (Apache 2.0) RxJava (io.reactivex.rxjava2:rxjava:2.2.17) - 
https://github.com/ReactiveX/RxJava/blob/2.x/LICENSE
-    (Apache 2.0) Application monitoring instrumentation facade 
(io.micrometer:micrometer-core:1.6.0) - 
https://github.com/micrometer-metrics/micrometer/blob/master/LICENSE
-    (Apache 2.0) Application monitoring instrumentation facade 
(io.micrometer:micrometer-registry-prometheus:1.6.0) - 
https://github.com/micrometer-metrics/micrometer/blob/master/LICENSE
-    (Apache 2.0) Application monitoring instrumentation facade 
(io.micrometer:micrometer-registry-jmx:1.6.0) - 
https://github.com/micrometer-metrics/micrometer/blob/master/LICENSE
-    (Apache 2.0) Prometheus Java Simpleclient Common 
(io.prometheus:simpleclient_common:0.9.0) - 
https://github.com/prometheus/client_java/blob/master/LICENSE
-    (Apache 2.0) Prometheus Java Simpleclient 
(io.prometheus:simpleclient:0.9.0) - 
https://github.com/prometheus/client_java/blob/master/LICENSE
-    (Apache 2.0) Dropwizard Metrics Core 
(io.dropwizard.metrics:metrics-core:4.1.14) - 
https://github.com/dropwizard/metrics/blob/release/4.1.x/LICENSE
-    (Apache 2.0) Dropwizard Metrics Utility Servlets 
(io.dropwizard.metrics:metrics-servlets:4.1.14) - 
https://github.com/dropwizard/metrics/blob/release/4.1.x/LICENSE
-    (Apache 2.0) Dropwizard Jackson Integration for Metrics 
(io.dropwizard.metrics:metrics-json:4.1.14) - 
https://github.com/dropwizard/metrics/blob/release/4.1.x/LICENSE
-    (Apache 2.0) Dropwizard Metrics Health Checks 
(io.dropwizard.metrics:metrics-healthchecks:4.1.14) - 
https://github.com/dropwizard/metrics/blob/release/4.1.x/LICENSE
-    (Apache 2.0) Dropwizard Metrics Integration with JMX 
(io.dropwizard.metrics:metrics-jmx:4.1.14) - 
https://github.com/dropwizard/metrics/blob/release/4.1.x/LICENSE
+    (Apache 2.0) Application monitoring instrumentation facade 
(io.micrometer:micrometer-core:1.14.2) - 
https://github.com/micrometer-metrics/micrometer/blob/master/LICENSE
+    (Apache 2.0) Application monitoring instrumentation facade 
(io.micrometer:micrometer-registry-prometheus1.14.2) - 
https://github.com/micrometer-metrics/micrometer/blob/master/LICENSE
+    (Apache 2.0) Application monitoring instrumentation facade 
(io.micrometer:micrometer-registry-jmx:1.14.2) - 
https://github.com/micrometer-metrics/micrometer/blob/master/LICENSE
+    (Apache 2.0) Application monitoring instrumentation facade 
(io.micrometer:micrometer-jetty11:1.14.2) - 
https://github.com/micrometer-metrics/micrometer/blob/master/LICENSE
+    (Apache 2.0) Prometheus Metrics Core 
(io.prometheus:prometheus-metrics-core:1.3.4) - 
https://github.com/prometheus/client_java/blob/main/LICENSE
+    (Apache 2.0) Prometheus Metrics Model 
(io.prometheus:prometheus-metrics-model:1.3.4) - 
https://github.com/prometheus/client_java/blob/main/LICENSE
+    (Apache 2.0) Prometheus Metrics Core 
(io.prometheus:prometheus-metrics-config:1.3.4) - 
https://github.com/prometheus/client_java/blob/main/LICENSE
+    (Apache 2.0) Prometheus Metrics Tracer Common 
(io.prometheus:prometheus-metrics-tracer-common:1.3.4) - 
https://github.com/prometheus/client_java/blob/main/LICENSE
+    (Apache 2.0) Prometheus Metrics Exposition Formats 
(io.prometheus:prometheus-metrics-exposition-formats:1.3.4) - 
https://github.com/prometheus/client_java/blob/main/LICENSE
+    (Apache 2.0) Prometheus Metrics Exposition Text Formats 
(io.prometheus:prometheus-metrics-exposition-textformats:1.3.4) - 
https://github.com/prometheus/client_java/blob/main/LICENSE
+    (Apache 2.0) Metrics Core (io.dropwizard.metrics:metrics-core:4.2.29) - 
https://github.com/dropwizard/metrics
+    (Apache 2.0) Jackson Integration for Metrics 
(io.dropwizard.metrics:metrics-json:4.2.29 - 
https://github.com/dropwizard/metrics)
+    (Apache 2.0) Metrics Utility Jakarta Servlets 
(io.dropwizard.metrics:metrics-jakarta-servlets:4.2.29 - 
https://github.com/dropwizard/metrics)
+    (Apache 2.0) JVM Integration for Metrics 
(io.dropwizard.metrics:metrics-jvm:4.2.29 - 
https://github.com/dropwizard/metrics)
+    (Apache 2.0) Metrics Health Checks 
(io.dropwizard.metrics:metrics-healthcheck:4.2.29 - 
https://github.com/dropwizard/metrics)
+    (Apache 2.0) Metrics Integration with JMX 
(io.dropwizard.metrics:metrics-jmx:4.2.29 - 
https://github.com/dropwizard/metrics)
     (Apache 2.0) reload4j v1.2.25 (ch.qos.reload4j:reload4j:jar:1.2.25 - 
https://reload4j.qos.ch/) - 
https://github.com/qos-ch/reload4j/blob/master/LICENSE
+    (Apache 2.0) jakarta.inject-api (jakarta.inject:jakarta.inject-api:2.0.1 - 
https://github.com/eclipse-ee4j/injection-api
 
 ========================================================================
 MIT licenses
@@ -352,6 +354,8 @@ The following components are provided under the BSD-style 
License.
     (BSD-3-Clause) Scalamacros Quasiquotes 2.1.0 
(org.scalamacros:quasiquotes:2.1.0 - 
https://mvnrepository.com/artifact/org.scalamacros/quasiquotes_2.10/2.1.0)
     (BSD-2-Clause) JUnit Interface 0.11 (com.novocode:junit-interface:0.11 - 
https://github.com/sbt/junit-interface)
     (BSD-3-Clause) SBT Test Interface (org.scala-sbt:test-interface:1.0 - 
https://github.com/sbt/test-interface)
+    (BSD-3-Clause) Jakarta XML Binding API 
(jakarta.ws.rs:jakarta.xml.bind-api:4.0.2 - 
https://github.com/jakartaee/jaxb-api)
+    (BSD-3-Clause) Jakarta Activation API 
(jakarta.activation:jakarta.activation-api:2.1.3 - 
https://github.com/jakartaee/jaf-api)
 
 ========================================================================
 CDDL license
@@ -361,15 +365,7 @@ The following components are provided under the CDDL 
License.
 
     (CDDL 1.0) javax.activation (javax.activation:activation:jar:1.1.1 - 
http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp)
     (CDDL 1.0) java.annotation 
(javax.annotation:javax.annotation-api:jar:1.2:compile - 
http://jcp.org/en/jsr/detail?id=250)
-    (CDDL 1.1) jersey-core (org.glassfish.jersey.core:jersey-core:2.22.2 - 
https://jersey.java.net/)
     (CDDL 1.0) javax.ws.rs-api (javax.ws.rs - https://jax-rs-spec.java.net/)
-    (CDDL 1.1) jersey-client (org.glassfish.jersey.client:jersey-core:2.22.2 - 
https://jersey.java.net/)
-    (CDDL 1.1) jersey-media (org.glassfish.jersey.media:jersey-core:2.22.2 - 
https://jersey.java.net/)
-    (CDDL 1.1) jersey-core (com.sun.jersey:jersey-core:1.9 - 
https://jersey.java.net/jersey-core/)
-    (CDDL 1.1) jersey-json (com.sun.jersey:jersey-json:1.9 - 
https://jersey.java.net/jersey-json/)
-    (CDDL 1.1) jersey-server (com.sun.jersey:jersey-server:1.9 - 
https://jersey.java.net/jersey-server/)
-    (CDDL 1.1) jersey-guice (com.sun.jersey.contribs:jersey-guice:1.9 - 
https://jersey.java.net/jersey-contribs/jersey-guice/)
-    (CDDL 1.1) JAXB RI (com.sun.xml.bind:jaxb-impl:2.2.3-1 - 
http://jaxb.java.net/)
     (CDDL 1.0) Java Servlet API (javax.servlet:javax.servlet-api:3.1.0 - 
http://servlet-spec.java.net)
     (CDDL 1.1) (GPL2 w/ CPE) JAXB API bundle for GlassFish V3 
(javax.xml.bind:jaxb-api:2.2.2 - https://jaxb.dev.java.net/)
     (CDDL 1.0) (GNU General Public Library) Streaming API for XML 
(javax.xml.stream:stax-api:1.0-2 - no url defined)
@@ -389,6 +385,15 @@ The following components are provided under the EPL 
License.
     (EPL 2.0) JUnit Platform Engine 5.7.1 
(org.junit.jupiter:junit-platform-engine:5.7.1 - 
https://github.com/junit-team/junit5)
     (EPL 2.0) JUnit Platform Commons 5.7.1 
(org.junit.jupiter:junit-platform-commons:5.7.1 - 
https://github.com/junit-team/junit5)
     (EPL 2.0) JUnit Jupiter API 5.7.1 
(org.junit.jupiter:junit-jupiter-api:5.7.1 - 
https://github.com/junit-team/junit5)
+    (EPL 2.0) jersey-hk2 (org.glassfish.jersey.core:jersey-hk2:3.1.9 - 
https://projects.eclipse.org/projects/ee4j.jersey)
+    (EPL 2.0) jersey-server (org.glassfish.jersey.core:jersey-server:3.1.9 - 
https://projects.eclipse.org/projects/ee4j.jersey)
+    (EPL 2.0) jersey-container-servlet-core 
(org.glassfish.jersey.core:jersey-container-servlet-core:3.1.9 - 
https://projects.eclipse.org/projects/ee4j.jersey)
+    (EPL 2.0) jersey-client (org.glassfish.jersey.core:jersey-client:3.1.9 - 
https://projects.eclipse.org/projects/ee4j.jersey)
+    (EPL 2.0) jersey-media-json-jackson 
(org.glassfish.jersey.media:jersey-media-json-jackson:3.1.9 - 
https://projects.eclipse.org/projects/ee4j.jersey)
+    (EPL 2.0) jersey-common (org.glassfish.jersey.core:jersey-common:3.1.9 - 
https://projects.eclipse.org/projects/ee4j.jersey)
+    (EPL 2.0) jersey-entity-filtering 
(org.glassfish.jersey.core:jersey-entity-filtering:3.1.9 - 
https://projects.eclipse.org/projects/ee4j.jersey)
+    (EPL 2.0) jakarta.ws.rs-api (jakarta.ws.rs:jakarta.ws.rs-api:3.1.0 - 
https://github.com/eclipse-ee4j/jaxrs-api)
+    (EPL 2.0) jakarta.annotation-api 
(jakarta.annotation:jakarta.annotation-api:2.1.1 - 
https://projects.eclipse.org/projects/ee4j.ca)
 
 
 
diff --git a/zeppelin-interpreter-integration/pom.xml 
b/zeppelin-interpreter-integration/pom.xml
index d86e24d2cf..284fb1d791 100644
--- a/zeppelin-interpreter-integration/pom.xml
+++ b/zeppelin-interpreter-integration/pom.xml
@@ -149,6 +149,26 @@
       <artifactId>hadoop-client-minicluster</artifactId>
       <scope>test</scope>
     </dependency>
+    <!-- Needed for Minihadoop Cluster
+         Do not use jakarta.xml.bind-api
+         because this dependency is used in a higher version in 
zeppelin-server and results in dependency-conflicts
+     -->
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.3.1</version>
+      <scope>test</scope>
+    </dependency>
+    <!-- Also needed for Mini Hadoop Cluster
+         Do not use jakarta.activation-api,
+         because this dependency is used in a higher version in 
zeppelin-server and results in dependency-conflicts
+     -->
+    <dependency>
+      <groupId>javax.activation</groupId>
+      <artifactId>javax.activation-api</artifactId>
+      <version>1.2.0</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/zeppelin-plugins/launcher/k8s-standard/pom.xml 
b/zeppelin-plugins/launcher/k8s-standard/pom.xml
index cc68503702..18dd6ff4c3 100644
--- a/zeppelin-plugins/launcher/k8s-standard/pom.xml
+++ b/zeppelin-plugins/launcher/k8s-standard/pom.xml
@@ -35,7 +35,7 @@
 
     <properties>
         <plugin.name>Launcher/K8sStandardInterpreterLauncher</plugin.name>
-        <kubernetes.client.version>5.12.4</kubernetes.client.version>
+        <kubernetes.client.version>6.13.4</kubernetes.client.version>
         <jinjava.version>2.5.4</jinjava.version>
     </properties>
 
diff --git 
a/zeppelin-plugins/launcher/k8s-standard/src/main/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcess.java
 
b/zeppelin-plugins/launcher/k8s-standard/src/main/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcess.java
index 5d258fd258..62fcc38df0 100644
--- 
a/zeppelin-plugins/launcher/k8s-standard/src/main/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcess.java
+++ 
b/zeppelin-plugins/launcher/k8s-standard/src/main/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcess.java
@@ -49,7 +49,7 @@ import io.fabric8.kubernetes.api.model.PodStatus;
 import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.LocalPortForward;
 import io.fabric8.kubernetes.client.Watch;
-import 
io.fabric8.kubernetes.client.dsl.ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable;
+import 
io.fabric8.kubernetes.client.dsl.NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable;
 
 public class K8sRemoteInterpreterProcess extends 
RemoteInterpreterManagedProcess {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(K8sRemoteInterpreterProcess.class);
@@ -279,7 +279,8 @@ public class K8sRemoteInterpreterProcess extends 
RemoteInterpreterManagedProcess
       K8sSpecTemplate specTemplate = new K8sSpecTemplate();
       specTemplate.loadProperties(templateProperties);
       String template = specTemplate.render(path);
-      
ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable<HasMetadata>
 k8sObjects = client.load(IOUtils.toInputStream(template, 
StandardCharsets.UTF_8));
+      NamespaceListVisitFromServerGetDeleteRecreateWaitApplicable<HasMetadata> 
k8sObjects =
+          client.load(IOUtils.toInputStream(template, StandardCharsets.UTF_8));
       LOGGER.info("Apply {} with {} K8s Objects", path.getAbsolutePath(), 
k8sObjects.get().size());
       LOGGER.debug(template);
       if (delete) {
diff --git 
a/zeppelin-plugins/launcher/k8s-standard/src/test/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcessTest.java
 
b/zeppelin-plugins/launcher/k8s-standard/src/test/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcessTest.java
index 1d9abd8b1b..4cbf11456b 100644
--- 
a/zeppelin-plugins/launcher/k8s-standard/src/test/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcessTest.java
+++ 
b/zeppelin-plugins/launcher/k8s-standard/src/test/java/org/apache/zeppelin/interpreter/launcher/K8sRemoteInterpreterProcessTest.java
@@ -582,18 +582,15 @@ class K8sRemoteInterpreterProcessTest {
       await().until(() -> 
client.pods().inNamespace(namespace).withName(podName).get() != null);
       // Pod is present set first phase
       Pod pod = client.pods().inNamespace(namespace).withName(podName).get();
-      pod.setStatus(new PodStatus(null, null, null, null, null, null, null, 
firstPhase,
-          null,
-          null, null, null, null));
-      client.pods().inNamespace(namespace).replaceStatus(pod);
+      pod.setStatus(new PodStatus());
+      pod.getStatus().setPhase(firstPhase);
+      client.pods().inNamespace(namespace).resource(pod).update();
       await().pollDelay(Duration.ofMillis(200)).until(() -> firstPhase.equals(
           
client.pods().inNamespace(namespace).withName(podName).get().getStatus().getPhase()));
       // Set second Phase
       pod = client.pods().inNamespace(namespace).withName(podName).get();
-      pod.setStatus(new PodStatus(null, null, null, null, null, null, null, 
secondPhase,
-          null,
-          null, null, null, null));
-      client.pods().inNamespace(namespace).replaceStatus(pod);
+      pod.getStatus().setPhase(secondPhase);
+      client.pods().inNamespace(namespace).resource(pod).update();
       await().pollDelay(Duration.ofMillis(200)).until(() -> secondPhase.equals(
           
client.pods().inNamespace(namespace).withName(podName).get().getStatus().getPhase()));
       if (successfulStart) {
diff --git 
a/zeppelin-plugins/launcher/k8s-standard/src/test/java/org/apache/zeppelin/interpreter/launcher/PodPhaseWatcherTest.java
 
b/zeppelin-plugins/launcher/k8s-standard/src/test/java/org/apache/zeppelin/interpreter/launcher/PodPhaseWatcherTest.java
index f50a54a076..4f82b7c3c7 100644
--- 
a/zeppelin-plugins/launcher/k8s-standard/src/test/java/org/apache/zeppelin/interpreter/launcher/PodPhaseWatcherTest.java
+++ 
b/zeppelin-plugins/launcher/k8s-standard/src/test/java/org/apache/zeppelin/interpreter/launcher/PodPhaseWatcherTest.java
@@ -34,8 +34,6 @@ import org.junit.jupiter.api.Test;
 import io.fabric8.kubernetes.api.model.Pod;
 import io.fabric8.kubernetes.api.model.PodBuilder;
 import io.fabric8.kubernetes.api.model.PodList;
-import io.fabric8.kubernetes.api.model.PodStatus;
-import io.fabric8.kubernetes.api.model.PodStatusBuilder;
 import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.Watch;
 import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient;
@@ -49,8 +47,9 @@ class PodPhaseWatcherTest {
   void testPhase() throws InterruptedException {
     // CREATE
     client.pods().inNamespace("ns1")
-        .create(new 
PodBuilder().withNewMetadata().withName("pod1").endMetadata().withNewStatus()
-            .endStatus().build());
+        .resource(new 
PodBuilder().withNewMetadata().withName("pod1").endMetadata().withNewStatus()
+            .endStatus().build())
+        .create();
     await().until(isPodAvailable("pod1"));
     // READ
     PodList podList = client.pods().inNamespace("ns1").list();
@@ -62,17 +61,14 @@ class PodPhaseWatcherTest {
         phase -> StringUtils.equalsAnyIgnoreCase(phase, "Succeeded", "Failed", 
"Running"));
     try (Watch watch = 
client.pods().inNamespace("ns1").withName("pod1").watch(podWatcher)) {
       // Update Pod to "pending" phase
-      pod.setStatus(new PodStatus(null, null, null, null, null, null, null, 
"Pending", null, null,
-              null, null, null));
-      pod = client.pods().inNamespace("ns1").replaceStatus(pod);
-
+      pod.getStatus().setPhase("Pending");
+      pod = client.pods().inNamespace("ns1").resource(pod).update();
       // Wait a little bit, till update is applied
       await().pollDelay(Duration.ofSeconds(1))
           .until(isPodPhase(pod.getMetadata().getName(), "Pending"));
       // Update Pod to "Running" phase
-      pod.setStatus(new PodStatusBuilder(new PodStatus(null, null, null, null, 
null, null, null,
-              "Running", null, null, null, null, null)).build());
-      client.pods().inNamespace("ns1").replaceStatus(pod);
+      pod.getStatus().setPhase("Running");
+      client.pods().inNamespace("ns1").resource(pod).updateStatus();
       await().pollDelay(Duration.ofSeconds(1))
           .until(isPodPhase(pod.getMetadata().getName(), "Running"));
       assertTrue(podWatcher.getCountDownLatch().await(1, TimeUnit.SECONDS));
@@ -92,7 +88,7 @@ class PodPhaseWatcherTest {
   void testPhaseWithError() throws InterruptedException {
     // CREATE
     client.pods().inNamespace("ns1")
-        .create(new 
PodBuilder().withNewMetadata().withName("pod1").endMetadata().build());
+        .resource(new 
PodBuilder().withNewMetadata().withName("pod1").endMetadata().build()).create();
     // READ
     PodList podList = client.pods().inNamespace("ns1").list();
     assertNotNull(podList);
diff --git a/zeppelin-server/pom.xml b/zeppelin-server/pom.xml
index d469fd6673..09e377fb47 100644
--- a/zeppelin-server/pom.xml
+++ b/zeppelin-server/pom.xml
@@ -33,7 +33,7 @@
   <properties>
 
     <!--library versions-->
-    <jersey.version>2.30</jersey.version>
+    <jersey.version>3.1.9</jersey.version>
     <jersey.servlet.version>1.13</jersey.servlet.version>
     <javax.ws.rsapi.version>2.1</javax.ws.rsapi.version>
     <libpam4j.version>1.11</libpam4j.version>
@@ -110,7 +110,7 @@
 
     <dependency>
       <groupId>io.dropwizard.metrics</groupId>
-      <artifactId>metrics-servlets</artifactId>
+      <artifactId>metrics-jakarta-servlets</artifactId>
       <version>${dropwizard.version}</version>
     </dependency>
 
@@ -137,6 +137,18 @@
       <artifactId>metrics-jmx</artifactId>
       <version>${dropwizard.version}</version>
     </dependency>
+    <dependency>
+        <groupId>io.micrometer</groupId>
+        <artifactId>micrometer-jetty11</artifactId>
+        <version>${micrometer.version}</version>
+        <exclusions>
+            <!-- Provided by jetty directly-->
+            <exclusion>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-server</artifactId>
+            </exclusion>
+        </exclusions>
+    </dependency>
 
     <dependency>
       <groupId>org.glassfish.jersey.core</groupId>
@@ -175,12 +187,6 @@
       <artifactId>jackson-databind</artifactId>
     </dependency>
 
-    <dependency>
-      <groupId>javax.ws.rs</groupId>
-      <artifactId>javax.ws.rs-api</artifactId>
-      <version>${javax.ws.rsapi.version}</version>
-    </dependency>
-
     <dependency>
       <groupId>org.bouncycastle</groupId>
       <artifactId>bcpkix-jdk18on</artifactId>
@@ -194,6 +200,7 @@
     <dependency>
       <groupId>org.apache.shiro</groupId>
       <artifactId>shiro-core</artifactId>
+      <classifier>jakarta</classifier>
       <exclusions>
         <exclusion>
           <groupId>commons-beanutils</groupId>
@@ -217,6 +224,7 @@
     <dependency>
       <groupId>org.apache.shiro</groupId>
       <artifactId>shiro-web</artifactId>
+      <classifier>jakarta</classifier>
     </dependency>
 
     <dependency>
@@ -251,7 +259,7 @@
 
     <dependency>
       <groupId>org.eclipse.jetty.websocket</groupId>
-      <artifactId>javax-websocket-server-impl</artifactId>
+      <artifactId>websocket-jakarta-server</artifactId>
       <version>${jetty.version}</version>
     </dependency>
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/metric/PrometheusServlet.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/metric/PrometheusServlet.java
index 43bdf1f63b..1b0405dbb1 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/metric/PrometheusServlet.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/metric/PrometheusServlet.java
@@ -17,20 +17,17 @@
 package org.apache.zeppelin.metric;
 
 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.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import io.micrometer.prometheus.PrometheusMeterRegistry;
-import io.prometheus.client.exporter.common.TextFormat;
+import io.micrometer.prometheusmetrics.PrometheusMeterRegistry;
 
-public class PrometheusServlet extends HttpServlet{
+public class PrometheusServlet extends HttpServlet {
 
   private static final Logger LOGGER = 
LoggerFactory.getLogger(PrometheusServlet.class);
   /**
@@ -38,7 +35,7 @@ public class PrometheusServlet extends HttpServlet{
    */
   private static final long serialVersionUID = 3954804532706721368L;
 
-  private final PrometheusMeterRegistry promMetricRegistry;
+  private final transient PrometheusMeterRegistry promMetricRegistry;
 
   public PrometheusServlet(PrometheusMeterRegistry promMetricRegistry) {
     this.promMetricRegistry = promMetricRegistry;
@@ -46,16 +43,15 @@ public class PrometheusServlet extends HttpServlet{
 
   private static final String CACHE_CONTROL = "Cache-Control";
   private static final String NO_CACHE = "must-revalidate,no-cache,no-store";
+
   @Override
-  protected void doGet(HttpServletRequest req,
-                       HttpServletResponse resp) throws ServletException, 
IOException {
+  protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
     resp.setStatus(HttpServletResponse.SC_OK);
     resp.setHeader(CACHE_CONTROL, NO_CACHE);
-    resp.setContentType(TextFormat.CONTENT_TYPE_004);
-    try (PrintWriter writer = resp.getWriter()) {
-      promMetricRegistry.scrape(writer);
-    } catch (IOException e){
+    try {
+      promMetricRegistry.scrape(resp.getOutputStream());
+    } catch (IOException e) {
       LOGGER.error("IOException in PrometheusServlet", e);
     }
   }
-}
+}
\ No newline at end of file
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/KnoxAuthenticationFilter.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/KnoxAuthenticationFilter.java
index fe312b2442..e280090824 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/KnoxAuthenticationFilter.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/KnoxAuthenticationFilter.java
@@ -17,9 +17,9 @@
 package org.apache.zeppelin.realm.jwt;
 
 import java.util.Collection;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.Cookie;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.Cookie;
 import org.apache.shiro.realm.Realm;
 import org.apache.shiro.util.ThreadContext;
 import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
 public class KnoxAuthenticationFilter extends FormAuthenticationFilter {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(KnoxAuthenticationFilter.class);
 
+  @Override
   protected boolean isAccessAllowed(
       ServletRequest request, ServletResponse response, Object mappedValue) {
     // Check with existing shiro authentication logic
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/KnoxJwtRealm.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/KnoxJwtRealm.java
index 736090e9d9..3a036889e6 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/KnoxJwtRealm.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/jwt/KnoxJwtRealm.java
@@ -46,7 +46,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import javax.servlet.ServletException;
+import jakarta.servlet.ServletException;
 
 import com.nimbusds.jose.JWSObject;
 import com.nimbusds.jose.JWSVerifier;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/kerberos/KerberosAuthenticationFilter.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/kerberos/KerberosAuthenticationFilter.java
index 236369bbb6..0f628356d1 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/kerberos/KerberosAuthenticationFilter.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/kerberos/KerberosAuthenticationFilter.java
@@ -24,7 +24,11 @@ import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.servlet.*;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+
 import java.io.IOException;
 import java.util.Collection;
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/kerberos/KerberosRealm.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/kerberos/KerberosRealm.java
index f491d31bfd..0a09853aa7 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/kerberos/KerberosRealm.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/kerberos/KerberosRealm.java
@@ -45,11 +45,15 @@ import org.slf4j.LoggerFactory;
 import javax.security.auth.Subject;
 import javax.security.auth.kerberos.KerberosPrincipal;
 import javax.security.auth.kerberos.KeyTab;
-import javax.servlet.*;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpServletResponse;
+
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpServletResponse;
 
 import java.io.File;
 import java.io.IOException;
@@ -737,12 +741,12 @@ public class KerberosRealm extends AuthorizingRealm {
    * @throws org.apache.shiro.authc.AuthenticationException
    */
   public static KerberosToken getKerberosTokenFromCookies(
-      Map<String, javax.ws.rs.core.Cookie> cookies)
+      Map<String, jakarta.ws.rs.core.Cookie> cookies)
       throws org.apache.shiro.authc.AuthenticationException {
     KerberosToken kerberosToken = null;
     String tokenStr = null;
     if (cookies != null) {
-      for (javax.ws.rs.core.Cookie cookie : cookies.values()) {
+      for (jakarta.ws.rs.core.Cookie cookie : cookies.values()) {
         if (cookie.getName().equals(KerberosAuthenticator.AUTHORIZATION)) {
           tokenStr = cookie.getValue();
           if (tokenStr.isEmpty()) {
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java
index 4f979d5467..a9bfac51d5 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AbstractRestApi.java
@@ -20,7 +20,7 @@ package org.apache.zeppelin.rest;
 import java.io.IOException;
 import java.util.HashSet;
 import java.util.Set;
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
 import org.apache.zeppelin.service.AuthenticationService;
 import org.apache.zeppelin.service.ServiceContext;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AdminRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AdminRestApi.java
index 8a86d84674..c94d87e6bd 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AdminRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/AdminRestApi.java
@@ -19,13 +19,13 @@ package org.apache.zeppelin.rest;
 
 import java.util.Arrays;
 import java.util.List;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.annotation.ZeppelinApi;
 import org.apache.zeppelin.rest.message.LoggerRequest;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ConfigurationsRestApi.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ConfigurationsRestApi.java
index 0b8b864f0e..78b8f8ef04 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ConfigurationsRestApi.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ConfigurationsRestApi.java
@@ -18,14 +18,14 @@ package org.apache.zeppelin.rest;
 
 import java.io.IOException;
 import java.util.Map;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 import org.apache.zeppelin.annotation.ZeppelinApi;
 import org.apache.zeppelin.server.JsonResponse;
 import org.apache.zeppelin.service.ConfigurationService;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/CredentialRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/CredentialRestApi.java
index c3cedba8d5..a40bf510b1 100755
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/CredentialRestApi.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/CredentialRestApi.java
@@ -18,16 +18,16 @@
 package org.apache.zeppelin.rest;
 
 import java.io.IOException;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.rest.message.CredentialRequest;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java
index d01a2f84f1..b67ad1f9f0 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/HeliumRestApi.java
@@ -20,8 +20,8 @@ import com.google.gson.Gson;
 import com.google.gson.JsonParseException;
 import com.google.gson.reflect.TypeToken;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -34,18 +34,17 @@ import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.zeppelin.helium.Helium;
 import org.apache.zeppelin.helium.HeliumPackage;
 import org.apache.zeppelin.helium.HeliumPackageSearchResult;
-import org.apache.zeppelin.notebook.Note;
 import org.apache.zeppelin.notebook.Notebook;
 import org.apache.zeppelin.notebook.Paragraph;
 import org.apache.zeppelin.server.JsonResponse;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java
index ca5ab1525c..00158d3309 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java
@@ -17,8 +17,8 @@
 
 package org.apache.zeppelin.rest;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.zeppelin.annotation.ZeppelinApi;
@@ -42,18 +42,20 @@ import org.apache.zeppelin.service.SimpleServiceCallback;
 import org.apache.zeppelin.socket.NotebookServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
+import jakarta.validation.constraints.NotNull;
+
 import org.eclipse.aether.repository.RemoteRepository;
 
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.HashSet;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java
index 18d71687bb..d8b8c93b93 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/LoginRestApi.java
@@ -21,18 +21,18 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java
index 4ce979efb1..187eb3a32a 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java
@@ -19,8 +19,8 @@ package org.apache.zeppelin.rest;
 import com.google.common.collect.ImmutableMap;
 import com.google.gson.JsonSyntaxException;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.service.AuthenticationService;
 import org.slf4j.Logger;
@@ -29,12 +29,12 @@ import org.slf4j.LoggerFactory;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.zeppelin.annotation.ZeppelinApi;
 import org.apache.zeppelin.notebook.repo.NotebookRepoSync;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
index 1de3c82b8b..5d997268f4 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
@@ -24,19 +24,19 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.annotation.ZeppelinApi;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java
index c5b1c9dcd8..89bc317734 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SecurityRestApi.java
@@ -22,13 +22,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.annotation.ZeppelinApi;
 import org.apache.zeppelin.server.JsonResponse;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SessionRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SessionRestApi.java
index d6009e8a59..d4c9ec15ed 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SessionRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/SessionRestApi.java
@@ -29,16 +29,16 @@ import org.apache.zeppelin.service.SessionManagerService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Response;
 import java.util.List;
 
 /**
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java
index f2bfbc1d5f..7eff52cdaa 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/ZeppelinRestApi.java
@@ -16,20 +16,20 @@
  */
 package org.apache.zeppelin.rest;
 
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
 
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.zeppelin.annotation.ZeppelinApi;
 import org.apache.zeppelin.server.JsonResponse;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java
index 9af2fdd761..f24c7fe75e 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/BadRequestException.java
@@ -16,10 +16,10 @@
  */
 package org.apache.zeppelin.rest.exception;
 
-import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
+import static jakarta.ws.rs.core.Response.Status.BAD_REQUEST;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.zeppelin.utils.ExceptionUtils;
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java
index abe08ebc52..5074e2e7b0 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ForbiddenException.java
@@ -16,10 +16,10 @@
  */
 package org.apache.zeppelin.rest.exception;
 
-import static javax.ws.rs.core.Response.Status.FORBIDDEN;
+import static jakarta.ws.rs.core.Response.Status.FORBIDDEN;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.zeppelin.utils.ExceptionUtils;
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java
index 773d749d3c..9ec4c6efe4 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/NoteNotFoundException.java
@@ -19,9 +19,9 @@ package org.apache.zeppelin.rest.exception;
 
 import org.apache.zeppelin.utils.ExceptionUtils;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
-import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+import static jakarta.ws.rs.core.Response.Status.NOT_FOUND;
 
 public class NoteNotFoundException extends WebApplicationException {
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java
index 4ec5ee1250..f1d1420564 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/ParagraphNotFoundException.java
@@ -19,9 +19,9 @@ package org.apache.zeppelin.rest.exception;
 
 import org.apache.zeppelin.utils.ExceptionUtils;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
-import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+import static jakarta.ws.rs.core.Response.Status.NOT_FOUND;
 
 public class ParagraphNotFoundException extends WebApplicationException {
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/SessionNoteFoundException.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/SessionNoteFoundException.java
index 4f4cbd42bb..f2076f03fb 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/SessionNoteFoundException.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/SessionNoteFoundException.java
@@ -19,9 +19,9 @@ package org.apache.zeppelin.rest.exception;
 
 import org.apache.zeppelin.utils.ExceptionUtils;
 
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
-import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+import static jakarta.ws.rs.core.Response.Status.NOT_FOUND;
 
 public class SessionNoteFoundException extends WebApplicationException {
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java
index fb55955e1c..2613bf3cc3 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/exception/WebApplicationExceptionMapper.java
@@ -19,10 +19,10 @@ package org.apache.zeppelin.rest.exception;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 import org.apache.zeppelin.rest.message.gson.ExceptionSerializer;
 import org.slf4j.Logger;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/gson/ExceptionSerializer.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/gson/ExceptionSerializer.java
index 78e6101144..74c7f11d41 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/gson/ExceptionSerializer.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/message/gson/ExceptionSerializer.java
@@ -24,7 +24,7 @@ import com.google.gson.JsonSerializer;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 
 import java.lang.reflect.Type;
-import javax.ws.rs.WebApplicationException;
+import jakarta.ws.rs.WebApplicationException;
 
 public class ExceptionSerializer implements JsonSerializer<Exception> {
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java
index e103296c5e..51906cfd31 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java
@@ -18,14 +18,14 @@ package org.apache.zeppelin.server;
 
 import java.io.IOException;
 import java.net.URISyntaxException;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.apache.zeppelin.utils.CorsUtils;
 import org.slf4j.Logger;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/GsonProvider.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/GsonProvider.java
index cc14e3381d..eeaee1b411 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/GsonProvider.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/GsonProvider.java
@@ -27,14 +27,14 @@ import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.MessageBodyReader;
-import javax.ws.rs.ext.MessageBodyWriter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.ext.MessageBodyReader;
+import jakarta.ws.rs.ext.MessageBodyWriter;
+import jakarta.ws.rs.ext.Provider;
 import org.apache.log4j.Logger;
 import org.apache.zeppelin.rest.message.LoggerRequest;
 import org.apache.zeppelin.rest.message.gson.LoggerSerializer;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ImmediateErrorHandlerImpl.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ImmediateErrorHandlerImpl.java
index 27f4e6daa7..085d2f1699 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ImmediateErrorHandlerImpl.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ImmediateErrorHandlerImpl.java
@@ -19,7 +19,7 @@ package org.apache.zeppelin.server;
 
 import org.glassfish.hk2.api.ActiveDescriptor;
 import org.glassfish.hk2.utilities.ImmediateErrorHandler;
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 import java.util.LinkedList;
 import java.util.List;
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/IndexHtmlServlet.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/IndexHtmlServlet.java
index b79149a2ba..ffbc42e6b4 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/IndexHtmlServlet.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/IndexHtmlServlet.java
@@ -20,10 +20,10 @@ import java.io.IOException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 
-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.apache.commons.io.IOUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/JsonResponse.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/JsonResponse.java
index fcb4ea8811..1cdef2fa01 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/JsonResponse.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/JsonResponse.java
@@ -21,8 +21,8 @@ import com.google.gson.GsonBuilder;
 
 import java.util.ArrayList;
 
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response.ResponseBuilder;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response.ResponseBuilder;
 
 /**
  * Json response builder.
@@ -30,31 +30,31 @@ import javax.ws.rs.core.Response.ResponseBuilder;
  * @param <T>
  */
 public class JsonResponse<T> {
-  private javax.ws.rs.core.Response.Status status;
+  private jakarta.ws.rs.core.Response.Status status;
   private String message;
   private T body;
   transient ArrayList<NewCookie> cookies;
   transient boolean pretty = false;
 
-  public JsonResponse(javax.ws.rs.core.Response.Status status) {
+  public JsonResponse(jakarta.ws.rs.core.Response.Status status) {
     this.status = status;
     this.message = null;
     this.body = null;
   }
 
-  public JsonResponse(javax.ws.rs.core.Response.Status status, String message) 
{
+  public JsonResponse(jakarta.ws.rs.core.Response.Status status, String 
message) {
     this.status = status;
     this.message = message;
     this.body = null;
   }
 
-  public JsonResponse(javax.ws.rs.core.Response.Status status, T body) {
+  public JsonResponse(jakarta.ws.rs.core.Response.Status status, T body) {
     this.status = status;
     this.message = null;
     this.body = body;
   }
 
-  public JsonResponse(javax.ws.rs.core.Response.Status status, String message, 
T body) {
+  public JsonResponse(jakarta.ws.rs.core.Response.Status status, String 
message, T body) {
     this.status = status;
     this.message = message;
     this.body = body;
@@ -88,7 +88,7 @@ public class JsonResponse<T> {
    * @return
    */
   public JsonResponse<?> addCookie(String name, String value) {
-    return addCookie(new NewCookie(name, value));
+    return addCookie(new NewCookie.Builder(name).value(value).build());
   }
 
   @Override
@@ -102,11 +102,11 @@ public class JsonResponse<T> {
     return gson.toJson(this);
   }
 
-  public javax.ws.rs.core.Response.Status getCode() {
+  public jakarta.ws.rs.core.Response.Status getCode() {
     return status;
   }
 
-  public void setCode(javax.ws.rs.core.Response.Status status) {
+  public void setCode(jakarta.ws.rs.core.Response.Status status) {
     this.status = status;
   }
 
@@ -126,8 +126,8 @@ public class JsonResponse<T> {
     this.body = body;
   }
 
-  public javax.ws.rs.core.Response build() {
-    ResponseBuilder r = 
javax.ws.rs.core.Response.status(status).entity(this.toString());
+  public jakarta.ws.rs.core.Response build() {
+    ResponseBuilder r = 
jakarta.ws.rs.core.Response.status(status).entity(this.toString());
     if (cookies != null) {
       for (NewCookie nc : cookies) {
         r.cookie(nc);
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/RestApiApplication.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/RestApiApplication.java
index 811f472de9..711d56512b 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/RestApiApplication.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/RestApiApplication.java
@@ -16,10 +16,12 @@
  */
 package org.apache.zeppelin.server;
 
+import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.core.Application;
 
 import org.apache.zeppelin.rest.AdminRestApi;
 import org.apache.zeppelin.rest.ConfigurationsRestApi;
@@ -33,6 +35,7 @@ import org.apache.zeppelin.rest.SecurityRestApi;
 import org.apache.zeppelin.rest.SessionRestApi;
 import org.apache.zeppelin.rest.ZeppelinRestApi;
 import org.apache.zeppelin.rest.exception.WebApplicationExceptionMapper;
+import org.glassfish.jersey.server.ServerProperties;
 
 public class RestApiApplication extends Application {
   @Override
@@ -56,4 +59,12 @@ public class RestApiApplication extends Application {
     s.add(GsonProvider.class);
     return s;
   }
+
+  @Override
+  public Map<String, Object> getProperties() {
+    Map<String, Object> properties = new HashMap<>(super.getProperties());
+    // Disable WADL Feature
+    properties.put(ServerProperties.WADL_FEATURE_DISABLE, true);
+    return properties;
+  }
 }
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
index 3a5ef4bc31..27f926f7ec 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
@@ -16,8 +16,8 @@
  */
 package org.apache.zeppelin.server;
 
-import com.codahale.metrics.servlets.HealthCheckServlet;
-import com.codahale.metrics.servlets.PingServlet;
+import io.dropwizard.metrics.servlets.HealthCheckServlet;
+import io.dropwizard.metrics.servlets.PingServlet;
 import com.google.gson.Gson;
 
 import io.micrometer.core.instrument.Clock;
@@ -26,17 +26,17 @@ import io.micrometer.core.instrument.Tags;
 import io.micrometer.core.instrument.binder.jetty.InstrumentedQueuedThreadPool;
 import io.micrometer.core.instrument.binder.jetty.JettyConnectionMetrics;
 import io.micrometer.core.instrument.binder.jetty.JettySslHandshakeMetrics;
-import io.micrometer.core.instrument.binder.jetty.TimedHandler;
 import io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics;
 import io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics;
 import io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics;
 import io.micrometer.core.instrument.binder.system.FileDescriptorMetrics;
 import io.micrometer.core.instrument.binder.system.ProcessorMetrics;
 import io.micrometer.core.instrument.binder.system.UptimeMetrics;
+import io.micrometer.jetty11.TimedHandler;
 import io.micrometer.jmx.JmxConfig;
 import io.micrometer.jmx.JmxMeterRegistry;
-import io.micrometer.prometheus.PrometheusConfig;
-import io.micrometer.prometheus.PrometheusMeterRegistry;
+import io.micrometer.prometheusmetrics.PrometheusConfig;
+import io.micrometer.prometheusmetrics.PrometheusMeterRegistry;
 
 import java.io.File;
 import java.io.IOException;
@@ -50,12 +50,12 @@ import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.EnumSet;
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 import javax.management.remote.JMXServiceURL;
-import javax.servlet.DispatcherType;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.websocket.server.ServerEndpointConfig;
+import jakarta.servlet.DispatcherType;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.websocket.server.ServerEndpointConfig;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.web.env.EnvironmentLoaderListener;
@@ -115,8 +115,7 @@ import org.eclipse.jetty.servlet.FilterHolder;
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 import org.eclipse.jetty.webapp.WebAppContext;
-import 
org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer;
-import org.eclipse.jetty.websocket.servlet.WebSocketServlet;
+import 
org.eclipse.jetty.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer;
 import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.hk2.api.ServiceLocatorFactory;
 import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
@@ -207,7 +206,6 @@ public class ZeppelinServer implements AutoCloseable {
                 .to(RemoteInterpreterProcessListener.class)
                 .to(ApplicationEventListener.class)
                 .to(NoteEventListener.class)
-                .to(WebSocketServlet.class)
                 .in(Singleton.class);
             if (zConf.isZeppelinNotebookCronEnable()) {
               
bind(QuartzSchedulerService.class).to(SchedulerService.class).in(Singleton.class);
@@ -270,6 +268,10 @@ public class ZeppelinServer implements AutoCloseable {
     notebook.recoveryIfNecessary();
 
     LOGGER.info("Starting zeppelin server");
+    /*
+     * Get a nice Dump after jetty start, quite helpful for debugging
+     * jettyWebServer.setDumpAfterStart(true);
+     */
     try {
       jettyWebServer.start(); // Instantiates ZeppelinServer
       if (zConf.getJettyName() != null) {
@@ -475,7 +477,7 @@ public class ZeppelinServer implements AutoCloseable {
 
   private void setupNotebookServer(WebAppContext webapp) {
     String maxTextMessageSize = zConf.getWebsocketMaxTextMessageSize();
-    WebSocketServerContainerInitializer
+    JakartaWebSocketServletContainerInitializer
             .configure(webapp, (servletContext, wsContainer) -> {
               
wsContainer.setDefaultMaxTextMessageBufferSize(Integer.parseInt(maxTextMessageSize));
               
wsContainer.addEndpoint(ServerEndpointConfig.Builder.create(NotebookServer.class,
 "/ws")
@@ -483,7 +485,7 @@ public class ZeppelinServer implements AutoCloseable {
             });
   }
 
-  private static SslContextFactory getSslContextFactory(ZeppelinConfiguration 
zConf) {
+  private static SslContextFactory.Server 
getSslContextFactory(ZeppelinConfiguration zConf) {
     SslContextFactory.Server sslContextFactory = new 
SslContextFactory.Server();
 
     // initialize KeyStore
@@ -559,7 +561,7 @@ public class ZeppelinServer implements AutoCloseable {
     final ServletHolder servletHolder =
         new ServletHolder(new org.glassfish.jersey.servlet.ServletContainer());
 
-    servletHolder.setInitParameter("javax.ws.rs.Application", 
RestApiApplication.class.getName());
+    servletHolder.setInitParameter("jakarta.ws.rs.Application", 
RestApiApplication.class.getName());
     servletHolder.setName("rest");
     webapp.addServlet(servletHolder, "/api/*");
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/AdminService.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/AdminService.java
index 3df728e5dc..093511510e 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/AdminService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/AdminService.java
@@ -24,7 +24,7 @@ import java.util.Spliterator;
 import java.util.Spliterators;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
-import javax.ws.rs.BadRequestException;
+import jakarta.ws.rs.BadRequestException;
 import org.apache.log4j.LogManager;
 import org.apache.zeppelin.rest.message.LoggerRequest;
 
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/ConfigurationService.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/ConfigurationService.java
index b4c4bedac7..a73c0a9bb6 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/ConfigurationService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/ConfigurationService.java
@@ -18,7 +18,7 @@
 
 package org.apache.zeppelin.service;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import java.io.IOException;
 import java.util.Map;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/InterpreterService.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/InterpreterService.java
index 82528d6719..a845bf869a 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/InterpreterService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/InterpreterService.java
@@ -26,7 +26,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import jline.internal.Preconditions;
 import org.apache.commons.io.FileUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/JobManagerService.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/JobManagerService.java
index 0c521aa520..6a06d06680 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/JobManagerService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/JobManagerService.java
@@ -17,7 +17,7 @@
 
 package org.apache.zeppelin.service;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.apache.zeppelin.notebook.AuthorizationService;
@@ -34,7 +34,6 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * Service class for JobManager Page
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/NoAuthenticationService.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/NoAuthenticationService.java
index 93bc0b4217..d41273b3aa 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/NoAuthenticationService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/NoAuthenticationService.java
@@ -23,7 +23,7 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.apache.shiro.realm.Realm;
 import org.slf4j.Logger;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
index 48335ebc96..c924ed898b 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
@@ -38,7 +38,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/ShiroAuthenticationService.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/ShiroAuthenticationService.java
index 3f56ff0380..72e6ffb9d8 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/ShiroAuthenticationService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/ShiroAuthenticationService.java
@@ -26,7 +26,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
 import javax.naming.directory.Attributes;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/ConnectionManager.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/ConnectionManager.java
index 4635bb5bec..c4c0a3aa5d 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/ConnectionManager.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/ConnectionManager.java
@@ -40,7 +40,7 @@ import org.apache.zeppelin.util.WatcherSecurityKey;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
index d08ee85fa9..57dade43c0 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
@@ -40,16 +40,16 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicReference;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.websocket.CloseReason;
-import javax.websocket.EndpointConfig;
-import javax.websocket.OnClose;
-import javax.websocket.OnError;
-import javax.websocket.OnMessage;
-import javax.websocket.OnOpen;
-import javax.websocket.Session;
-import javax.websocket.server.ServerEndpoint;
+import jakarta.inject.Inject;
+import jakarta.inject.Provider;
+import jakarta.websocket.CloseReason;
+import jakarta.websocket.EndpointConfig;
+import jakarta.websocket.OnClose;
+import jakarta.websocket.OnError;
+import jakarta.websocket.OnMessage;
+import jakarta.websocket.OnOpen;
+import jakarta.websocket.Session;
+import jakarta.websocket.server.ServerEndpoint;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.thrift.TException;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookSocket.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookSocket.java
index 6050c54b87..1805ce456f 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookSocket.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookSocket.java
@@ -24,7 +24,7 @@ import org.slf4j.LoggerFactory;
 import java.io.IOException;
 import java.util.Map;
 
-import javax.websocket.Session;
+import jakarta.websocket.Session;
 
 /**
  * Notebook websocket.
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/SessionConfigurator.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/SessionConfigurator.java
index ada3053c1a..03961782ca 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/SessionConfigurator.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/SessionConfigurator.java
@@ -18,10 +18,10 @@ package org.apache.zeppelin.socket;
 
 import java.util.List;
 
-import javax.websocket.HandshakeResponse;
-import javax.websocket.server.HandshakeRequest;
-import javax.websocket.server.ServerEndpointConfig;
-import javax.websocket.server.ServerEndpointConfig.Configurator;
+import jakarta.websocket.HandshakeResponse;
+import jakarta.websocket.server.HandshakeRequest;
+import jakarta.websocket.server.ServerEndpointConfig;
+import jakarta.websocket.server.ServerEndpointConfig.Configurator;
 
 import org.apache.zeppelin.util.WatcherSecurityKey;
 import org.apache.zeppelin.utils.CorsUtils;
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/utils/AnyOfRolesUserAuthorizationFilter.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/utils/AnyOfRolesUserAuthorizationFilter.java
index 7234ffa8c2..d6d268d371 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/utils/AnyOfRolesUserAuthorizationFilter.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/utils/AnyOfRolesUserAuthorizationFilter.java
@@ -16,11 +16,12 @@
  */
 package org.apache.zeppelin.utils;
 
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
 import org.apache.shiro.subject.Subject;
 import org.apache.shiro.web.filter.authz.RolesAuthorizationFilter;
 
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+
 /**
  * Allows access if current user has at least one role of the specified list.
  * <p>
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/utils/ExceptionUtils.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/utils/ExceptionUtils.java
index ce87e5e88a..1882a46ed3 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/utils/ExceptionUtils.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/utils/ExceptionUtils.java
@@ -16,7 +16,7 @@
  */
 package org.apache.zeppelin.utils;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.zeppelin.server.JsonResponse;
 
@@ -26,11 +26,11 @@ import org.apache.zeppelin.server.JsonResponse;
  */
 public class ExceptionUtils {
 
-  public static javax.ws.rs.core.Response jsonResponse(Status status) {
+  public static jakarta.ws.rs.core.Response jsonResponse(Status status) {
     return new JsonResponse<>(status).build();
   }
-  
-  public static javax.ws.rs.core.Response jsonResponseContent(Status status, 
String message) {
+
+  public static jakarta.ws.rs.core.Response jsonResponseContent(Status status, 
String message) {
     return new JsonResponse<>(status, message).build();
   }
 }
diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/utils/ServerUtils.java 
b/zeppelin-server/src/main/java/org/apache/zeppelin/utils/ServerUtils.java
index 179a2a6565..e744f70628 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/utils/ServerUtils.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/utils/ServerUtils.java
@@ -16,7 +16,7 @@
  */
 package org.apache.zeppelin.utils;
 
-import javax.websocket.Session;
+import jakarta.websocket.Session;
 
 public class ServerUtils {
   private ServerUtils() {
@@ -30,7 +30,7 @@ public class ServerUtils {
    */
   public static String getRemoteAddress(Session session) {
     if (session != null && session.getUserProperties() != null) {
-      return 
String.valueOf(session.getUserProperties().get("javax.websocket.endpoint.remoteAddress"));
+      return 
String.valueOf(session.getUserProperties().get("jakarta.websocket.endpoint.remoteAddress"));
     }
     return "unknown";
   }
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/CredentialsRestApiTest.java
 
b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/CredentialsRestApiTest.java
index 15f45a5c6e..7d08a24472 100644
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/CredentialsRestApiTest.java
+++ 
b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/CredentialsRestApiTest.java
@@ -25,8 +25,8 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 
 import java.io.IOException;
 import java.util.Map;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.zeppelin.service.AuthenticationService;
 import org.apache.zeppelin.service.NoAuthenticationService;
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/SessionRestApiTest.java
 
b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/SessionRestApiTest.java
index 05d3b8a8cd..37c33b700b 100644
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/SessionRestApiTest.java
+++ 
b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/SessionRestApiTest.java
@@ -33,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import java.io.IOException;
 import java.lang.reflect.Type;
 import java.nio.charset.StandardCharsets;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 class SessionRestApiTest extends AbstractTestRestApi {
   Gson gson = new Gson();
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java 
b/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java
index 15c95904a0..0a6f1eddfb 100644
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java
+++ 
b/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java
@@ -17,7 +17,6 @@
 package org.apache.zeppelin.server;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
@@ -28,12 +27,13 @@ import org.junit.jupiter.api.Test;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
 import java.io.IOException;
 
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 
 /**
  * Basic CORS REST API tests.
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/server/IndexHtmlServletTest.java
 
b/zeppelin-server/src/test/java/org/apache/zeppelin/server/IndexHtmlServletTest.java
index 3bab703eda..22af77db14 100644
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/server/IndexHtmlServletTest.java
+++ 
b/zeppelin-server/src/test/java/org/apache/zeppelin/server/IndexHtmlServletTest.java
@@ -25,16 +25,18 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.net.URL;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+
 
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
 class IndexHtmlServletTest {
 
     private final static String TEST_BODY_ADDON = "<!-- foo -->";
diff --git a/zeppelin-zengine/pom.xml b/zeppelin-zengine/pom.xml
index 90a7fc32db..ad908cdeac 100644
--- a/zeppelin-zengine/pom.xml
+++ b/zeppelin-zengine/pom.xml
@@ -54,6 +54,12 @@
       <groupId>${project.groupId}</groupId>
       <artifactId>zeppelin-interpreter</artifactId>
       <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.inject</groupId>
+          <artifactId>javax.inject</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
 
     <dependency>
@@ -72,6 +78,11 @@
       </exclusions>
     </dependency>
 
+    <dependency>
+        <groupId>jakarta.inject</groupId>
+        <artifactId>jakarta.inject-api</artifactId>
+    </dependency>
+
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
@@ -122,7 +133,7 @@
 
     <dependency>
       <groupId>org.eclipse.jetty.websocket</groupId>
-      <artifactId>websocket-client</artifactId>
+      <artifactId>websocket-jetty-client</artifactId>
       <version>${jetty.version}</version>
     </dependency>
 
@@ -253,7 +264,7 @@
 
     <dependency>
       <groupId>org.eclipse.jetty.websocket</groupId>
-      <artifactId>websocket-server</artifactId>
+      <artifactId>websocket-jetty-server</artifactId>
       <version>${jetty.version}</version>
       <scope>test</scope>
     </dependency>
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java
index 0e6291010e..f5edf27049 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/Helium.java
@@ -29,7 +29,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
index dd112eede0..5ec0a76182 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
@@ -19,7 +19,7 @@ package org.apache.zeppelin.helium;
 import java.io.IOException;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterException;
 import org.apache.zeppelin.interpreter.InterpreterGroup;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
index f06d7c3e5a..e2eeb3467f 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
@@ -48,7 +48,7 @@ import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
 import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
 import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java
index 155465f59f..03460febf6 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java
@@ -17,7 +17,7 @@
 
 package org.apache.zeppelin.interpreter;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import org.apache.commons.lang3.StringUtils;
 
 /**
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
index 6e0c10a33e..434d950312 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
@@ -35,7 +35,7 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java
index 7fa32613dd..70e7aac159 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java
@@ -24,7 +24,7 @@ import org.apache.zeppelin.user.AuthenticationInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import java.io.IOException;
 import java.util.HashSet;
 import java.util.Map;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/GsonNoteParser.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/GsonNoteParser.java
index 45c831c945..f3489bb611 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/GsonNoteParser.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/GsonNoteParser.java
@@ -19,7 +19,7 @@ package org.apache.zeppelin.notebook;
 
 import java.util.Date;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.apache.zeppelin.display.Input;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteManager.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteManager.java
index 1147b97b44..e0469a825a 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteManager.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteManager.java
@@ -28,8 +28,8 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.locks.Lock;
 import java.util.stream.Collectors;
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
 import org.apache.zeppelin.notebook.Notebook.NoteProcessor;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
index 1f98c716f1..07ac519651 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
@@ -36,7 +36,7 @@ import java.util.function.Consumer;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
index 637847219f..cbc2263c71 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
@@ -38,8 +38,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 /**
  * Notebook repository sync with remote storage
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/QuartzSchedulerService.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/QuartzSchedulerService.java
index 7508960f7c..fa64b8d076 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/QuartzSchedulerService.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/QuartzSchedulerService.java
@@ -19,7 +19,7 @@ package org.apache.zeppelin.notebook.scheduler;
 
 import java.io.IOException;
 import java.util.Map;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/plugin/PluginManager.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/plugin/PluginManager.java
index eb162bb82a..b229d0f0f5 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/plugin/PluginManager.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/plugin/PluginManager.java
@@ -39,7 +39,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 /**
  * Class for loading Plugins. It is singleton and factory class.
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/LuceneSearch.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/LuceneSearch.java
index 601f3c6f4a..3f28f8eb65 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/LuceneSearch.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/LuceneSearch.java
@@ -26,7 +26,7 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import javax.annotation.PreDestroy;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.lucene.analysis.Analyzer;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/NoSearchService.java
 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/NoSearchService.java
index 9f430c0e03..1d0d33d304 100644
--- 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/NoSearchService.java
+++ 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/NoSearchService.java
@@ -17,7 +17,7 @@
 
 package org.apache.zeppelin.search;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
diff --git 
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/Credentials.java 
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/Credentials.java
index a6248edf52..239dc6b973 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/Credentials.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/Credentials.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.zeppelin.conf.ZeppelinConfiguration;

Reply via email to