【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>
相关推荐
Cosolar8 小时前
不收费、不加水印、数据归你:我做了个开源的在线简历工具
后端·面试·前端框架
小蒜学长9 小时前
基于Spring Boot+Vue3的在线医疗咨询系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·在线问诊·在线医疗咨询系统
陈随易10 小时前
下载神器!Motrix 停更三年后重写回归
前端·后端·程序员
每天一道题10 小时前
CAP、Raft 与多数派:分布式系统如何达成一致?
分布式·后端·微服务
前端的日常10 小时前
一个人+AI做情侣食谱小程序,0 费用的服务器
前端·后端
IT_陈寒11 小时前
Vue的v-for里用了个临时变量,页面直接挂了
前端·人工智能·后端
ServBay12 小时前
本地模型已经跑起来了,Copilot Fusion 为什么还要联网?
后端·ai编程·github copilot
武子康12 小时前
H3-World 的动作没按时发生,先检查时间线变成了什么
人工智能·后端·agent
苍何12 小时前
腾讯 Buddy One 来了,办公全家桶一键打通WorkBuddy(附教程)
后端
GIS数据转换器13 小时前
基于CIM的城市智慧供热监管服务平台
java·大数据·开发语言·人工智能·后端·物联网·struts