没有Servlet API,Guice Servlet配置不起作用

时间:2010-11-08 21:21:51

标签: java servlets maven guice

当我将Maven依赖项移除到Servlet API时,以下Guice Servlet配置不起作用:

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

编译器告诉我:

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

删除Servlet API依赖项时,您期望发生什么? Guice Servlet依赖于Servlet API。

澄清编辑: Guice Servlet对Servlet API有provided范围依赖性,因此在构建应用程序时,它的jar不会被拉入最终工件...... API类由运行时的应用程序服务器提供。因此,您必须自己在应用程序的POM中声明对Servlet API的依赖(最好在provided范围内)以便使用它。但这确实最有意义,因为无论您是否使用Guice Servlet,都必须为您的应用程序声明ServletFilter