最近在学习Spring MVC 时候遇到了NoClassDefFoundError: javax/xml/bind/JAXBException 错误,产生原因是缺少javax.xml.bind Jar包,但如果在demo-servlet.xml不加入<mvc:annotation-driven/>则不会报错。
<mvc:annotation-driven /> :
是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支(JAXB),读写JSON的支持(Jackson)。
javax.xml.bind :
为包含解组、编组和验证功能的客户端应用程序提供运行时绑定框架。
因为用了注解,所以必须加入<mvc:annotation-driven /> ,根据网上解释是用了JDK1.5的原因若换成1.6则不存在问题,刚才在项目中换成JDK1.6还是会报错,求解?