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

时间:2023-05-24 13:58:20

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

 <dependency>
<groupId>net.mingsoft</groupId>
<artifactId>shiro-freemarker-tags</artifactId>
<version>0.1</version>
</dependency>

启动项目后会报错,

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

错误原因:

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>