大家好,我是栈长。
昨天有粉丝反馈栈长《Spring Boot 外围技术课》中的一个问题:
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 3.0.2 文档:
尽管 Spring Boot 3.0.1 文档中还有相干形容,然而通过测试, 实际上曾经在 3.0.0 版本中移除了 run 命令 ,并且没有新的替换命令,也就是说 Spring Boot 3.0+ 不再反对运行 Groovy 脚本了。
我又找到官网仓库中的以下参考资料:
https://github.com/spring-projects/spring-boot/issues/33482
这让我想到了 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,最初举荐下栈长的《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 开发手册(嵩山版)》最新公布,速速下载!
感觉不错,别忘了顺手点赞 + 转发哦!