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>
