【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>
相关推荐
木雷坞5 小时前
Go 项目实战:用 MLiev IAM 落地企业认证中心
后端·golang·认证
Moment10 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
蝎子莱莱爱打怪11 小时前
🚀 🚀🚀2026年5月GitHub月榜精选:17个项目中挑出10个推荐,实操4个!
人工智能·后端·ai编程
砍材农夫11 小时前
物联网实战:Spring Boot MQTT | MQTT 设备模拟器演示(附源码)
java·spring boot·后端·物联网·spring·netty
我叫黑大帅12 小时前
解决聊天页内部滚轮改为页面滚动问题
javascript·后端·面试
YDS82912 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— Agent执行链路设计之ReAct Loop
java·spring boot·ai·agent·deepseek
IT_陈寒12 小时前
Python的线程池居然把我坑在了垃圾回收这块
前端·人工智能·后端
zhangxingchao13 小时前
AI应用开发八:RAG相关技术总结
前端·人工智能·后端
吴佳浩13 小时前
Go史上最大“打脸”现场来了:泛型方法终于实现了
后端·go
Huyuejia13 小时前
runtime-ask
后端