Generate JAX-RS bug with workaround/fix

819 views
Skip to first unread message

Archie Lim

unread,
Mar 6, 2017, 8:32:50 PM3/6/17
to Swagger
I used the online editor and generated JAX-RS. With the latest version version: swagger-core-version 1.5.12, I'm getting the following error when I do:

mvn clean package jetty:run



Mar 06, 2017 5:24:03 PM org.glassfish.jersey.internal.Errors logErrors

WARNING: The following warnings have been detected: WARNING: HK2 service reification failed for [org.glassfish.jersey.server.model.ResourceMethodInvoker$Builder] with an exception:

MultiException stack 1 of 1

java.lang.NoClassDefFoundError: javax/validation/Validator

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 org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510)

at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441)

at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:348)

at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)


WARNING] unavailable

java.lang.NullPointerException

at org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder.createInflector(RuntimeModelBuilder.java:128)

at org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder.createMethodRouter(RuntimeModelBuilder.java:115)

at org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder.createResourceMethodRouters(RuntimeModelBuilder.java:309)

at org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder.buildModel(RuntimeModelBuilder.java:173)

at org.glassfish.jersey.server.internal.routing.Routing$Builder.buildStage(Routing.java:196)

at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:587)

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:612)

at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:395)

at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:871)

at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298)

at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)

at org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp(JettyWebAppContext.java:296)

at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)

at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)

at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)

at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:365)

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)

at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)

at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163)

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)

at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)

at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)

at org.eclipse.jetty.server.Server.start(Server.java:387)

at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)

at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)

at org.eclipse.jetty.server.Server.doStart(Server.java:354)

at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:73)

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:534)

at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:357)

at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)

at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)

at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)

at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)

at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)

at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)

at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)

at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)

at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)

at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)

at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

[WARNING] Failed startup of context o.e.j.m.p.JettyWebAppContext@7c1503a3{/,file:/Users/alim/Development/myStock/src/main/webapp/,STARTING}{file:/Users/alim/Development/myStock/src/main/webapp/}

javax.servlet.ServletException: jersey@baa68670==org.glassfish.jersey.servlet.ServletContainer,1,false

at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:633)

at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:395)

at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:871)

at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298)



I compared this with a JAX-RS that was generated a few weeks back that doesn't have this problem and saw that the current one has the following in the pom.xml which is causing the problem.

    <!-- Bean Validation API support -->
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
        <scope>provided</scope>
    </dependency>

By removing it or removing <scope>provided</scope> seem to unblock me for now.

This is a bug, right?
Reply all
Reply to author
Forward
0 new messages