Just:Spring Boot 应用的新命令行界面

作者 | Johan Janssen 译者 | 马可薇 策划 | 丁晓昀

命令行工具 Just,无需任何配置即可自动加载有变动的源码、构建文件或 Docker 编排文件,提升 Spring Boot 应用构建时的 Java 开发体验,同时该项目也支持生成(原生)应用及(原生)Docker 镜像。

自由职业建筑师兼开发者 Maciej Walkowiak,在代码首次提交恰好一个月后,正式 发布 了 Just。这款被编译为原生二进制文件的 Spring Boot 应用借助 picocli 编写出功能丰富的命令行应用、Testcontainers 运行容器的 JUnit 测试、Sentry 监测问题错误,以及 JReleaser 发布项目。

Just 可以自动检测源码变动,并在自动重构后使用 Spring Boot 开发工具 重新加载应用。此外,修改pom.xmlbuild.gradle文件的构建都会导致应用暂停,并在构建文件刷新后重新启动。与 Spring Boot 开发工具不同,执行run子命令时 Just 会启动数据库、通过 Docker 编排 定义的服务等基础设施服务,执行just命令可以自动触发应用构建配置检测。Just 支持 Maven 和 Gradle 对应的封装器,也支持 Maven Daemon。仅需执行一次run子命令,Just 就能够处理好应用中的变更。

run子命令相比,build子命令执行时会根据构建目标正确地转换成对应的 Maven 或 Gradle 命令:

just build [--quick] [--skip-test] <buildTarget>

使用其中的quick选项会跳过测试、文档生成、格式检测以及静态分析。Just 提供jarnativeimage,以及原生native-image几种不同buildTarget选项以创建(原生)应用或(原生)Docker 镜像。另外,format子命令会根据项目配置中默认设置、Spring Java 格式、Spotless 配置规则格式化代码库。运行中进程可通过kill子命令终止,默认设置下端口 8080 上运行的进程会被终止,但端口号也可以通过-p 参数指定,-9参数则会强行执行kill子命令。

Just 可通过命令行执行,在 IntelliJ IDEA 则需要先通过init idea子命令新增运行配置,手动新增配置则可以在“运行”菜单栏的下拉选项中选择“修改配置”,新增“Shell 脚本”并重命名,“执行”选项选择“Script Text”,输入框“Script Text”中输入just run。取消勾选“命令行执行”后应用配置,“运行”菜单中就会显示行 shell 脚本的名称,我们也可以点击启动 Just 了。

在 MacOS 上安装 Just 可通过 Homebrew 执行:

brew install maciejwalkowiak/brew/just

在 Windows 上则通过 Scoop:

scoop bucket add maciejwalkowiak https://github.com/maciejwalkowiak/scoop-just.gitscoop install just

此外,也可以手动安装应用至 maxOS、Windows 或 Linux,以 Linux 命令为例:

curl -Lo just.zip https://github.com/maciejwalkowiak/just/releases/latest/download/just-0.12.0-linux-x86_64.zip && unzip just.zip && chmod +x just && sudo mv just /usr/local/bin/just && just help

其中的help子命令可用于验证安装结果。

Just 并非开源项目,其在 GitHub仓库 中仅包含二进制、发布说明以及问题追踪,并没有发布源码。目前项目仍处于 Alpha 测试阶段且可免费使用,所有的发布版本中都含有内置过期时间,过期后可能需要购买应用或安装最新版本。

关于 Just 更多信息可查看“开始使用”文档。

原文链接:

Just, a New CLI for Spring Boot Applications(https://www.infoq.com/news/2023/01/just-spring-boot-cli/)

相关阅读:

Spring Boot 3 和 Spring Framework 6 使用 Java 17 和 Jakarta EE 9,并支持基于 GraalVM 的原生 Java(https://www.infoq.cn/article/iCQ44j3XyAEl2FgHSPQy )

Spring Boot Migrator 简介 (https://www.infoq.cn/article/M8Tcely7QZhZYx4od2t1)

Dubbo 正式支持 Spring 6&Spring Boot 3(https://www.infoq.cn/article/LAvbFBiTzeXeqQ2CzAsi)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

现代软件越来越大、越来越慢、越来越烂!还有救吗?

指导了上百万程序员,《代码大全》之父和你聊聊软件开发素养|独家探访“编程圣经”背后故事

为谷歌工作 16 年被当“垃圾”无情辞退,数千网友留言:为公司“卖命”不值得

数百程序员专门教AI写代码、40个bug能修复31个,“取代程序员”这次要成真了?

相关推荐

  • 悄悄停止仅上线半年的 RISC-V 项目,英特尔:没影响,只是小团队项目
  • 又一个让马斯克害怕的“推特杀手”出现了
  • 我被微服务坑掉了CTO职位
  • 上车了!!!
  • 开通啦!免费进童书折扣群,无套路!出版社直发~
  • 微软苏州大裁员?赔偿“N+12”?高管深夜发内邮:通常不会回应,但问的人太多了
  • Java已死!
  • ChatGPT原班人马成立的公司,被谷歌紧急投了4亿美元
  • IM专题:分层架构IM系统(5)— Entry设计
  • 中国无人飞艇误入美国领空;居民赚100块要拿50还债;顾客称711便利店包子吃出淋巴肉;印度打击童婚抓1800人...|酷玩日爆
  • 现在电视剧真敢演 | 每日一冷
  • 这个春节,中国没有“电动爹”
  • 中国最大煤老板之一,破产、牢狱,55岁离世
  • 年轻人抱怨工资低,专家:不像话!泰国越南只有你一半
  • 5 张图带你理解 RocketMQ 消费者启动过程
  • Kotlin发布2023年路线图:K2编译器、完善教程文档等
  • C++ 之父:Rust等内存安全语言的安全性并不优于C++
  • 救命!同事买的10w块大钻戒,丢了!
  • 美国首次将没收自俄罗斯的资金转交乌克兰;万人级别大裁员!硅谷员工:人心惶惶!;以巴在约旦河西岸发生交火 | 每日大新闻
  • 《情 人 节 热 恋 指 南》