2010-11-08 71 views
0

當我刪除的Maven依賴於Servlet API的下面吉斯Servlet的配置不起作用:吉斯servlet配置不無Servlet API的工作

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

編譯器告訴我:

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

有什麼想法?

回答

1

當您刪除Servlet API依賴項時,您會發生什麼? Guice Servlet依賴於Servlet API。

澄清編輯:吉斯的Servlet對Servlet API的,這樣它的jar構建應用程序時不拉到最後一個神器範圍provided依賴...的API類應用程序提供服務器在運行時。因此,您必須自己聲明對應用程序的POM中的Servlet API的依賴關係(最好在provided範圍內)以便使用它。不過,這確實是最有意義的,因爲無論您是否使用Guice Servlet,您都必須爲您的應用程序聲明Servlet s和Filter s。

+0

你說得對。我很困惑,因爲我認爲我不必包含[Guice的pom.xml]中已經列出的依賴項(http://code.google.com/p/google-guice/source/browse/trunk/擴展/ servlet/pom.xml)。 – deamon 2010-11-08 21:50:12

+0

回答您的'澄清編輯':我只使用JAX-RS間接使用Servlet。 – deamon 2010-11-09 17:31:35