❤️springboot maven resource资源文件打包配置

小明的学习圈子2023-12-08后端问题整理 maven

springboot maven 资源文件配置

1、构建: 项目的构建。

构建是面向过程的,就是一些步骤,完成项目代码的编译,测试,运行,打包,部署等等。 maven支持的构建包括有:

   maven支持的构建包括有:
    1.清理, 把之前项目编译的东西删除掉,为新的编译代码做准备。
    2.编译, 把程序源代码编译为执行代码, java-class文件批量的,maven可以同时把成千上百的文件编译为class。javac 不一样,javac一次编译一个文件。
    3.测试, maven可以执行测试程序代码,验证你的功能是否正确。
            批量的,maven同时执行多个测试代码,同时测试很多功能。
    4.报告, 生成测试结果的文件, 测试通过没有。
    5.打包, 把你的项目中所有的class文件,配置文件等所有资源放到一个压缩文件中。
            这个压缩文件就是项目的结果文件, 通常java程序,压缩文件是jar扩展名的。
            对于web应用,压缩文件扩展名是.war
    6.安装, 把5中生成的文件jar,war安装到本机仓库
    7.部署, 把程序安装好可以执行。

2、maven约定的目录结构, 约定是大家都遵循的一个规则。

   每一个maven项目在磁盘中都是一个文件夹(项目-Hello)
    Hello/
      ---/src
      ------/main           #放你主程序java代码和配置文件
      ----------/java       #你的程序包和包中的java文件
      ----------/resources  #你的java程序中要使用的配置文件

      ------/test  #放测试程序代码和文件的(可以没有)
      ----------/java       #测试程序包和包中的java文件
      ----------/resources  #测试java程序中要使用的配置文件

      ---/pom.xml  #maven的核心文件(maven项目必须有)

3、mvn compile 编译

mvn compile 编译src/main目录下的所有java文件的,执行mvn compile,结果是在项目的根目录下生成target目录(结果目录),maven编译的java程序,最后的class文件都放在target目录中

4、指定资源文件位置

  1. 构建Maven项目的时候,如果没有进行特殊的配置,Maven会默认按照标准的目录结构查找和处理各种类型文件。
  2. 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,src/main/javasrc/test/java 这两个目录中的所有***.java** 文件会分别在 comile 和 test-comiple 阶段被编译,编译结果分别放到了 target/classestarge/test-classes 目录中
  3. 但是这两个目录中(src/main/java 和 src/test/java)的其他文件(非.java文件)都会被忽略掉,如果需要把src目录下的非.java文件包放到 target/classes 目录,作为输出的 jar 一部分。需要指定资源文件位置。
  4. 例如,src/main/java包中的mapper里的xml文件,xml文件非java文件,如果想把xml文件放到target/classes目录,就需要指定资源文件配置,在pom文件里进行resources配置。

img

5、pom配置

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

    </build>

注意build的位置,加到dependencies后边

img

6、图解

img

img

Last Updated 2024/4/6 11:55:17