IntelliJ与Maven无法解析Thymeleaf依赖问题求助
别急,我来帮你一步步排查这个问题:
先确认Maven依赖同步与父配置
首先,检查你的pom.xml是否已经引入了Spring Boot的父依赖——这是starter依赖能自动管理版本的关键,你的配置里应该有这段:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> <relativePath/> </parent>如果已经加了父依赖,那就手动刷新Maven依赖:在IntelliJ右侧的Maven面板里,点击项目旁的刷新图标(圆圈箭头),或者右键项目选择
Maven -> Reload Project,很多时候IDE没自动同步依赖,手动刷新就能解决。检查本地Maven仓库依赖完整性
如果刷新后还是无法解析,可能是本地仓库里的依赖文件损坏或下载不完整。找到你的本地Maven仓库路径(默认是~/.m2/repository/org/springframework/boot/spring-boot-starter-thymeleaf/2.0.2.RELEASE),删除这个文件夹,然后重新刷新Maven,让它重新下载完整的依赖包。关于templates目录的说明
其实templates目录不会自动生成哦!Spring Boot默认约定Thymeleaf模板放在src/main/resources/templates下,你需要手动在src/main/resources目录下新建一个名为templates的文件夹,然后把你的Thymeleaf模板文件(比如.html)放进去就可以了。static文件夹是用来存放静态资源(CSS、JS、图片等)的,和templates是独立的目录,所以不会在static下自动生成templates~开启IntelliJ的自动导入功能
有时候IDE的自动导入没开启,导致修改pom.xml后依赖没被识别。你可以打开File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Importing,勾选Import Maven projects automatically,这样后续修改pom.xml时IDE会自动同步依赖。最后试试清除IDE缓存
如果上面的方法都没用,试试IntelliJ的Invalidate Caches功能:点击File -> Invalidate Caches...,选择Invalidate and Restart,清除IDE的缓存后重启,很多缓存导致的依赖识别异常都能解决。
内容的提问来源于stack exchange,提问作者Boris Dedejski

