今天再次尝试使用IntelliJ IDEA搭建基于maven管理的SSM(Spring,SpringMVC,Mybatis)整合shiro框架时,踩了一些坑。特在此总结,以后避免。
1.总是提示shiroFilter这个bean找不到,报错如下:
自然而然的想到很明显这是配置文件没有载入,导致bean找不到,于是在web.xml文件中载入配置文件,如下图:
但是。。。加入了以后又报错了,报错如下:
奇怪了,我不是在web.xml文件里面加入配置了吗?为什么还会如此呢?于是百度了很久,才发现,需要在POM.XML文件里面添加如下配置
为什么会如此呢?原来只有在POM.XML文件里面见资源添加进去,才能在运行或者编译时,将对应的配置文件加载进target目录下,结合上一篇文章遇到的问题,从此在开发maven项目时,此配置可为固定配置,防止再次发生类似的问题。
2.在运行时总是报如下错:
原因:项目所用的JDK版本与tomcat的版本不对应,如果项目用到的tomcat版本是tomcat8,那么对应的JDK版本就要高一点,一般为JDK1.7-JDK1.8。如果项目用到的tomcat版本是tomcat6,那么对应的JDK版本就要一般为JDK1.6-JDK1.7,
如果此时用JDK1.8,那么可能会出现编译运行不报错,而访问就会出现上图错误的问题,此外,最重要的是,tomcat版本也要与项目工具(IDEA或者myeclipse等其他工具)所用的编译版本对应,否则也会报错。具体配置如下;
图中1-2配置一定要对应,否则项目起不来。
在此附上最近两天重新整合ssm+shiro框架和整合阿里dubbo+ssm框架的pom文件,可直接拿过来用,通过对比更加熟悉maven的配置。
1.ssm+shiro框架
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
2.dubbo+ssm框架
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |