💡 一则也许对你有用的小广告 🏆

欢迎飞飞程序员   ,你将获得:专属的实战项目(已更新的所有会员标识的项目都能学习) / 1v1 提问 / Java 学习路线 / PHP 学习路线 / 学习打卡 / 社群讨论

  • 正在进行中的项目:《FFBlog知识付费博客项目》 正在持续更新中,基于 Spring Boot 3.x + JDK 21...,点击查看 ;
  • 《从零开发:FFBlog知识付费博客项目(全栈开发)》 演示链接: https://ffblog.ffcxy.com/  ;

截止目前, 飞飞  正在疯狂爆肝实战项目,后续还会上新更多项目,目标是将所学知识开发成项目并且分享给大家,如知识付费系统, Ai系统, CMS系统,在线商城系统,等等 ,欢迎点击围观

一、核心作用

spring-boot-maven-pluginSpringBoot 官方提供的 Maven 插件,核心能力:

  1. 打包:把整个 SpringBoot 项目打包成可直接运行的 jar 包(内置 Tomcat,不用额外部署 Tomcat 容器,直接java -jar xxx.jar就能启动项目)
  2. 运行:支持通过 Maven 命令直接启动项目(mvn spring-boot:run
  3. 构建优化:处理项目依赖、资源文件、版本信息等

二、配置里 <excludes> 的含义

<configuration>
    <excludes>
        <exclude>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </exclude>
    </excludes>
</configuration>

作用:打包时排除 lombok 依赖

  • Lombok 只是编译期工具:编译阶段就自动生成 get/set 等代码,运行时根本不需要 lombok 包
  • 如果不排除,打包出来的 jar 里会多余带上 lombok;排除之后,最终 jar 包体积更小,避免不必要的依赖冗余

⚠️ 注意:只影响打包后的运行包,不影响编译! 编译阶段依然会正常使用 lombok,只是最终产物里去掉这个包。

三、外层 <pluginManagement> 的含义

pluginManagement 只是插件版本管理声明

  • 只定义插件配置、版本,不会实际执行插件
  • 如果后续在 plugins 里实际引用这个插件,就会自动复用这里写好的配置(不用重复写 exclude 配置)
  • 如果不在外层plugins实际声明,这段配置仅仅是 “预定义模板”,不会生效

四、常用配套 Maven 命令

# 直接运行项目
mvn spring-boot:run
# 打包成可执行jar
mvn clean package
上一篇 Spring Initializr 是做什么用的?
已是最后一篇

全部评论(0)

头像
😃 😁 😅 😂 😍 😜 😝 🤑 🥵 🥰 😙 😎 😵 😭 😱 😖 🥳 👽 🙈 🤡 😤 💣 💯 💢 ❤️ 👍 👏 👋 👌 🤏 🙏
还没有任何评论哟~