Mike Drob created HBASE-20007:
---------------------------------

             Summary: rest server doesn't start against hadoop-3
                 Key: HBASE-20007
                 URL: https://issues.apache.org/jira/browse/HBASE-20007
             Project: HBase
          Issue Type: Bug
          Components: REST
            Reporter: Mike Drob


While fixing HBASE-19991 I discovered that this command fails:

{noformat}
mvn clean package -Dhadoop.profile=3.0 -DskipTests && bin/hbase-daemon.sh start 
rest
{noformat}

The command itself actually succeeds, but the rest server fails to start with

{noformat}
Exception in thread "main" java.lang.NoClassDefFoundError: 
com/sun/jersey/core/spi/factory/AbstractRuntimeDelegate
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:107)
        at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:166)
        at 
javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:135)
        at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:120)
        at javax.ws.rs.core.MediaType.valueOf(MediaType.java:179)
        at 
org.glassfish.jersey.server.model.IntrospectionModeller.extractMediaTypes(IntrospectionModeller.java:297)
        at 
org.glassfish.jersey.server.model.IntrospectionModeller.extractMediaTypes(IntrospectionModeller.java:282)
        at 
org.glassfish.jersey.server.model.IntrospectionModeller.doCreateResourceBuilder(IntrospectionModeller.java:129)
        at 
org.glassfish.jersey.server.model.IntrospectionModeller.access$000(IntrospectionModeller.java:80)
        at 
org.glassfish.jersey.server.model.IntrospectionModeller$1.call(IntrospectionModeller.java:112)
        at 
org.glassfish.jersey.server.model.IntrospectionModeller$1.call(IntrospectionModeller.java:109)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at 
org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255)
        at 
org.glassfish.jersey.server.model.IntrospectionModeller.createResourceBuilder(IntrospectionModeller.java:109)
        at org.glassfish.jersey.server.model.Resource.from(Resource.java:797)
        at 
org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:465)
        at 
org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:184)
        at 
org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:350)
        at 
org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:347)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at 
org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255)
        at 
org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:347)
        at 
org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392)
        at 
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
        at 
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at 
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:643)
        at 
org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:422)
        at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:892)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:349)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:778)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
        at org.eclipse.jetty.server.Server.start(Server.java:422)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at org.eclipse.jetty.server.Server.doStart(Server.java:389)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.apache.hadoop.hbase.rest.RESTServer.main(RESTServer.java:357)
Caused by: java.lang.ClassNotFoundException: 
com.sun.jersey.core.spi.factory.AbstractRuntimeDelegate
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 56 more
{noformat}

We fixed this for the test classpath, but more needs to be done in the runtime 
classpath?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to