[ https://issues.apache.org/jira/browse/HBASE-20007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Drob updated HBASE-20007: ------------------------------ Status: Open (was: Patch Available) moving out of patch available because this has had no attention for a while > rest server doesn't start against hadoop-3 in dev tree > ------------------------------------------------------ > > Key: HBASE-20007 > URL: https://issues.apache.org/jira/browse/HBASE-20007 > Project: HBase > Issue Type: Bug > Components: REST > Affects Versions: 2.0.0-alpha-3 > Reporter: Mike Drob > Assignee: Mike Drob > Priority: Minor > Attachments: HBASE-20007.patch, HBASE-20007.patch > > > 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)