作者 | Johan Janssen
译者 | 马可薇、策划 | 丁晓昀
命令行工具 Just,无需任何配置即可自动加载有变动的源码、构建文件或 Docker 编排文件,提升 Spring Boot 应用构建时的 Java 开发体验,同时该项目也支持生成(原生)应用及(原生)Docker 镜像。
自由职业建筑师兼开发者 Maciej Walkowiak,在代码首次提交恰好一个月后,正式 发布 了 Just。这款被编译为原生二进制文件的 Spring Boot 应用借助 picocli 编写出功能丰富的命令行应用、Testcontainers 运行容器的 JUnit 测试、Sentry 监测问题错误,以及 JReleaser 发布项目。
Just 可以自动检测源码变动,并在自动重构后使用 Spring Boot 开发工具 重新加载应用。此外,修改pom.xml
或build.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 提供jar
、native
、image
,以及原生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)
------
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!
推荐阅读
- 我被微服务坑掉了CTO职位
- Visual Studio Code 1.75发布
- 一个简化 Java 应用升级的开源项目:EMT4J
··································
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。
点击领取2022最新10000T学习资料