使用SSM框架Maven打包问题(maven模块化开发打jar包会过滤掉配置文件(xml,properties)的问题 )

  • 出现以下的情况(org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):...),是mapper和mapper.xml没有绑定成功
mapper和mapper.xml2绑定成功.png

项目中存在对应的xml文件,为什么还会报错呢,到tomcat发布目录查看
确实发现少了对应的xml文件

缺少对应的xml.png
  • 总结原因:maven开发,maven认为src/main/java只是java的源代码路径,打jar包会过滤掉配置文件(xml,properties等配置文件)。
  <build>

    <resources>

      <resource>
        <!-- 定位到src/main/java目录(因为问题出在maven忽略了这里面的配置文件) -->
        <directory>src/main/java</directory>
        <includes>
        
          <!-- 通配符的方法,使得该目录下的所有.properties、.xml文件都都配置进去 -->
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
      </resource>

      <!-- 这句是多余的,因为resouces目录下的配置文件maven不会忽略,所以是没问题的 -->
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>

  </build>
  • 配置好以后,maven就不会遗漏xml文件了
图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容