【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>
相关推荐
ん贤10 分钟前
RESTful风格
后端·go·restful
Humbunklung12 分钟前
Rust方法语法:赋予结构体行为的力量
开发语言·后端·rust
萧曵 丶19 分钟前
Rust 内存结构:深入解析
开发语言·后端·rust
Kookoos20 分钟前
ABP VNext + Cosmos DB Change Feed:搭建实时数据变更流服务
数据库·分布式·后端·abp vnext·azure cosmos
写不出来就跑路1 小时前
暑期实习感悟与经验分享:从校园到职场的成长之路
java·开发语言·经验分享·spring boot
程序员张35 小时前
Maven编译和打包插件
java·spring boot·maven
灵犀学长6 小时前
EasyExcel之SheetWriteHandler:解锁Excel写入的高阶玩法
spring boot·excel
zwjapple7 小时前
docker-compose一键部署全栈项目。springboot后端,react前端
前端·spring boot·docker