Forum Discussion

jwbumga2's avatar
jwbumga2
New Contributor
10 days ago

Jersey 3.x + Grizzly Web Service Swagger Advice

Hello, 

I was trying to implement Swagger UI into my repository.

We're on Jersey 3.1.10. The guide for integrating with Jersey seems to apply to 2.x versions, so I was looking for advise on how to proceed and get started.

1 Reply

  • jwbumga2's avatar
    jwbumga2
    New Contributor

    https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-Jersey-2.X-Project-Setup-1.5#using-a-custom-application-subclass

    When i try to follow the 2.X guidance, I get this error

    [WARNING] 
    java.lang.NoClassDefFoundError: javax/servlet/ServletConfig
        at java.lang.Class.getDeclaredMethods0 (Native Method)
        at java.lang.Class.privateGetDeclaredMethods (Class.java:3578)
        at java.lang.Class.getDeclaredMethods (Class.java:2676)
        at org.glassfish.jersey.server.model.IntrospectionModeller$2.run (IntrospectionModeller.java:237)
        at java.security.AccessController.doPrivileged (AccessController.java:319)
        at org.glassfish.jersey.server.model.IntrospectionModeller.getAllDeclaredMethods (IntrospectionModeller.java:231)
        at org.glassfish.jersey.server.model.IntrospectionModeller.checkForNonPublicMethodIssues (IntrospectionModeller.java:151)
        at org.glassfish.jersey.server.model.IntrospectionModeller.doCreateResourceBuilder (IntrospectionModeller.java:98)
        at org.glassfish.jersey.server.model.IntrospectionModeller$1.call (IntrospectionModeller.java:91)
        at org.glassfish.jersey.server.model.IntrospectionModeller$1.call (IntrospectionModeller.java:88)
        at org.glassfish.jersey.internal.Errors.process (Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process (Errors.java:274)
        at org.glassfish.jersey.internal.Errors.processWithException (Errors.java:232)
        at org.glassfish.jersey.server.model.IntrospectionModeller.createResourceBuilder (IntrospectionModeller.java:88)
        at org.glassfish.jersey.server.model.Resource.from (Resource.java:781)
        at org.glassfish.jersey.server.ResourceBagConfigurator.init (ResourceBagConfigurator.java:55)
        at org.glassfish.jersey.server.ApplicationHandler.initialize (ApplicationHandler.java:347)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1 (ApplicationHandler.java:309)
        at org.glassfish.jersey.internal.Errors.process (Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process (Errors.java:274)
        at org.glassfish.jersey.internal.Errors.processWithException (Errors.java:232)
        at org.glassfish.jersey.server.ApplicationHandler.initialize (ApplicationHandler.java:308)
        at org.glassfish.jersey.server.ApplicationHandler.<init> (ApplicationHandler.java:273)
        at org.glassfish.jersey.server.ApplicationHandler.<init> (ApplicationHandler.java:260)
        at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init> (GrizzlyHttpContainer.java:310)
        at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory.createHttpServer (GrizzlyHttpServerFactory.java:98)
        at <my package>.Main.startServer (Main.java:56)
        at <my package>.Main.main (Main.java:60)
        at org.codehaus.mojo.exec.ExecJavaMojo.doMain (ExecJavaMojo.java:375)
        at org.codehaus.mojo.exec.ExecJavaMojo.doExec (ExecJavaMojo.java:364)
        at org.codehaus.mojo.exec.ExecJavaMojo.lambda$execute$0 (ExecJavaMojo.java:286)
        at java.lang.Thread.run (Thread.java:1583)
    Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletConfig
        at org.codehaus.mojo.exec.URLClassLoaderBuilder$ExecJavaClassLoader.loadClass (URLClassLoaderBuilder.java:198)
        at java.lang.ClassLoader.loadClass (ClassLoader.java:526)
        at java.lang.Class.getDeclaredMethods0 (Native Method)
        at java.lang.Class.privateGetDeclaredMethods (Class.java:3578)
        at java.lang.Class.getDeclaredMethods (Class.java:2676)
        at org.glassfish.jersey.server.model.IntrospectionModeller$2.run (IntrospectionModeller.java:237)
        at java.security.AccessController.doPrivileged (AccessController.java:319)
        at org.glassfish.jersey.server.model.IntrospectionModeller.getAllDeclaredMethods (IntrospectionModeller.java:231)
        at org.glassfish.jersey.server.model.IntrospectionModeller.checkForNonPublicMethodIssues (IntrospectionModeller.java:151)
        at org.glassfish.jersey.server.model.IntrospectionModeller.doCreateResourceBuilder (IntrospectionModeller.java:98)
        at org.glassfish.jersey.server.model.IntrospectionModeller$1.call (IntrospectionModeller.java:91)
        at org.glassfish.jersey.server.model.IntrospectionModeller$1.call (IntrospectionModeller.java:88)
        at org.glassfish.jersey.internal.Errors.process (Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process (Errors.java:274)
        at org.glassfish.jersey.internal.Errors.processWithException (Errors.java:232)
        at org.glassfish.jersey.server.model.IntrospectionModeller.createResourceBuilder (IntrospectionModeller.java:88)
        at org.glassfish.jersey.server.model.Resource.from (Resource.java:781)
        at org.glassfish.jersey.server.ResourceBagConfigurator.init (ResourceBagConfigurator.java:55)
        at org.glassfish.jersey.server.ApplicationHandler.initialize (ApplicationHandler.java:347)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1 (ApplicationHandler.java:309)
        at org.glassfish.jersey.internal.Errors.process (Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process (Errors.java:274)
        at org.glassfish.jersey.internal.Errors.processWithException (Errors.java:232)
        at org.glassfish.jersey.server.ApplicationHandler.initialize (ApplicationHandler.java:308)
        at org.glassfish.jersey.server.ApplicationHandler.<init> (ApplicationHandler.java:273)
        at org.glassfish.jersey.server.ApplicationHandler.<init> (ApplicationHandler.java:260)
        at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init> (GrizzlyHttpContainer.java:310)
        at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory.createHttpServer (GrizzlyHttpServerFactory.java:98)