2014-10-07 113 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,它解决了我的问题......