AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

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

  • 2023-02-01
    北京
  • 本文字数:1343 字

    阅读完需:约 4 分钟

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

命令行工具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


相关阅读:

Spring Boot 3 和 Spring Framework 6 使用 Java 17 和 Jakarta EE 9,并支持基于 GraalVM 的原生 Java

Spring Boot Migrator 简介

Dubbo 正式支持 Spring 6&Spring Boot 3

2023-02-01 08:0018307

评论 1 条评论

发布
用户头像
不错
2023-02-06 08:15 · 浙江
回复
没有更多了
发现更多内容

在线正则表达式测试,正则替换工具

入门小站

工具

唐庄酒业的酒怎么样?不输茅台特有面子!

Geek_50a546

带老弟做个实时排行榜

程序员鱼皮

Java c++ 大前端 后端 项目实战

实战!使用Docker在线安装OnlyOffice

一个需求

Docker onlyoffice

Apache Dubbo 3.0.0 正式发布 - 全面拥抱云原生

阿里巴巴中间件

云计算 阿里云 开源 云原生 中间件

架构实战营 - 群讨论汇总(2021)

华仔

#架构实战营

带你认识4种设计模式:代理模式、装饰模式、外观模式和享元模式

华为云开发者联盟

设计模式 外观模式 代理模式 装饰模式 享元模式

纯CSS实现随机翻牌效果之steps 妙用

devpoint

CSS css3 6月日更

手写Spring,定义标记类型Aware接口,实现感知容器对象

小傅哥

Java spring 小傅哥 aware

[译] D8 优化: Assertions

Antway

6月日更

数据结构——链表

若尘

数据结构 链表 6月日更

JAVA 面向对象 (十五)-- 异常

加百利

Java 6月日更

AQS知多少

卢卡多多

AQS 6月日更 锁分析

做好项目管理,项目经理需要具备哪些优秀品质?

万事ONES

项目管理 研发管理 IT ONES 项目经理

架构实战营 - 模块 7- 作业

请弄脏我的身体

架构实战营

数字化的三大本质

CECBC

项目管理复杂多变,如何成为一个好的项目经理?

万事ONES

项目管理 研发管理 ONES 开发管理

项目经理的主要工作有哪些?

万事ONES

项目管理 研发管理 ONES

技术实践:教你用Python搭建gRPC服务

华为云开发者联盟

Python gRPC 语言 移动应用开发 RPC框架

带你掌握C++中三种类成员初始化方式

华为云开发者联盟

c++ 初始化 类成员初始化 声明时初始化 初始化列表

区块链服务网络全球首发 将极大降低政务、金融、能源等领域区块链应用成本

CECBC

Redis - Cluster - 分布式存储

旺仔大菜包

redis

你公司里有不能碰的红线吗?

石云升

法律 职场经验 6月日更

Linux之more命令

入门小站

Linux

Rust从0到1-函数式编程-闭包

rust 函数式编程 闭包 functional closures

除了数据恢复,EasyRecovery还有这样的功能!

淋雨

文件恢复 Easyrecovery破解 硬盘数据恢复

唐庄酒业的酒怎么样?好的酱香酒就应该和它一样

Geek_50a546

线性表、顺序表和链表,你还分不清?

华为云开发者联盟

数组 链表 指针 线性表 顺序表

JavaScript 学习(十二)--- String对象中的模式匹配方法

空城机

JavaScript 大前端 6月日更

精致女孩的护牙小心机,藏在这瓶冰泉漱口水里

Geek_50a546

☕️【Java技术之旅】【ConcurrentHashMap】深入浅出核心源码分析(JDK1.7版本)

洛神灬殇

Java 源码分析 ConcurrentHashMap 6月日更

Just:Spring Boot应用的新命令行界面_编程语言_Johan Janssen_InfoQ精选文章