2010-11-08 15 views
0

La configuration suivante Guice Servlet ne fonctionne pas lorsque je supprime la dépendance Maven à l'API Servlet:config Guice Servlet ne fonctionne pas sans API Servlet

filter("/*").through(TransactionFilter.class); 

Le compilateur me dit:

cannot access javax.servlet.Filter 
class file for javax.servlet.Filter not found 
    filter("/*").through(TransactionFilter.class); 

Une idée?

Répondre

1

À quoi pensez-vous que se produira la suppression de la dépendance de l'API Servlet? Guice Servlet dépend de l'API Servlet.

Précision modifier: Guice Servlet a une dépendance de portée provided sur l'API Servlet de telle sorte que le pot pour qu'il ne soit pas tiré dans l'artefact finale lors de la construction d'une application ... les classes de l'API sont fournies par l'application serveur à l'exécution. Ainsi, vous devez déclarer vous-même une dépendance à l'API Servlet dans le POM de votre application (de préférence dans la portée provided) pour pouvoir l'utiliser. Cela est tout à fait logique, car vous devez déclarer Servlet s et Filter s pour votre application, que vous utilisiez ou non Guice Servlet.

+0

Vous avez raison. J'étais confus parce que je pensais que je ne devais pas inclure une dépendance qui est déjà répertoriée dans [pom.xml de Guice] (http://code.google.com/p/google-guice/source/browse/trunk/ extensions/servlet/pom.xml) dans la portée fournie. – deamon

+0

Réponse à votre 'edit de clarification': J'utilise Servlets seulement indirectement avec JAX-RS. – deamon