2012-01-14 88 views
0

我在啓動tomcat時遇到了這個問題。我已將spring2.5.6.jar放入我的類路徑中。異常啓動過濾器springSecurityFilterChain

 
SEVERE: Exception starting filter springSecurityFilterChain 
java.lang.ClassNotFoundException: org.springframework.web.filter.DelegatingFilterProxy 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:207) 
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302) 
    at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:78) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3666) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4258) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:448) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) 

我該怎麼辦?

回答

1

據我所知,在Spring 2.5.x中,這個類不是在完整的spring.jar中,就是在spring-web.jar中。

檢查你的spring2.5.6.jar裏面是否有類,如果不是你的類路徑中添加spring-web2.5.6.jar。

+0

是的班級在spring2.5.6.jar – prem 2012-01-14 10:03:11

+0

這很奇怪。 ClassNotFoundException表示該類不在類路徑中。你如何捆綁你的應用程序?是war文件中的spring.jar?你從Eclipse運行tomcat嗎? – 2012-01-14 11:20:24

+0

我從eclipse運行tomcat並創建用戶庫並將其添加到classpath – prem 2012-01-14 13:08:55

0

我已經放在spring2.5.6.jar在我的類路徑

這句話很曖昧。 「classpath」只是一個抽象術語,它標識所有本地磁盤文件系統路徑的集合,其中Java在編譯時或運行時期必須掃描類和JAR文件。你對當前和以前的問題以及你對這個問題的評論並沒有給我一個印象,那就是你正確理解了類路徑究竟是什麼。

在這種特殊情況下,您需要確保JAR文件放置在由運行時類路徑覆蓋的那些路徑之一中(默認情況下)。 webapp的/WEB-INF/lib文件夾就是其中之一。您只需在該文件夾中放入JAR的副本。絕對不需要做任何事情。甚至不會在IDE中擺弄Build Path屬性,這可能會讓事情變得更糟。如有必要撤消它。只需將JAR放入IDE項目的/WEB-INF/lib文件夾就足夠了。