java jbang 工具让java作为脚本语言

JBang 是一款能够让 Java 开发者像使用 Python/nodejs/Shell 脚本一样,极其简便地编写和运行 Java 程序的命令行工具。
尤其是单文件的简单场景(自动化运维、命令行小工具), 使用 jbang 完全可以代替这些常用的脚本语言,而且具备如下优势:

  • java 编码难度更低, 编译型语法更严谨, 有更智能的IDE工具
  • java 生态更好,有大量的maven第三方包可供使用。
  • 一个命令即可使用VS code等工具编辑当前的脚本java文件, jbang edit myjava.java
  • 一个命令即可轻松挂在调试器, jbang run --debug myjava.java
  • 直接运行指定 url 对应的脚本
  • 在 java 文件顶部增加 shebang 启动支持,即可在linux中像执行sh一样运行。 比如 ///usr/bin/env jbang "$0" "$@"

JBang 常用命令一览表

JBang 的命令行界面(CLI)非常丰富,涵盖了从脚本创建、编辑到运行以及依赖和 JDK 管理的全过程。
以下是 JBang 的常用核心命令汇总:

基础操作 jbang init file 初始化一个新的脚本(如 hello.java),自动生成带有 Shebang 的模板文件。
jbang script 运行指定的 Java、Kotlin、Groovy 或 JShell 脚本。
jbang run script 显式调用运行命令,支持附加参数如 --debug 或 --deps。
jbang build file 仅编译脚本并存入本地缓存,不立即执行。
开发辅助 jbang edit file 在本地 IDE(如 VS Code, IntelliJ)中打开脚本并配置临时的工程环境进行编辑。
jbang info file 显示脚本的元数据,包括依赖关系、使用的 JDK 版本等信息。
jbang export type 将脚本导出为可分发的格式,如 jar, native (原生二进制) 或 maven 项目。
JDK 管理 jbang jdk list 列出系统中已安装或 JBang 管理的 JDK 版本。
jbang jdk install v 安装指定版本的 JDK(例如 jbang jdk install 17)。
jbang jdk default v 设置当前使用的默认 JDK 版本。
应用与别名 jbang app install name 将脚本作为全局命令安装到系统 PATH 中,直接通过名称调用。
jbang alias add name url 为远程或本地脚本设置短别名,方便后续快速运行。
jbang catalog list 查看当前配置的应用目录(Catalogs),用于发现和分享脚本工具。
系统管理 jbang cache clear 清理编译后的脚本缓存和下载的依赖包。
jbang version 查看当前安装的 JBang 版本信息。
jbang completion 生成适用于 bash/zsh 等终端的自动补全脚本。

实用技巧

  • 调试模式:使用 jbang --debug myapp.java 可以启动调试器并监听默认端口 4004。
  • 原生编译:如果安装了 GraalVM,可以使用 jbang --native myapp.java 将其编译为无需 JVM 即可运行的可执行文件。
  • 清理环境:如果遇到依赖下载失败或编译错误,jbang cache clear 是最常用的排障手段。 jbang cache 和 maven本地 cache 非常类似,会将依赖包自动下载到 jbang 自己的本地 cache 目录中

[1] https://foojay.io
[2] https://www.jbang.dev
[3] https://camel.apache.org
[4] https://blog.marcnuri.com

posted @ 2026-04-29 21:14  harrychinese  阅读(64)  评论(0)    收藏  举报