I have converted my java application into native image. I am using JettyServer
, if i run the binary, jettyserver got started , but if a send an api request to the server it is throwing the following error instead it should execute my doGet or doPost method in servlet
java.lang.NoSuchMethodException: com.servers.servlet.JettyServlet.<init>()
at java.lang.Class.getConstructor0(DynamicHub.java:3082)
at java.lang.Class.getDeclaredConstructor(DynamicHub.java:2178)
at org.eclipse.jetty.server.handler.ContextHandler$StaticContext.createInstance(ContextHandler.java:2784)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createInstance(ServletContextHandler.java:1280)^M
at org.eclipse.jetty.server.handler.ContextHandler$StaticContext.createServlet(ContextHandler.java:2801)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1164)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:575)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:482)
I have configured a health call for server with /health path, if i send request with this the following exception happens
2022-11-23 16:46:48.824:WARN:oejs.HttpChannel:qtp979267891-167: /health^M
javax.servlet.ServletException: com.servers.servlet.JettyServlet-4d00e3ce@f10c481==com.servers.servlet.JettyServlet,jsp=null,order=-1,inst=true,async=true^M
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:617)^M
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:482)^M
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:725)^M
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)^M
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)^M
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)^M
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)^M
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)^M
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)^M
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)^M
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)^M
NullPointerException sometimes for health call.
2022-11-23 16:46:49.723:WARN:oejs.HttpChannel:qtp979267891-170: /health^M
java.lang.NullPointerException^M
at org.eclipse.jetty.servlet.ServletHolder$UnavailableServlet.service(ServletHolder.java:1247)^M
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:760)^M
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)^M
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)^M
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)^M
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)^M
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)^M
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)^M
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)^M
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)^M
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)^M
at org.eclipse.jetty.server.Server.handle(Server.java:500)^M
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)^M
I can clearly see here that my Jetty server started successfully, but the requests are not being handled..? Is there any way to do this..? did i miss anything while building the native-image ..?