Die fehlenden Abhängigkeiten für HttpServletRequest mit Jersey

Ich habe einen Standalone-Jersey server läuft am Anfang meiner JunitTest. Ich Teste, ob meine JaxRS-controller arbeiten, sowie meine eigenen HttpClient. Bitte beachten Sie, dass ich schon immer in der Lage gewesen, diese JaxRsResourceController eingebettet in glassfish.

Hier ist die JaxRsController (light-version)

@Path("root")
public class JaxRsResourceController implements
        ResourceController<HttpServletRequest> {

    @Context
    private UriInfo context;
    @Context
    HttpServletRequest request;
    @Context
    HttpServletResponse response;

    @GET
    public String hello(){
        System.out.println("Uri is "+this.context.getBaseUri().toString());
        return "Hello "+peoples;
    }

}

Ich habe kein problem mit dem client, aber wenn ich den server starten, ich habe :

GRAVE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for field: javax.servlet.http.HttpServletRequest com.robustaweb.library.rest.controller.implementation.JaxRsResourceController.request
  SEVERE: Missing dependency for field: javax.servlet.http.HttpServletResponse com.robustaweb.library.rest.controller.implementation.JaxRsResourceController.response

    at com.sun.jersey.api.container.httpserver.HttpServerFactory.create(HttpServerFactory.java:172)
    at com.robustaweb.library.rest.server.JerseyServer.startServer(JerseyServer.java:44)

Im Grunde es sagt, dass bei der @Context-Injektion Zeit, es gibt keine Abhängigkeit von der HttpServletRequest.
Aber wenn ich Entferne das @Context Anmerkungen auf Anfrage und-Antwort, aber halten Sie es für UriInfo context, es ist ok, und ich kann den Uri.

Wechselte ich ein paar mal das Maven-pom-welches ist nun die Kraft, die libs in:

<dependencies>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.14</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
    </dependency>
 </dependencies>

Irgendeine Idee ?

Schreibe einen Kommentar