2014-10-07 86 views
0

我的webapp運行良好,直到我嘗試使用spring-security。 自從我加入Spring-security-configSpring-security-core3.2.3.RELEASE版本Spring-security-web我有這樣的例外:Spring MVC Webapp - java.lang.ClassNotFoundException:org.springframework.web.context.support.ServletRequestHandledEvent

java.lang.ClassNotFoundException: org.springframework.web.context.support.ServletRequestHandledEvent 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) 
    at java.lang.Class.getConstructor0(Class.java:2699) 
    at java.lang.Class.newInstance0(Class.java:326) 
    at java.lang.Class.newInstance(Class.java:308) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1149) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4425) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4738) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:822) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
6 oct. 2014 17:58:46 org.apache.coyote.http11.Http11Protocol start 

隨着這一變化,我不得不整天呆在Spring dependencies版本3.2.3.RELEASE 這是我的Spring庫之前,凡在版本3.0.1

我的Webapp不是一個maven的。我把我需要的所有圖書館WEB-INF/lib

,我有其他的Spring庫是:

Spring-aop 3.2.3.RELEASE 
Spring-asm 3.0.1.RELEASE 
Spring-beans 3.2.3.RELEASE 
Spring-context 3.2.3.RELEASE 
Spring-core 3.2.3.RELEASE 
Spring-expression 3.2.3.RELEASE 
Spring-jdbc 3.2.3.RELEASE 
Spring-orm 3.2.3.RELEASE 
Spring-tx 3.2.3.RELEASE 
Spring-web 3.2.3.RELEASE 
Spring-webmvc 3.2.3.RELEASE 

這是我第一次嘗試,以確保Java應用程序。爲此,我跟着這個教程: MKyong - Spring Security Hello World

+0

我猜有些類的缺失。確保你的類路徑中有所有需要的依賴關係,例如。日誌庫。 – 2014-10-07 05:56:52

+1

對於初學者,不要混合使用版本...... spring-asm屬於Spring 3.0而不是3.2(不再存在,將其刪除)。缺少的類在'spring-web' jar文件中,它應該放在你的'WEB-INF/lib'目錄下。另外,我強烈建議使用諸如maven或gradle之類的東西,因爲這會爲您節省大量搜索互聯網的時間。 – 2014-10-07 06:06:20

+0

感謝您的評論。我讓版本3.0.1中的Spring-asm因爲我找不到3.2.3.RELEASE。所以我會刪除它。 我正在寫我的pom使用maven。但在切換到maven之前,我想再次讓我的web應用程序工作... 我還可以說,如果我嘗試在工作區中搜索缺失的類,則可以在Spring-web中找到它,並且此類應用程序位於我的WEB-INF/lib – bryce 2014-10-07 06:11:30

回答

0

正如M.Deinum說,我試圖創建與我所有的依賴關係的POM,它解決了我的問題......