I have a jersey project in this structure, which consist of swagger annotations . I have used it with standalone tomcat server and the API is running fine. Now I am trying to run the same API with an embedded Grizzly server. I have written the main function for that as follows:
Unfortunately, my servlet configure file is not being found. I get a error of this kind :
Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/ServletConfig
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructors(Class.java:1651)
at org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.<init>(MethodHandler.java:265)
at org.glassfish.jersey.server.model.MethodHandler.create(MethodHandler.java:155)
at org.glassfish.jersey.server.model.ResourceMethod$Builder.createInvocable(ResourceMethod.java:559)
at org.glassfish.jersey.server.model.ResourceMethod$Builder.build(ResourceMethod.java:545)
at org.glassfish.jersey.server.model.Resource$Builder.processMethodBuilders(Resource.java:666)
at org.glassfish.jersey.server.model.Resource$Builder.buildResourceData(Resource.java:602)
at org.glassfish.jersey.server.model.Resource$Builder.build(Resource.java:658)
at org.glassfish.jersey.server.model.Resource.from(Resource.java:801)
at org.glassfish.jersey.server.ResourceBagConfigurator.init(ResourceBagConfigurator.java:79)
at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:354)
at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:316)
at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:256)
at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:315)
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:282)
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:269)
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init>(GrizzlyHttpContainer.java:334)
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory.createHttpServer(GrizzlyHttpServerFactory.java:117)
at Main.startServer(Main.java:27)
at Main.main(Main.java:36)
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletConfig
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)