【Springboot】pom.xml中的<build>标签详解

默认值及其标签解释

XML 复制代码
    <build>
        <!-- 指定最终构建产物的名称, 例如生成的 JAR 文件的名称 -->
        <finalName>${artifactId}-${version}</finalName>
        <!-- 指定源代码文件的目录路径 -->
        <sourceDirectory>src/main/java</sourceDirectory>
        <!-- 指定 Maven 构建输出的目录路径 下列是默认值-->
        <directory>target</directory>
        <!-- 配置项目的资源目录, 例如配置文件、静态资源等 -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <!-- 指定编译后的类文件输出的目录路径 -->
        <outputDirectory>target/classes</outputDirectory>
        <!-- 指定默认的 Maven 构建目标。当运行 mvn 命令时,将执行指定的目标(用不到, 没理解) -->
        <defaultGoal>install</defaultGoal>
        <!-- 指定脚本文件的源代码目录路径(用不到) -->
        <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
        <!-- 插件版本管理(无默认值,常用插件) -->
        <pluginManagement>
            <plugins>
                <!-- Maven编译插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>x.x.x</version>
                </plugin>
                <!-- Springboot项目打包插件,生成JAR包 -->
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>x.x.x</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

实际自己项目的配置(不常用或无需修改默认值的标签被去掉)

XML 复制代码
    <build>
        <!-- 指定最终构建产物的名称, 例如生成的 JAR 文件的名称 -->
        <finalName>app</finalName>
        <!-- 配置项目的资源目录, 例如配置文件、静态资源等 -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 可以有占位符,并替换占位符 -->
                <filtering>true</filtering>
                <includes>
                    <include>bootstrap.properties</include>
                    <include>bootstrap-${application.environment}.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 没有占位符 -->
                <filtering>false</filtering>
                <includes>
                    <include>banner.txt</include>
                    <include>logback-spring.xml</include>
                </includes>
            </resource>
        </resources>
        <!-- 插件版本管理 -->
        <pluginManagement>
            <plugins>
                <!-- Springboot项目打包插件,生成JAR包 -->
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring-boot.version}</version>
                </plugin>
                <!-- Maven编译插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven-compiler-plugin.version}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
相关推荐
皮皮林551几秒前
用 SpringBoot + Tess4j 优雅实现图像文字识别,真香!
spring boot
HashTang2 分钟前
Claude Code 源码中 REPL.tsx 深度解析:一个 5005 行 React 组件的架构启示
前端·后端·ai编程
thatway198934 分钟前
ARM TFM-1介绍及代码下载运行适配
后端
千寻girling1 小时前
不知道 Java 全栈 + AI 编程有没有搞头 ?
前端·人工智能·后端
小码哥_常1 小时前
Spring Boot 实现网络限速:让流量“收放自如”
后端
于先生吖2 小时前
Java+SpringBoot 无人健身房物联网系统完整源码实现
java·spring boot·物联网
johnrui2 小时前
SpringBoot-JdbcTemplate
java·spring boot·后端
indexsunny3 小时前
互联网大厂Java面试实战:从Spring Boot到微服务的技术问答解析
java·spring boot·redis·微服务·消息队列·电商
Victor3563 小时前
MongoDB(72)如何创建用户和角色?
后端
Victor3563 小时前
MongoDB(71)如何启用MongoDB身份验证?
后端