Maven 项目中 src/main/java 目录下的 xml 文件没有被编译

本文将介绍怎样解决 Maven 项目中 src/main/java 目录下的 xml 文件没有被编译到 classes 目录下面。

背景

最近在学习 MyBatis 时,为了在每个 demo 中都放置自己的 mybatis 配置信息。因此,将 mybatis 配置文件放到了 demo 包下面。项目结构如下:

- com.hxstrive.mybatis
    - demo1
        - mybatis-cfg.xml
    - demo2
        - mybatis-cfg.xml
    - demo3
        - mybatis-cfg.xml

问题

在使用 maven 打包后,发现在 classes\com\hxstrive\mybatis\demo1、classes\com\hxstrive\mybatis\demo2、classes\com\hxstrive\mybatis\demo1 目录下面不存在 mybatis-cfg.xml 文件。

解决办法

Maven 默认只会将包下面的 class 文件编译后放到打包的 classes 目录下,如果你将配置文件放到 resources 目录也会打包到 classes 目录。我们可以通过配置 <resources> 标签的 <includes> 标签来主动指出,那些类型的文件需要打包。配置如下:

  <build>
    ...
    <resources>
      <!--编译src/main/java目录下的xml文件-->
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.class</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
      </resource>
    </resources>
    ...
  </build>

上面配置文件中指出,将 src/main/java 下面的所有 class 和 xml 文件打包到 classes 目录下。

我们常常听人说,人们因工作过度而垮下来,但是实际上十有八九是因为饱受担忧或焦虑的折磨。 —— 卢伯克.J.
0 不喜欢
说说我的看法 -
全部评论(
没有评论
目录
热门标签
热门文章
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号