Springboot项目出现java.lang.ArrayStoreException异常怎么办
导读:本文共3106.5字符,通常情况下阅读需要10分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 使用springboot 2 构建项目,调试代码的时候出现了如下的报错信息Causedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'requestMappingHandlerMapping'definedinclasspat... ...
目录
(为您整理了一些要点),点击可以直达。使用springboot 2 构建项目,调试代码的时候出现了如下的报错信息
第一眼看到这个问题的时候感觉头都比较大,那只能调试断定,新建一个断点,类型是Java Exception Breakpoint,异常类是上面抛出来的java.lang.ArrayStoreException,
通过调试查看是找不到org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration这个类,而AnnotationParser.parseClassValue把异常包装成为Object,然后在sun.reflect.annotation.AnnotationParser.parseClassArray(int, ByteBuffer, ConstantPool, Class
而这里数组越界了,ArrayStoreException只有越界的Object的类型信息,也就是上面的
发现是java.lang.ClassNotFoundException: org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration,则加上@ConditionalOnClass的检查就可以了.
准确来说是spring boot2把一些类的package改了:
spring boot 1里类名是:
org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration
spring boot 2里类名是:
org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration
而我解决的办法就比较简单粗暴,把项目再细分化,把一些有影响的pom项目(activiti-spring-boot-starter-basic)放到一个新的项目中去,独立成一个模块来使用。
Springboot项目出现java.lang.ArrayStoreException异常怎么办的详细内容,希望对您有所帮助,信息来源于网络。