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

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个,“取代程序员”这次要成真了?

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
夏日里,看皑皑雪山,望万仞冰川纯命令行+美观UI,10款实用开源下载工具深入剖析 Spring Boot 的 SPI 机制SpringBoot 实现 Excel 导入导出,百万数据量,性能爆表!品读彭小玲老师的《生活在英国》一书Spring Boot 3 步完成日志脱敏,简单实用~Spring for Apache Kafka 3.0 和 Spring for RabbitMQ 3.0 发布天赋“易昺(bǐng)”,创造历史!用这4招 优雅的实现Spring Boot 异步线程间数据传递打卡,Goodbye Spring BreakK8s + SpringBoot实现零宕机发布SpringBoot 使用线程池如何控制主线程和子线程的事务在 Linux 命令行上使用 dict 文字工具 | Linux 中国字节:SpringBoot 启动流程这是我见过最好的SpringBoot系统!Flag Boot:基于范畴论的新一代极简开源微服务框架7min 到 40s:Spring Boot 启动优化实践在 C 语言中使用 getopt 解析命令行短选项 | Linux 中国一位平凡而伟大的中国母亲Spring breakJust When You Thought You Were Having a Poopy DayLinux 实现简易的 Shell 命令行解释器别只会 SpringMVC 了!Spring 又官宣了一个更牛逼的替代框架!真情书写人生Spring Boot + Disruptor = 王炸!!SpringBoot 实现 MySQL 百万级数据量导出并避免 OOM 的解决方案问号别再自己瞎写工具类了,SpringBoot 内置工具类应有尽有,建议收藏!!SpringBoot 整合 Groovy 脚本,实现动态编程继硅谷银行、签名银行倒闭后,欧洲银行界也风雨飘摇To Boost Economy, Shanghai’s Districts Ready Multi-Pronged PlanSpringBoot 如何快速过滤出一次请求的所有日志?SpringBoot+ElasticSearch 实现模糊查询,批量CRUD,排序,分页,高亮SpringBoot 应用的新命令行界面:JustSpringBoot+Prometheus+Grafana 实现自定义监控SpringBoot + MDC 实现全链路调用日志跟踪GitLab推出命令行工具,将整个开发流程带到了终端上对话 Spring 大神:Spring 生态系统的新时代来了!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。