解决SSM项目打包没有mapper.xml文件的问题

简介: IDEA的maven项目中,默认源代码目录下(src/main/java目录)的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。

解决SSM项目打包没有.xml文件的问题

IDEA的maven项目中,默认源代码目录下(src/main/java目录)的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。

示例:

当在IDEA中使用MyBatis时,一般会创建一个SQL映射的配置文件,这个文件如果是在src/main/java目录下,编译后在target目录下是找不到这个文件的

20200615081809462.png

对于IDEA的这个问题,有如下的解决办法:


第一种方法:如果没有特殊业务,不需要指定资源文件定位到src/main/java下,则可以在src下创建main/resources目录,并将所需要的xml资源文件放置其中即可。maven工具默认在编译的时候,会将resources文件夹中的资源文件一块打包进classes目录中。

20200615081833884.png

对于MyBatis的这种使用方式,我们必须在配置文件中指定mapper.xml文件的位置,例如在springboot项目中,在application.properties中增加:

mybatis.mapper-locations=classpath:mapper/*.xml

针对于普通的SSM项目配置如下:

<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="druidDataSource"/>
    <property name="configLocation" value="classpath:mybatis-config.xml"/>
    <!-- 配置mapper文件的位置 -->
    <property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>

第二种方法:配置maven的pom文件配置,在pom文件中找到节点,添加下列代码:

<build>  
  <configreation>
    <resources>  
    <!-- mapper.xml文件在java目录下 -->
    <resource>  
      <directory>src/main/java</directory>  
        <includes>  
          <include>**/*.xml</include>  
        </includes>  
    </resource>  
    <!-- mapper.xml文件在resources目录下-->
    <!--<resource>
        <directory>src/main/resources</directory> 
    </resource>-->
  </resources>
 </configreation>
</build>

同时在编译的时候一定要注意,可以采用在IDEA中快速找到项目的路径,在路径中按SHIFT+右击,在此处打开命令行,输入mvn clean install 命令,进行清理并重新编译,看taglib中是否存在.xml文件。

20200615082031662.png

相关文章
|
1月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
55 1
|
6天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
48 8
|
1月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
24 3
|
1月前
|
前端开发 Java Spring
SSM:拦截器&model&文件的上传和下载
本文档介绍了Spring MVC中拦截器的实现、Model对象的使用、文件上传下载的配置及实现,以及项目依赖管理文件pom.xml的配置。拦截器通过继承HandlerInterceptor接口实现请求的预处理、后处理和清理工作。Model对象用于数据传递,支持视图解析器的直接返回。文件上传下载涉及配置multipartResolver及编写控制器方法处理文件操作。pom.xml列出了项目所需的各种依赖库。
|
1月前
|
前端开发 Java 关系型数据库
【保姆级SSM教程】高并发朋友圈点赞项目设计
【保姆级SSM教程】高并发朋友圈点赞项目设计
29 0
|
1月前
|
SQL Java 数据库连接
快速搭建SSM项目【最全教程】~令狐小哥版
快速搭建SSM项目【最全教程】~令狐小哥版
25 0
|
1月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
86 0
|
1月前
|
XML 存储 Web App开发
查看 XML 文件
查看 XML 文件
|
3月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
5月前
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容