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 b78af2f549..a0ace24ef7 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
@@ -1,4 +1,4 @@
-/**
+/*
* 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
@@ -68,7 +68,9 @@ import org.eclipse.jetty.servlet.FilterHolder;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.servlet.ServletContainer;
+import org.glassfish.jersey.internal.RuntimeDelegateImpl;
+import javax.ws.rs.ext.RuntimeDelegate;
import javax.servlet.DispatcherType;
/**
@@ -234,8 +236,9 @@ public class RESTServer implements Constants {
parseCommandLine(args, servlet);
- // set up the Jersey servlet container for Jetty
- ResourceConfig application = new ResourceConfig();
+ // Set up the Jersey servlet container for Jetty
+ ResourceConfig application = // new ResourceConfig();
+ new ResourceConfig().packages("org.apache.hadoop.hbase.rest");
ServletHolder sh = new ServletHolder(new ServletContainer(application));
// Set the default max thread number to 100 to limit
@@ -324,7 +327,11 @@ public class RESTServer implements Constants {
server.addConnector(serverConnector);
server.setStopAtShutdown(true);
- // set up context
+ // Load jersey2 RuntimeDelegate else we get jersey1 default which
+ // isn't on our classpath.
+ RuntimeDelegate.setInstance(new RuntimeDelegateImpl());
+
+ // Set up context
ServletContextHandler ctxHandler = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
ctxHandler.addServlet(sh, PATH_SPEC_ANY);
if (authFilter != null) {
diff --git a/pom.xml b/pom.xml
index 9da4c6b2d7..c78e8615ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1530,6 +1530,12 @@
org.apache.hbase
hbase-hadoop-compat
${project.version}
+
+
+ com.sun.jersey
+ jersey-core
+
+
org.apache.hbase
@@ -1537,6 +1543,12 @@
${project.version}
test-jar
test
+
+
+ com.sun.jersey
+ jersey-core
+
+
org.apache.hbase
@@ -2262,6 +2274,10 @@
hadoop-mapreduce-client-core
${hadoop-two.version}
+
+ com.sun.jersey
+ jersey-core
+
io.netty
netty
@@ -2278,6 +2294,14 @@
${hadoop-two.version}
+ com.sun.jersey
+ jersey-core
+
+
+ com.sun.jersey
+ jersey-core
+
+
io.netty
netty
@@ -2295,6 +2319,10 @@
test
+ com.sun.jersey
+ jersey-core
+
+
io.netty
netty
@@ -2309,6 +2337,10 @@
hadoop-hdfs
+ com.sun.jersey
+ jersey-core
+
+
javax.servlet.jsp
jsp-api
@@ -2339,6 +2371,10 @@
test
+ com.sun.jersey
+ jersey-core
+
+
javax.servlet.jsp
jsp-api
@@ -2371,6 +2407,10 @@
${hadoop-two.version}
+ com.sun.jersey
+ jersey-core
+
+
javax.servlet.jsp
jsp-api
@@ -2408,6 +2448,10 @@
hadoop-minicluster
${hadoop-two.version}
+
+ com.sun.jersey
+ jersey-core
+
commons-httpclient
commons-httpclient
@@ -2439,6 +2483,12 @@
hadoop-minikdc
${hadoop-two.version}
test
+
+
+ com.sun.jersey
+ jersey-core
+
+
@@ -2473,6 +2523,10 @@
${hadoop-three.version}
+ com.sun.jersey
+ jersey-core
+
+
io.netty
netty
@@ -2484,6 +2538,10 @@
${hadoop-three.version}
+ com.sun.jersey
+ jersey-core
+
+
io.netty
netty
@@ -2497,6 +2555,10 @@
test
+ com.sun.jersey
+ jersey-core
+
+
io.netty
netty
@@ -2533,6 +2595,10 @@
test
+ com.sun.jersey
+ jersey-core
+
+
javax.servlet.jsp
jsp-api
@@ -2556,6 +2622,10 @@
${hadoop-three.version}
+ com.sun.jersey
+ jersey-core
+
+
com.google.guava
guava
@@ -2567,6 +2637,10 @@
${hadoop-three.version}
+ com.sun.jersey
+ jersey-core
+
+
javax.servlet.jsp
jsp-api
@@ -2596,6 +2670,12 @@
org.apache.hadoop
hadoop-client
${hadoop-three.version}
+
+
+ com.sun.jersey
+ jersey-core
+
+
org.apache.hadoop
@@ -2609,6 +2689,10 @@
hadoop-minicluster
${hadoop-three.version}
+
+ com.sun.jersey
+ jersey-core
+
commons-httpclient
commons-httpclient