原因:
在一个项目,添加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,看源码,真的找到了。
查看引用的对象:
@ControllerAdvice
private static class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
public JsonpAdvice() {
super("c");
}
}
在报错的项目里面搜 JsonpAdvice,真的找到了,是标红的状态。
因为使用springBoot的版本会比较高,一引用,旧的版本就不行了。因此该项目是无法添加SpringBoot引用的,不好改其引用的jar包(是其引用的jar包使用了JsonpAdvice)。
解决:
该项目无法使用SpringBoot启动,可以考虑采取曲线救国的方式--把该项目生成jar包,另外建一个可以使用SpringBoot的项目,引用该jar包,再进行测试。或是找到有引用该jar包,也可以直接用SpringBoot启动的项目。再没辙,就使用controller的方式,postman请求,这个肯定可以的。