maven项目中引入了这个依赖。
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>shiro-freemarker-tags</artifactId>
<version>0.1</version>
</dependency>
启动项目后会报错,
错误原因:
mingsoft的shiro-freemarker-tags插件引入了javax.servlet-api包,和项目中其他依赖引入的servlet-api冲突(其实和tomcat自带的servlet-api也冲突)
解决方法:
1.把shiro-freemarker-tags.jar (理论上shiro-freemarker-tags.jar依赖的jar除了servlet-api也需要)以jar包的形式引入到项目中。
2.使用原版shiro-freemarker-tags的jar包,mingsoft的应该是在原版基础上改的,当然,原版因为年代久远,在maven*库中是没有的,我是自己编译源码安装到本地maven库的,直接引入jar包的形式也可以。下面是我引用的本地依赖:
<dependency>
<groupId>com.jagregory</groupId>
<artifactId>shiro-freemarker-tags</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
3. 最简单方便的方法。单独去掉javax.servlet-api依赖。
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>shiro-freemarker-tags</artifactId>
<version>0.1</version>
<exclusions>
<exclusion>
<artifactId>javax.servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
</exclusions>
</dependency>