Springboot核心构建插件

Springboot核心构建插件

SpringBoot 构建插件的核心目标是让开发者通过简单命令完成打包可执行应用、一键运行应用、生成构建信息,无需手动处理依赖包、启动类、类加载器等底层细节。

对于 Maven 工程 spring-boot-maven-plugin 是核心

xml 复制代码
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

spring-boot-starter-parent 的 POM 中已经内置了如下配置,所以子项目无需显式显式配置 execution 和 goal

将这个应用打成jar包,直接使用 java -jar 命令进行执行 jar 包

执行 java -jar .\springboot-1.0-SNAPSHOT.jar 启动 SpringBoot 可执行 Jar 包,如图即成功:

若不引入 spring-boot-maven-plugin 插件

执行 java -jar .\springboot-1.0-SNAPSHOT.jar 会有如下问题:

总结:

有插件:开发时直接执行 mvn spring-boot:run 启动项目,支持传递参数(如 mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8081),部署时打包后直接 java -jar your-project.jar 启动,无需额外配置依赖。

无插件:开发时仅能通过 IDE 运行主类(依赖 IDE 自动加载 classpath);

部署时需手动处理所有依赖,单独下载项目所有依赖 JAR 放到 lib 目录、手动编写启动脚本指定 classpath、若依赖版本冲突或缺失,需手动排查,部署成本极高。

相关推荐
Aphelios3801 小时前
一次锁内网络IO引发的Tomcat线程池“饿死”事故
java·开发语言·spring boot·elasticsearch·tomcat·网络io阻塞·线程池耗尽
不可求~1 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++
Lam Tang1 小时前
APS 系列文章10
java·代理模式
考虑考虑2 小时前
Excel导入时产生特殊字符处理
java·后端·java ee
Scabbards_2 小时前
面试Leetcode - Heap 堆
java·leetcode·面试
IT_陈寒3 小时前
Redis的DEL命令竟然没删掉数据?我踩的这个坑你得知道
前端·人工智能·后端
用户938515635073 小时前
Docker + Nginx + Node.js:从“我的电脑能跑,你的电脑跑不了”到一键部署
后端·nginx·docker
陆枫Larry3 小时前
两步验证(2FA )到底是什么?
后端
JavaGuide3 小时前
我用 Claude Code/ZCode+GLM-5.3 从零做了一款 Agent 游戏!
前端·后端
程序员清风3 小时前
专业再升级!程序员专属显示器明基RD280UG上手实测!
java·后端·面试