報錯!!!!!!!!!!!org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSessionRepositoryFilter' is defined


報錯!!!!!!!!!!!

因用maven項目不是很熟練,經常在Maven轉Web項目(為什么要轉web項目?因為要在tomcat中跑起來。maven項目好像是可以直接部署到tomcat的,或集成tomcat插件,還沒嘗試過)的時候會出現很奇怪的問題。下面的一個報錯就是最近經常遇到的一個問題。因為每次遇到它時,都會花很長時間去排查,所以在此把它記錄下來,以便后面再遇到此問題時,順利過坑。報錯如下:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSessionRepositoryFilter' is defined

 

排查思路:

1、看是否添加了Web App Libary和Tomcat的依賴,依賴中是否有jar包。有時通過Build Path添加了Libraries,但在項目中仍然看不到,這是因為沒有將資源掛載導致的,見2.

2、看Properties-->Deployment Assembly-->是否已將resources目錄掛載。將"/resources"資源目錄掛載到發布目錄的“/”目錄下

3、看Properties-->Project Facets中是否增加了Dynamic Web Module的支持。通常應包含“Dynamic Web Module”、“Java”、“JavaScript”以及其中的runtimes的配置。

4、右擊項目,Build Path--> Configure Build Path...-->Source里面的included是否是All。如果是*.java,會導致配置文件不會被編譯到classes目錄中去。

5、查看Problems里面是否有編譯報錯

       最終找到上面報錯的原因,springSessionRepositoryFilter是spring自己的類,在用這個類時,卻找不到這個類。排除掉不缺少jar包並且配置文件也沒問題的情況,猜測應該是項目設置的問題。最后查看了classes文件夾,發現里面只有.class文件,卻沒有其他的配置文件。於是猜測可能是設置的要編譯的文件漏掉了配置文件,右擊項目,Build Path--> Configure Build Path...-->Source里面的included果然是*.java,於是將其改為All之后,重啟tomcat。問題解決了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM