2016-03-01 112 views
0

我們試圖將Spring Security 4.0.2引入Spring MVC應用程序,該應用程序使用Spring 4.2.3,但也在servlet 2.5上運行。我無法配置安全性:Spring security 4.x與Servlet 2.5不兼容?

Caused by: java.lang.ClassNotFoundException: javax.servlet.FilterRegistration$Dynamic 

我相信這個類是隻在Servlet的3.0。是否可以使用Spring Security 4.0和Servlet 2.5?或者我們應該回歸到安全3.2?

+0

我們在Spring 4.2.4.RELEASE和Servlet API 2.5下使用Spring Security'4.0.3.RELEASE',在編譯或應用程序啓動時或運行時不會遇到任何問題。我已經從我們的生產應用程序中創建了一個[小樣本](https://github.com/manish-in-java/stackoverflow-questions/tree/master/35732187),您可以檢查。你會看到它編譯並加載正常。如果你可以發佈一個類似的最小樣本來證明問題,那麼有人可以檢查。 – manish

回答

0

我懷疑你是用Jetty和this解釋你的情況。

javax.servlet.FilterRegistration類被引入Servlet 3.0。這個例外表明,在運行時類路徑中仍然存在較舊的Servlet API版本,這些版本優先於 類加載。

0

顯然,Java配置要求這個類。我使用舊的XML配置和事情工作正常。