【Springboot+Themeleaf模板+Shiro标签】找不到类AbstractProcessorDialect解决

7 篇文章 1 订阅
4 篇文章 0 订阅

本人在学习使用Themeleaf模板,直接上手项目,然后想在themeleaf上使用shiro标签实现权限控制,然后踩到这个坑,上网一查这方面的知识少之又少。踩下去两天才找到解决方法。

Caused by: java.lang.ClassNotFoundException: org.thymeleaf.dialect.AbstractProcessorDialect

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

... 43 more


我的maven上springboot是1.5.2.RELEASE,

thymeleaf依赖和shiro整合依赖(整合依赖版本是我按网上教程找来的)

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
<dependency>  
		    <groupId>com.github.theborakompanioni</groupId>  
		    <artifactId>thymeleaf-extras-shiro</artifactId>  
		    <version>2.0.0</version>  
		</dependency> 

ClassNotFoundException:org.thymeleaf.dialect.AbstractProcessorDialect   找不到类AbstractProcessorDialect(自定义标签抽象类,需要自定义标签需要继承此类,重写他的方法)

 
@Override
    public Set<IProcessor> getProcessors(String dialectPrefix) {}

而这里的问题出在:使用的SpringBoot1.5.2.RELEASE版本集成Thymeleaf时,它使用的版本是2.1.5.RELEASE,而在这个版本中没有AbstractProcessorDialect类。

解决方法一:可以把Thymeleaf版本更改为3.0.7.RELEASE

<thymeleaf.version>3.0.7.RELEASE</thymeleaf.version>再加上<thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>

解决方法二:还可以把thymeleaf-extras-shiro的版本改为1.2.1

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值