Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafDefaultConfiguration.templateEngine(ThymeleafAutoConfiguration.java:142)
The following method did not exist:
'void org.thymeleaf.spring5.SpringTemplateEngine.setRenderHiddenMarkersBeforeCheckboxes(boolean)'
The method's class, org.thymeleaf.spring5.SpringTemplateEngine, is available from the following locations:
jar:file:/D:/DevInstall/repository/org/thymeleaf/thymeleaf-spring5/3.0.9.RELEASE/thymeleaf-spring5-3.0.9.RELEASE.jar!/org/thymeleaf/spring5/SpringTemplateEngine.class
It was loaded from the following location:
file:/D:/DevInstall/repository/org/thymeleaf/thymeleaf-spring5/3.0.9.RELEASE/thymeleaf-spring5-3.0.9.RELEASE.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of org.thymeleaf.spring5.SpringTemplateEngine
当你创建一个web模块的springboot工程时,没有配置好thymeleaf但是像测试web功能的时候,会因为给thymeleaf自动配置但是找不到相应路径而报错,可以通过在主类添加exclude注解(如果你暂时不需要thymeleaf功能的话)
@SpringBootApplication(exclude = {ThymeleafAutoConfiguration.class})
public class SundayApplication {
public static void main(String[] args) {
SpringApplication.run(SundayApplication.class, args);
}
}
或者可以通过在依赖路径里面修改thymeleaf的依赖,可以通过快捷键“Alt+Insert”,输入thymeleaf关键字,双击选中会自动配置好依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
或者采用另一种办法,出现这种问题的原因一般是jar包版本不匹配,如果你需要用到thymeleaf功能的话,可以在pom文件的properties标签内添加如下代码块
<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.3.0</thymeleaf-layout-dialect.version>
你也可以检查自己的Maven仓库内是否有多个版本的thymeleaf,如果是的话就需要注明用哪个版本的。