最近由于工作需要在看人民邮电出版社《Spring Boot 实战 》这本书,书中提供的源码是基于gradle管理的依赖,但是
我的IDE(使用的是idea)并配置gradle,配置的是maven管理的依赖,所以在start.spring.io中在线用spring init
-ializr打包生成了一个pom.xml文件。
可是在run时,出现了错误,报错的内容是找不到如下的一个类:
import org.springframework.boot.autoconfigure.web.DefaultErrorAttributes
在这里就比较困惑了,源码中引入的是这个类,为什么maven会找不到这个类呢?后来看源码中的build.gradle文件其中
有这么一段配置代码:
springBootVersion = '1.3.0.RELEASE'
由于使用的maven在查看pom.xml时候发现了这么一个配置:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/>
</parent>
可以看出来在这里使用的spring boot版本是2.0.4,将这个版本号改为1.3.0再reimport下pom.xml文件就可以了。在这里出
现的问题是版本号不对应的问题,在书中项目源码使用的这个类所对应的版本是1.3.0,但是我实际使用的版本是2.0.4,在新的版
本中这个类可能已经进行了更改,所以就找不到了。