Caused by: java.io.FileNotFoundException: AbstractJsonpResponseBodyAdvice.class

 

原因:

在一个项目,添加SpringBoota启动的内容,报错误

Caused by: java.io.FileNotFoundException: class path resource [org/springframework/web/servlet/mvc/method/annotation/AbstractJsonpResponseBodyAdvice.class] cannot be opened because it does not exist  

看得挺懵的。 Spring 5 并没有这个类(SpringBoot会需要引用spring5)

于是去找spring4,看源码,真的找到了。

Caused by: java.io.FileNotFoundException: AbstractJsonpResponseBodyAdvice.class_第1张图片

查看引用的对象:

@ControllerAdvice
private static class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
   public JsonpAdvice() {
      super("c");
   }
}

在报错的项目里面搜 JsonpAdvice,真的找到了,是标红的状态。

Caused by: java.io.FileNotFoundException: AbstractJsonpResponseBodyAdvice.class_第2张图片

因为使用springBoot的版本会比较高,一引用,旧的版本就不行了。因此该项目是无法添加SpringBoot引用的,不好改其引用的jar包(是其引用的jar包使用了JsonpAdvice)。

解决:

    该项目无法使用SpringBoot启动,可以考虑采取曲线救国的方式--把该项目生成jar包,另外建一个可以使用SpringBoot的项目,引用该jar包,再进行测试。或是找到有引用该jar包,也可以直接用SpringBoot启动的项目。再没辙,就使用controller的方式,postman请求,这个肯定可以的。

你可能感兴趣的:(错误处理,AbstractJsonp,class,not,find)