在一次正常部署后,发现在Tomcat的管理中无法将该项目启动起来,并在Tomcat的日志文件localhost.log中发现以下错误信息:
1 java.lang.NoSuchMethodError: org.springframework.core.GenericTypeResolver.resolveTypeArguments(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/Class; 2 org.springframework.core.convert.support.GenericConversionService.getRequiredTypeInfo(GenericConversionService.java:260) 3 org.springframework.core.convert.support.GenericConversionService.addConverter(GenericConversionService.java:83) 4 org.springframework.core.convert.support.DefaultConversionService.addScalarConverters(DefaultConversionService.java:63) 5 org.springframework.core.convert.support.DefaultConversionService.addDefaultConverters(DefaultConversionService.java:54) 6 org.springframework.core.convert.support.DefaultConversionService.<init>(DefaultConversionService.java:43) 7 org.springframework.core.env.AbstractPropertyResolver.<init>(AbstractPropertyResolver.java:41) 8 org.springframework.core.env.PropertySourcesPropertyResolver.<init>(PropertySourcesPropertyResolver.java:41) 9 org.springframework.core.env.AbstractEnvironment.<init>(AbstractEnvironment.java:98) 10 org.springframework.core.env.StandardEnvironment.<init>(StandardEnvironment.java:54) 11 org.springframework.web.context.support.StandardServletEnvironment.<init>(StandardServletEnvironment.java:44) 12 org.springframework.web.servlet.HttpServletBean.createEnvironment(HttpServletBean.java:213) 13 org.springframework.web.servlet.HttpServletBean.getEnvironment(HttpServletBean.java:203) 14 org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126) 15 javax.servlet.GenericServlet.init(GenericServlet.java:212) 16 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 17 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 18 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) 19 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 20 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 21 java.lang.Thread.run(Unknown Source)
后来发现是我在新的MyEclipse中导入了更新的Spring包 3.1.2.RELEASE ,而与我自己项目使用的Spring3.0的包冲突,因此导致如上问题的发生。
所以以后如果一个项目在自己IDE中能部署并正常运行,而到服务器中部署无法启动,很可能是库之间有版本不同的包导致的冲突。