diff --git a/hbase-http/pom.xml b/hbase-http/pom.xml
index 1cdc45364cd6..24e7eca4890d 100644
--- a/hbase-http/pom.xml
+++ b/hbase-http/pom.xml
@@ -163,40 +163,12 @@
true
- org.eclipse.jetty
- jetty-server
-
-
- org.eclipse.jetty
- jetty-servlet
-
-
- org.eclipse.jetty
- jetty-util
-
-
- org.eclipse.jetty
- jetty-util-ajax
-
-
- org.eclipse.jetty
- jetty-webapp
-
-
- org.eclipse.jetty
- jetty-http
-
-
- org.eclipse.jetty
- jetty-security
-
-
- org.glassfish.jersey.core
- jersey-server
+ org.apache.hbase.thirdparty
+ hbase-shaded-jetty
- org.glassfish.jersey.containers
- jersey-container-servlet-core
+ org.apache.hbase.thirdparty
+ hbase-shaded-jersey
@@ -285,6 +257,18 @@
+
+ build-with-jdk11
+
+ [1.11,)
+
+
+
+ javax.xml.bind
+ jaxb-api
+
+
+
apache-release
diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/AdminAuthorizedServlet.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/AdminAuthorizedServlet.java
index bd8570e245be..3c9d7e6015ca 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/AdminAuthorizedServlet.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/AdminAuthorizedServlet.java
@@ -25,7 +25,7 @@
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.yetus.audience.InterfaceStability;
-import org.eclipse.jetty.servlet.DefaultServlet;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.DefaultServlet;
/**
* General servlet which is admin-authorized.
diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java
index 0eb66a7c72c7..38fe5855d787 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpRequestLog.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.hbase.http;
import org.apache.yetus.audience.InterfaceAudience;
-import org.eclipse.jetty.server.RequestLog;
-import org.eclipse.jetty.server.Slf4jRequestLog;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.RequestLog;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Slf4jRequestLog;
import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableMap;
diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
index 395c9253ee2a..faa84cc8151f 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
@@ -66,30 +66,30 @@
import org.apache.hadoop.util.StringUtils;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.yetus.audience.InterfaceStability;
-import org.eclipse.jetty.http.HttpVersion;
-import org.eclipse.jetty.server.Handler;
-import org.eclipse.jetty.server.HttpConfiguration;
-import org.eclipse.jetty.server.HttpConnectionFactory;
-import org.eclipse.jetty.server.RequestLog;
-import org.eclipse.jetty.server.SecureRequestCustomizer;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.server.SslConnectionFactory;
-import org.eclipse.jetty.server.handler.ContextHandlerCollection;
-import org.eclipse.jetty.server.handler.HandlerCollection;
-import org.eclipse.jetty.server.handler.RequestLogHandler;
-import org.eclipse.jetty.server.handler.gzip.GzipHandler;
-import org.eclipse.jetty.servlet.DefaultServlet;
-import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.FilterMapping;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.util.MultiException;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-import org.eclipse.jetty.util.thread.QueuedThreadPool;
-import org.eclipse.jetty.webapp.WebAppContext;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.servlet.ServletContainer;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.http.HttpVersion;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Handler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpConfiguration;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpConnectionFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.RequestLog;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.SecureRequestCustomizer;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.ServerConnector;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.SslConnectionFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.ContextHandlerCollection;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.HandlerCollection;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.RequestLogHandler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.gzip.GzipHandler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.DefaultServlet;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterMapping;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletContextHandler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.MultiException;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.QueuedThreadPool;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.webapp.WebAppContext;
+import org.apache.hbase.thirdparty.org.glassfish.jersey.server.ResourceConfig;
+import org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -888,10 +888,8 @@ void addInternalServlet(String name, String pathSpec,
fmap.setFilterName(AdminAuthorizedFilter.class.getSimpleName());
webAppContext.getServletHandler().addFilter(filter, fmap);
}
- webAppContext.getSessionHandler().getSessionManager().
- getSessionCookieConfig().setHttpOnly(true);
- webAppContext.getSessionHandler().getSessionManager().
- getSessionCookieConfig().setSecure(true);
+ webAppContext.getSessionHandler().getSessionCookieConfig().setHttpOnly(true);
+ webAppContext.getSessionHandler().getSessionCookieConfig().setSecure(true);
webAppContext.addServlet(holder, pathSpec);
}
diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java
index e41daf310792..ce43c2b3c881 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServerUtil.java
@@ -18,10 +18,10 @@
package org.apache.hadoop.hbase.http;
import org.apache.yetus.audience.InterfaceAudience;
-import org.eclipse.jetty.security.ConstraintMapping;
-import org.eclipse.jetty.security.ConstraintSecurityHandler;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.util.security.Constraint;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.security.ConstraintMapping;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletContextHandler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.security.Constraint;
/**
* HttpServer utility.
diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileOutputServlet.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileOutputServlet.java
index aa3455e684f8..3f9bc1093c8c 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileOutputServlet.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileOutputServlet.java
@@ -26,7 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.yetus.audience.InterfaceAudience;
-import org.eclipse.jetty.servlet.DefaultServlet;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.DefaultServlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/HttpServerFunctionalTest.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/HttpServerFunctionalTest.java
index 1be7297536eb..7f1223980e3d 100644
--- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/HttpServerFunctionalTest.java
+++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/HttpServerFunctionalTest.java
@@ -46,7 +46,7 @@ public class HttpServerFunctionalTest extends Assert {
/** JVM property for the webapp test dir : {@value} */
public static final String TEST_BUILD_WEBAPPS = "test.build.webapps";
/** expected location of the test.build.webapps dir: {@value} */
- private static final String BUILD_WEBAPPS_DIR = "src/main/resources/hbase-webapps";
+ private static final String BUILD_WEBAPPS_DIR = "src/test/resources/webapps";
/** name of the test webapp: {@value} */
private static final String TEST = "test";
diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpRequestLog.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpRequestLog.java
index eef5e7b6538a..a1bbee6dfd9a 100644
--- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpRequestLog.java
+++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpRequestLog.java
@@ -23,8 +23,8 @@
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.MiscTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.eclipse.jetty.server.RequestLog;
-import org.eclipse.jetty.server.Slf4jRequestLog;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.RequestLog;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Slf4jRequestLog;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpServer.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpServer.java
index 01bc8c53ee70..d9eac11e4e12 100644
--- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpServer.java
+++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpServer.java
@@ -61,8 +61,8 @@
import org.apache.hadoop.security.ShellBasedUnixGroupsMapping;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.authorize.AccessControlList;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.util.ajax.JSON;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.ServerConnector;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.ajax.JSON;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHeaders;
import org.apache.http.client.methods.CloseableHttpResponse;
diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestProxyUserSpnegoHttpServer.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestProxyUserSpnegoHttpServer.java
index 804c837178c2..1079e0016c66 100644
--- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestProxyUserSpnegoHttpServer.java
+++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestProxyUserSpnegoHttpServer.java
@@ -266,7 +266,8 @@ public HttpResponse run() throws Exception {
if(responseCode == HttpURLConnection.HTTP_OK) {
assertTrue(EntityUtils.toString(resp.getEntity()).trim().contains("a:b"));
} else {
- assertTrue(resp.getStatusLine().toString().contains(statusLine));
+ assertTrue(resp.getStatusLine().toString().contains(statusLine) ||
+ EntityUtils.toString(resp.getEntity()).contains(statusLine));
}
}
diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/conf/TestConfServlet.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/conf/TestConfServlet.java
index 53e129fa8722..de87eb23b03e 100644
--- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/conf/TestConfServlet.java
+++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/conf/TestConfServlet.java
@@ -29,7 +29,7 @@
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.MiscTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.eclipse.jetty.util.ajax.JSON;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.ajax.JSON;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/resource/JerseyResource.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/resource/JerseyResource.java
index 593b1c222481..340d554357c6 100644
--- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/resource/JerseyResource.java
+++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/resource/JerseyResource.java
@@ -30,7 +30,7 @@
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.eclipse.jetty.util.ajax.JSON;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.ajax.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/hbase-it/pom.xml b/hbase-it/pom.xml
index 9a6107c2370c..ddd9ad389d92 100644
--- a/hbase-it/pom.xml
+++ b/hbase-it/pom.xml
@@ -50,6 +50,9 @@
META-INF/LICENSE
+
+ src/test/resources
+
@@ -247,10 +250,6 @@
org.apache.htrace
htrace-core4
-
- org.glassfish.jersey.core
- jersey-client
-
io.netty
@@ -283,16 +282,6 @@
javax.servlet
test
-
- org.eclipse.jetty
- jetty-server
- test
-
-
- org.eclipse.jetty
- jetty-util
- test
-
junit
junit
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/MockHttpApiRule.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/MockHttpApiRule.java
index d35d8f9c5187..9fb5c3fee3a8 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/MockHttpApiRule.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/MockHttpApiRule.java
@@ -29,13 +29,13 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.core.MediaType;
-import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.server.RequestLog;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.server.Slf4jRequestLog;
-import org.eclipse.jetty.server.handler.AbstractHandler;
-import org.eclipse.jetty.util.RegexSet;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Request;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.RequestLog;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.ServerConnector;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Slf4jRequestLog;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.handler.AbstractHandler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.RegexSet;
import org.junit.rules.ExternalResource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/RESTApiClusterManager.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/RESTApiClusterManager.java
index 10954ce164b8..69f9dd1dbf35 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/RESTApiClusterManager.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/RESTApiClusterManager.java
@@ -47,7 +47,7 @@
import org.apache.hadoop.hbase.util.RetryCounter.RetryConfig;
import org.apache.hadoop.hbase.util.RetryCounterFactory;
import org.apache.hadoop.util.ReflectionUtils;
-import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
+import org.apache.hbase.thirdparty.org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.gson.JsonElement;
diff --git a/hbase-it/src/test/resources/META-INF/services/javax.ws.rs.client.ClientBuilder b/hbase-it/src/test/resources/META-INF/services/javax.ws.rs.client.ClientBuilder
new file mode 100644
index 000000000000..a7bde12c79e0
--- /dev/null
+++ b/hbase-it/src/test/resources/META-INF/services/javax.ws.rs.client.ClientBuilder
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+org.apache.hbase.thirdparty.org.glassfish.jersey.client.JerseyClientBuilder
diff --git a/hbase-resource-bundle/src/main/resources/supplemental-models.xml b/hbase-resource-bundle/src/main/resources/supplemental-models.xml
index ec2ea8122973..21ada4c9d9a4 100644
--- a/hbase-resource-bundle/src/main/resources/supplemental-models.xml
+++ b/hbase-resource-bundle/src/main/resources/supplemental-models.xml
@@ -3265,4 +3265,61 @@ Copyright (c) 2007-2017 The JRuby project
+
+
+ jakarta.validation
+ jakarta.validation-api
+ Jakarta Bean Validation API
+
+
+ Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ Jakarta RESTful Web Services
+
+
+ Eclipse Public License 2.0
+ https://www.eclipse.org/legal/epl-v20.html
+ repo
+
+
+
+
+
+
+ org.glassfish.hk2.external
+ jakarta.inject
+ Injection API (JSR 330) repackaged as OSGi bundle
+
+
+ Eclipse Public License 2.0
+ https://www.eclipse.org/legal/epl-v20.html
+ repo
+
+
+
+
+
+
+ javax.ws.rs
+ javax.ws.rs-api
+ 2.1.1
+ Java API for RESTful Web Services
+
+
+ Eclipse Public License 2.0
+ https://www.eclipse.org/legal/epl-v20.html
+ repo
+
+
+
+
diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml
index f91b2ba025c8..912c62ad11f6 100644
--- a/hbase-rest/pom.xml
+++ b/hbase-rest/pom.xml
@@ -278,30 +278,6 @@
com.sun.activation
javax.activation
-
- org.eclipse.jetty
- jetty-server
-
-
- org.eclipse.jetty
- jetty-servlet
-
-
- org.eclipse.jetty
- jetty-util
-
-
- org.eclipse.jetty
- jetty-http
-
-
- org.eclipse.jetty
- jetty-jmx
-
-
- org.glassfish.jersey.containers
- jersey-container-servlet-core
-
com.fasterxml.jackson.jaxrs
jackson-jaxrs-json-provider
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java
index 40354e87f093..f5267f930a48 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java
@@ -46,21 +46,21 @@
import org.apache.hadoop.hbase.util.Strings;
import org.apache.hadoop.hbase.util.VersionInfo;
import org.apache.yetus.audience.InterfaceAudience;
-import org.eclipse.jetty.http.HttpVersion;
-import org.eclipse.jetty.jmx.MBeanContainer;
-import org.eclipse.jetty.server.HttpConfiguration;
-import org.eclipse.jetty.server.HttpConnectionFactory;
-import org.eclipse.jetty.server.SecureRequestCustomizer;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.server.SslConnectionFactory;
-import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-import org.eclipse.jetty.util.thread.QueuedThreadPool;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.servlet.ServletContainer;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.http.HttpVersion;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.jmx.MBeanContainer;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpConfiguration;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpConnectionFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.SecureRequestCustomizer;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.ServerConnector;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.SslConnectionFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.FilterHolder;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletContextHandler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.QueuedThreadPool;
+import org.apache.hbase.thirdparty.org.glassfish.jersey.server.ResourceConfig;
+import org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java
index 2b6a6c7f6291..0ef4fb3bc498 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServletContainer.java
@@ -29,8 +29,8 @@
import org.apache.hadoop.security.authorize.AuthorizationException;
import org.apache.hadoop.security.authorize.ProxyUsers;
import org.apache.yetus.audience.InterfaceAudience;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.servlet.ServletContainer;
+import org.apache.hbase.thirdparty.org.glassfish.jersey.server.ResourceConfig;
+import org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer;
/**
* REST servlet container. It is used to get the remote request user
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/VersionModel.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/VersionModel.java
index 378d149b5ee9..307244a3f236 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/VersionModel.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/VersionModel.java
@@ -31,7 +31,7 @@
import org.apache.hadoop.hbase.rest.RESTServlet;
import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.rest.protobuf.generated.VersionMessage.Version;
-import org.glassfish.jersey.servlet.ServletContainer;
+import org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer;
/**
diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml
index f513e1d22eee..0c52396c3e76 100644
--- a/hbase-server/pom.xml
+++ b/hbase-server/pom.xml
@@ -367,18 +367,6 @@
test-jar
test
-
- org.eclipse.jetty
- jetty-server
-
-
- org.eclipse.jetty
- jetty-servlet
-
-
- org.eclipse.jetty
- jetty-webapp
-
javax.annotation:javax.annotation-api
javax.activation:javax.activation-api
+ jakarta.ws.rs:jakarta.ws.rs-api
+ jakarta.annotation:jakarta.annotation-api
+ jakarta.validation:jakarta.validation-api
+ org.glassfish.hk2.external:jakarta.inject
javax.annotation:javax.annotation-api
javax.activation:javax.activation-api
+ jakarta.ws.rs:jakarta.ws.rs-api
+ jakarta.annotation:jakarta.annotation-api
+ jakarta.validation:jakarta.validation-api
+ org.glassfish.hk2.external:jakarta.inject
javax.annotation:javax.annotation-api
javax.activation:javax.activation-api
+ javax.activation:javax.activation-api
+ jakarta.ws.rs:jakarta.ws.rs-api
+ jakarta.annotation:jakarta.annotation-api
+ jakarta.validation:jakarta.validation-api
+ org.glassfish.hk2.external:jakarta.inject
org.apache.hadoop:*
@@ -152,6 +157,7 @@
org.apache.yetus:*
log4j:*
commons-logging:*
+ org.javassist:*
diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml
index 1db984f236f5..c0406a979a64 100644
--- a/hbase-thrift/pom.xml
+++ b/hbase-thrift/pom.xml
@@ -212,31 +212,15 @@
org.apache.thrift
libthrift
-
- org.eclipse.jetty
- jetty-server
-
-
- org.eclipse.jetty
- jetty-servlet
-
junit
junit
test
-
- org.eclipse.jetty
- jetty-http
-
javax.servlet
javax.servlet-api
-
- org.eclipse.jetty
- jetty-util
-
com.github.stephenc.findbugs
findbugs-annotations
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
index 541438c51454..a081cf4e46b7 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java
@@ -133,17 +133,17 @@
import org.apache.thrift.transport.TTransportFactory;
import org.apache.thrift.transport.layered.TFramedTransport;
import org.apache.yetus.audience.InterfaceAudience;
-import org.eclipse.jetty.http.HttpVersion;
-import org.eclipse.jetty.server.HttpConfiguration;
-import org.eclipse.jetty.server.HttpConnectionFactory;
-import org.eclipse.jetty.server.SecureRequestCustomizer;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.server.SslConnectionFactory;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-import org.eclipse.jetty.util.thread.QueuedThreadPool;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.http.HttpVersion;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpConfiguration;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.HttpConnectionFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.SecureRequestCustomizer;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.Server;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.ServerConnector;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.server.SslConnectionFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletContextHandler;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.servlet.ServletHolder;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.apache.hbase.thirdparty.org.eclipse.jetty.util.thread.QueuedThreadPool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/pom.xml b/pom.xml
index d15489d123ae..3924fcd999dc 100755
--- a/pom.xml
+++ b/pom.xml
@@ -977,6 +977,45 @@
+
+ banned-jetty
+
+ enforce
+
+
+
+
+
+ org.eclipse.jetty:**
+
+
+ Use shaded jetty instead
+
+ false
+
+
+
+
+
+ banned-jersey
+
+ enforce
+
+
+
+
+
+ >org.glassfish.jersey.containers:**
+ >org.glassfish.jersey.core:**
+
+
+ Use shaded jersey instead
+
+ false
+
+
+
+
check-aggregate-license
process-resources
@@ -1090,6 +1129,22 @@
org.htrace.**
+
+ true
+ 512
+ Use shaded jetty in hbase-thirdparty
+
+ org.eclipse.jetty.**
+
+
+
+ true
+ 512
+ Use shaded jersey in hbase-thirdparty
+
+ org.glassfish.jersey.**
+
+
@@ -1376,12 +1431,9 @@
3.2.6
2.10.1
2.10.1
- 2.2.12
- 9.3.28.v20191105
+ 2.3.1
3.1.0
- 2.0.1
-
- 2.25.1
+ 2.1.1
2.3.2
3.0.1-b08
9.1.17.0
@@ -1434,7 +1486,7 @@
3.0.0-M4
2.12
1.0.1
- 3.3.0
+ 3.4.0
@@ -1495,8 +1547,8 @@
${hbase-surefire.argLine}
0.7.5.201505241946
- 1.0-beta-9
- 3.0.0-M2
+ 1.3
+ 3.0.0-M3
0.14.0
${project.build.directory}/test-classes
@@ -2019,77 +2071,11 @@
javax.annotation-api
1.2
-
- org.eclipse.jetty
- jetty-server
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-servlet
- ${jetty.version}
-
-
- org.eclipse.jetty
- servlet-api
-
-
-
-
- org.eclipse.jetty
- jetty-security
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-http
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-util
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-io
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-jmx
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-webapp
- ${jetty.version}
-
-
- org.eclipse.jetty
- jetty-util-ajax
- ${jetty.version}
-
com.google.protobuf
protobuf-java
${external.protobuf.version}
-
- org.glassfish.jersey.containers
- jersey-container-servlet-core
- ${jersey.version}
-
-
- org.glassfish.jersey.core
- jersey-client
- ${jersey.version}
-
-
- org.glassfish.jersey.core
- jersey-server
- ${jersey.version}
-
org.glassfish.web
@@ -2253,6 +2239,16 @@
hbase-shaded-protobuf
${hbase-thirdparty.version}
+
+ org.apache.hbase.thirdparty
+ hbase-shaded-jetty
+ ${hbase-thirdparty.version}
+
+
+ org.apache.hbase.thirdparty
+ hbase-shaded-jersey
+ ${hbase-thirdparty.version}
+
com.sun.xml.ws
jaxws-ri