最近把项目迁移到IDEA上使用,发现Eclpise上的编译调试彻底没问题,可是放到IDEA上就各类错误。因此怀疑是IDEA编译的方式有问题。java
最新是跑起来的时候发现,linux
发现虽然配置了shiro,可是不管怎么输入都是到shiro本身的异常里面去了。app
因此Debug了一下,发现错误在这里maven
也就是最多见的绑定异常,检查了很久也没发现问题。工具
最后发现编译好的class下ui
根本就没有mapper的xml文件。。。。调试
查阅发现http://www.linuxidc.com/Linux/2015-06/118877.htm code
IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。xml
若是使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。Hibernate和Spring有时会将配置文件放置在src目录下,编译后要一块打包进classes文件夹,因此存在着须要将xml等资源文件放置在源代码目录下的需求。htm
解决IDEA的这个问题有两种方式。
第一种是创建src/main/resources文件夹,将xml等资源文件放置到这个目录中。maven工具默认在编译的时候,会将resources文件夹中的资源文件一块打包进classes目录中。
第二种解决方式是配置maven的pom文件配置,在pom文件中找到<build>节点,添加下列代码:
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
其中<directory>src/main/java</directory>代表资源文件的路径,<include>**/*.xml</include>代表须要编译打包的文件类型是xml文件,若是有其它资源文件也须要打包,能够修改或添加通配符。
问题解决