IDEA上的mybatis绑定错误

旧巷老猫 提交于 2019-12-03 00:05:28

最近把项目迁移到IDEA上使用,发现Eclpise上的编译调试完全没问题,但是放到IDEA上就各种错误。所以怀疑是IDEA编译的方式有问题。

最新是跑起来的时候发现,

发现虽然配置了shiro,但是无论怎么输入都是到shiro自己的异常里面去了。

所以Debug了一下,发现错误在这里

也就是最常见的绑定异常,检查了好久也没发现问题。

最后发现编译好的class下

根本就没有mapper的xml文件。。。。

查阅发现http://www.linuxidc.com/Linux/2015-06/118877.htm

IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。


如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。Hibernate和Spring有时会将配置文件放置在src目录下,编译后要一块打包进classes文件夹,所以存在着需要将xml等资源文件放置在源代码目录下的需求。


解决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文件,如果有其它资源文件也需要打包,可以修改或添加通配符。

问题解决

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!