惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
U
Unit 42
Google DeepMind News
Google DeepMind News
博客园 - 司徒正美
Y
Y Combinator Blog
F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog
G
Google Developers Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
P
Proofpoint News Feed
Jina AI
Jina AI
B
Blog RSS Feed
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
D
Docker

博客园 - harrychinese

机器学习实战示例和基础知识查漏补缺 jupyter notebook上的java kernel 数据分析中几个常用的java类 我认为 C# 几个重要的设计缺陷 Jupyter notebook 最简安装方法 使用Tribuo分析波士顿房产数据 Java 语言常用的技巧 Java AI agent框架 VS code + Jypyter 插件构建 Java notebook 环境 使用 VS code + Oracle java 插件搭建java语言原生的notebook环境 【计算机科学速成课】[40集全/精校] - Crash Course Computer Science Handy toolbox for IT developers 中学学校教材下载 深度学习模型训练5个关键步骤 使用SpringBoot实现一个执行通用SQL的Rest接口 学益升X1和国悦K3阅读器 状态机 使用场景规则匹配模式代替复杂的if else条件判断 vscode 数据处理的插件 iPhone XR 升级非最新版IOS duckdb nuget打包部署完整步骤 ML.Net机器学习基本知识 机器学习资料汇总 优化算法知识和类库 C# XML 序列化器 画草图和示意图的好工具 .net debug tools 运筹学/最优化讲义.pdf Lazarus
java jbang 工具让java作为脚本语言
harrychinese · 2026-04-29 · via 博客园 - harrychinese

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