HTTP状态 500 - 内部服务器错误
类型 异常报告
消息 Servlet[SpringMVC]的Servlet.init()引发异常
描述 服务器遇到一个意外的情况,阻止它完成请求。
刚学springmvc的时候出现这个问题,本来写网页是一件很美好的事情,结果来了一个500,直接把我心态打垮,这个bug我找了一天,知道哪错了但是就是该不对,网百度一下这个错误,相对来说都是老一套,都只说了片面的东西。
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [C:\Users\Administrator\IdeaProjects\SpringMVC\out\artifacts\SpringMVC_04_annotation_war_exploded\WEB-INF\classes\com\ni\controller\HelloController.class]; nested exception is org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [C:\Users\Administrator\IdeaProjects\SpringMVC\out\artifacts\SpringMVC_04_annotation_war_exploded\WEB-INF\classes\com\ni\controller\HelloController.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 59
根本原因大概意思就是:org.springframework.core.nestedioexception: asm classreader 未能解析类文件——可能是由于新的 java 类文件版,这时候你首先要确保你的项目结构,以及相关配置没有错误。然后才可以定位到你的jdk版本和springmvc版本不匹配,文件解析的时候,没有通过。
翻了好多博客,出现这种错误大多都是jdk1.8和spring 3.1.2,
解决方法:在maven配置文件中降低自己spring的版本,比如说我原来是5.1.9,出错后我降低到4.1.9,问题就解决了。
或者换用别的jdk版本。
以上这种问题很少出现,出现问题不要害怕,多用度娘,你错的多了,以后出现就可以游刃有余的解决了。