eclipse项目中引入shiro-freemarker-tags会jar包冲突

maven项目中引入了这个依赖。

1 <dependency>  
2     <groupId>net.mingsoft</groupId>  
3     <artifactId>shiro-freemarker-tags</artifactId>  
4     <version>0.1</version>
5 </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包的形式也可以。下面是我引用的本地依赖:

1 <dependency>
2     <groupId>com.jagregory</groupId>
3     <artifactId>shiro-freemarker-tags</artifactId>
4     <version>0.1-SNAPSHOT</version>
5 </dependency>


3. 最简单方便的方法。单独去掉javax.servlet-api依赖。

 1 <dependency>  
 2     <groupId>net.mingsoft</groupId>  
 3     <artifactId>shiro-freemarker-tags</artifactId>  
 4     <version>0.1</version>
 5     <exclusions>
 6         <exclusion>
 7             <artifactId>javax.servlet-api</artifactId>
 8             <groupId>javax.servlet</groupId>
 9         </exclusion>
10     </exclusions>
11 </dependency>
原文地址:https://www.cnblogs.com/tibit/p/6210651.html