Spring Boot 宣布移除 run 命令,真让我猝不及防。。。

这篇具有很好参考价值的文章主要介绍了Spring Boot 宣布移除 run 命令,真让我猝不及防。。。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是栈长。

昨天有粉丝反馈栈长《Spring Boot 核心技术课》中的一个问题:

Spring Boot 宣布移除 run 命令,真让我猝不及防。。。

Spring Boot CLI 命令行工具中的 run 命令找不到了?

这是什么鬼?后面为你揭晓原由!

Spring Boot CLI 基本介绍

Spring Boot CLI 全称即:Spring Boot Command-Line Interface,是一个构造 Spring Boot 项目命令行工具,可用于从 start.spring.io 网站构建新项目或用来密码加密。

它可以运行 Groovy 脚本,它也是 JVM 系语言,拥有和 Java 类似的语法,但它比 Java 要无比简洁,无需太多冗余的项目结构配置代码,从而可以快速构建项目。

Spring Boot 并不一定需要 Spring Boot CLI,但有了 Spring Boot CLI ,可以在无需 IDE 的情况下快速启动基于 Spring 的应用程序。

Spring Boot CLI 提供了很多快捷功能,其中一个亮点就是可以支持运行 Groovy 脚本,以快速构建 Spring 项目。

比如,栈长在桌面创建了一个简单的 app.groovy 脚本文件:

@RestController
class ThisWillActuallyRun {

    @RequestMapping("/hi")
    String home() {
       "Hello Spring Boot!"
    }

}

然后使用 Spring Boot CLI 运行命令就能直接运行了:

$ spring run app.groovy
Resolving dependencies....................

.   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/  ___)| |_)| | | | | || (_| |  ) ) ) )
'  |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot ::                

...

...Started application in 2.544 seconds (JVM running for 4.453)
...Tomcat started on port(s): 8080 (http) with context path ''
...Started application in 2.544 seconds (JVM running for 4.453)

如上启动日志,端口启动在 8080,就像启动正常的 Java 应用程序一样,因为 Groovy 本身就是 JVM 系编程语言,在 Java 中创建一个接口可能需要一大堆的项目配置,而 Groovy 仅仅只需要一个脚本就够了。

Spring Boot CLI 移除 run 命令

栈长翻阅了大量官方资料,对比 Spring Boot 各个版本的官方文档,发现在 Spring Boot 3.0.2 版本中,移除了关于 Spring Boot CLI 可运行 Groovy 脚本的描述,如下图所示。

Spring Boot 2.7.x 文档:

Spring Boot 宣布移除 run 命令,真让我猝不及防。。。

Spring Boot 3.0.2 文档:

Spring Boot 宣布移除 run 命令,真让我猝不及防。。。

虽然 Spring Boot 3.0.1 文档中还有相关描述,但是经过测试,实际上已经在 3.0.0 版本中移除了 run 命令,并且没有新的替换命令,也就是说 Spring Boot 3.0+ 不再支持运行 Groovy 脚本了。

我又找到官方仓库中的以下参考资料:

https://github.com/spring-projects/spring-boot/issues/33482

Spring Boot 宣布移除 run 命令,真让我猝不及防。。。

这让我想到了 Spring Cloud 2022 这个版本,它移除了对 Spring Cloud CLI 的支持,2022 版本一共移除了以下三个模块的依赖:

  • spring-cloud-sleuth(已移除)
  • spring-cloud-cloudfoundry(已移除)
  • spring-cloud-cli(已移除)

另外,据栈长所知,Spring Boot CLI 命令行虽然很犀利,但实际开发工作中确很少使用到,没什么人用还要持续维护,所以官方决定精简该命令行工具就不觉得奇怪了。

Spring Boot 3.0.0 里程碑版本还能用,到了正式版就移除了,真是有点猝不及防。。

关于这点更新,Spring Boot 的版本更新文档也没有描述,栈长之前确实没测试到,昨天栈长也把《Spring Boot 核心技术课》中的 Spring Boot CLI 内容做了相关更新:

Spring Boot 宣布移除 run 命令,真让我猝不及防。。。

最后,如果你还没用过 Spring Boot,最后推荐下栈长的《Spring Boot 核心技术课》,基于最新 Spring Boot 3.x 主版本,持续更新,包括底层实现原理及代码实战,知识点非常齐全,助你快速打通 Spring Boot 的各个环节。

Spring Boot 最新最全的实战代码已上传 Github:

https://github.com/javastacks/spring-boot-best-practice

好了,今天的分享就到这里了,后续栈长也会继续关注并分享更多的 Spring Boot 干货,关注公众号Java技术栈第一时间推送。

版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!文章来源地址https://www.toymoban.com/news/detail-695802.html

到了这里,关于Spring Boot 宣布移除 run 命令,真让我猝不及防。。。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Bee2.1.8支持Spring Boot 3.0.11,active命令行选择多环境,多表查改增删(bee-spring-boot发布,更新maven)

    天下大势,分久必合! Hibernate/MyBatis+ plus +Sharding JDBC + Jpa+ Spring data+ GraphQL+ App ORM (Android, 鸿蒙)= Bee Spring Cloud 微服务使用数据库更方便: Bee + Spring Boot; 轻松支持多数据源,Sharding, Mongodb. 要整合一堆的工具,还不如只用一个小巧又功能强大的工具。犹如 JAVA 界的数据源连接池

    2024年02月07日
    浏览(26)
  • Spring Boot 集成 WebSocket 实例 | 前端持续打印远程日志文件更新内容(模拟 tail 命令)

    这个是我在 CSDN 的第一百篇原则博文,留念😎 先说下项目结构,后端基于 Spring Boot 3,前端为 node.js 开发的控制台程序。现在希望能够在前端模拟 tail 命令,持续输出后端的日志文件。 这个方案实施较为简单,通过前端不断(定时)发起请求,并携带已读的内容坐标(posi

    2024年03月18日
    浏览(41)
  • 图片填满div,真让人头大

    家人们,这图片到底怎样才能完全填满div啊,想问度娘结果搜索的问题都乱七八糟的 (怎么那么多问题QAQ),描述问题都描述不来 具体问题如下:图片有自己的分辨率大小,例如宽100px,高100px,将图片添加到div中: div class=\\\"xx\\\" img src=\\\"xxx\\\" /div 接着用css代码编辑样式的时候,

    2024年02月03日
    浏览(26)
  • [main] ERROR org.springframework.boot.SpringApplication - Application run

    13:58:43.381 [main] ERROR org.springframework.boot.SpringApplication - Application run failed org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping in \\\'reader\\\', line 2, column 1: spring: ^ expected block end, but found \\\'block mapping start\\\' in \\\'reader\\\', line 5, column 2: profiles: ^ yml配置有误 我的这样出了这个问题。下次用

    2024年02月11日
    浏览(36)
  • 解决:ERROR org.springframework.boot.SpringApplication - Application run failed

    把写好的项目达成jar包后运行就报下面的错误,但是在idea里却可以正常运行,非常奇怪 折腾了一个下午也没有解决,网上找的解决方法也都不行,第二天早上再次仔细查看出问题的原因,可以定位到是mapper和beam出问题了,那就对每个文件进行排查,最终定位到xml文件里的

    2024年02月16日
    浏览(35)
  • docker run 命令详解

    一、前言 Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(包括流行的Linux机器、Windows机器),也可以实现虚拟化。以下是Docker容器的特点: 沙箱机制:容器是

    2024年02月02日
    浏览(37)
  • Docker run命令汇总

    一、docker run指令 docker run :创建一个新的容器并运行一个命令 以下为docker run时可以加的一些参数 二、docker run指定的参数 1. -d 后台运行容器,并返回容器ID,此时不会进入交互界面,如果想要进入交互界面请加-i和-t参数。 如果用了-d参数未进入容器的时候,在想进入容器,

    2024年02月17日
    浏览(40)
  • Docker run命令

    docker run 命令用于创建、启动和运行一个新的 Docker 容器。它的参数如下: 参数 含义 -d 以后台模式运行容器 -p 将容器的端口映射到主机的端口 –name 为容器指定一个名称,可以在后面的命令中引用该容器 –restart 指定容器的重启策略,可以是always(默认值)、on-failure、unl

    2024年02月14日
    浏览(29)
  • npm run dev和npm run serve两个命令的区别

    前端开发过程中运行Vue项目的时候,有时候使用npm run serve命令可以启动项目,有时候却会报错;有时候使用npm run dev命令可以启动项目,有时候却也会报错。是什么原因造成这种情况呢,原因在于 Vue脚手架版本的问题 ,也可以理解为执行配置的脚本问题,有的脚手架版本支

    2024年02月22日
    浏览(40)
  • 【Docker】docker run 命令详解

    Docker运行命令是在Docker中启动容器的主要方式之一。它是Docker CLI(命令行界面)中的基本命令之一,用于启动容器。 在这个语法中,“OPTIONS”包含了一些参数,用于配置和控制容器的各种方面。“IMAGE”是要使用的Docker镜像。“COMMAND”是在容器内执行的命令,“ARG”是该命

    2024年02月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包