ssm项目打包后mybatis的mapper.xml文件没有放进去

最起先并没有察觉到mapper.xml文件不在编译目录中,最先出现的问题是,我在mapper.java和mapper.xml中写好了对应的sql语句,和接口方法,但是报错,显示没这个方法,这就很奇怪,最后是查到编译目录中根本没mapper.xml文件,所以根本找不到sql语句。

在maven的pom.xml文件中,在build节点添加


  
    src/main/java
    
      **/*.properties
      **/*.xml
    
    false
  
然后不管编译打包,即使是在java文件夹下的配置文件都会被打包进去

问题补充,后来又打包了下项目,mapper.xml,以及其他在普通目录下的配置文件是能被maven打包进war包的,但是resource文件夹中的配置文件却没有被打包进去,瞬间懵逼,然后下班了,周末研究了下。最后是发现在build中加入的resources标签破坏了maven默认打包形式,maven默认是将项目的resources文件夹中的配置文件打包到classes下的,但是我们加了resources标签。相当于重新设置了下resources的打包路径,所以maven是按你新设置的路径去打包的。所以才会没有resources下的配置文件。


解决方法:先把resources标签注释掉,用maven打包一遍,发现项目中的resources文件夹下的文件是被打包进去了,然后再把resources标签注释去掉,再打包一遍,然后去war包中去看,所以文件都进去了,完美。

你可能感兴趣的:(ssm项目打包后mybatis的mapper.xml文件没有放进去)