Jersey web app failing with Injection failure error

20 views Asked by At

I have a simple web application using Jersey 2.39 and hosted in jetty. my web.xml settings are

<servlet>
      <servlet-name>TestServlet</servlet-name>
      <servlet-class>
         org.glassfish.jersey.servlet.ServletContainer
      </servlet-class>
      <init-param>
         <param-name>jersey.config.server.provider.packages</param-name>
         <param-value>com.test.rest,com.fasterxml.jackson.jaxrs</param-value>
      </init-param>
      <init-param>
        <param-name>jersey.config.server.provider.classnames</param-name>
        <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
      <servlet-name>TestServlet</servlet-name>
      <url-pattern>/api/*</url-pattern>
   </servlet-mapping>

My java code is

@Path("/v1")
public class MyServlet {

    @GET
    @Path("/val")
    public Response getDetails(@PathParam("id") String id) {
        return Response.status(200).entity(id).build();
    }
}

I get the following exception when I start my jetty.

java.lang.IllegalStateException: InjectionManagerFactory not found.
        at org.glassfish.jersey.internal.inject.Injections.lambda$lookupInjectionManagerFactory$0(Injections.java:86)
        at java.util.Optional.orElseThrow(Unknown Source)
        at org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:86)
        at org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:81)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:261)
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:339)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1345)

My gradle dependency is

compile ('org.glassfish.jersey.containers:jersey-container-servlet-core:2.39.+'){ transitive = true }

The jetty runs fine if I use jersey-container-servlet-core 2.22

What could be the issue here?

0

There are 0 answers