linux_china技术雷达linux_china技术雷达

JBang

javanew
采用

Java下的命令行工具并不是特别多,当然项目管理工具类,如Maven/Gradle/sbt/ant等除外,这里面JBang 就比较突出。 JBang可以让你以更快捷地方式快速运行Java代码或程序。如果你要运行一个最简单的Java Hello World,那么你需要:

  • 安装JDK环境,而且版本要对。
  • 安装Maven等项目管理工具,虽说是Hello World,但是如果要引用最基本的第三方包,如Guava, gson等,那么package管理跑不掉。
  • 接下来就是编译和打包。 普通的jar包可能还不行,如果有其他依赖,你可能需要fat jar,要进行对应的插件设置。
  • 最后是运行,还好,就是java -jar xxx.jar

能否不要这么复杂? JBang就是解决这个问题的,如果你想尝试一下Java 22新特性,那么下面代码就够啦:

///usr/bin/env jbang "$0" "$@" ; exit $?
//JAVA 22
//PREVIEW
//DEPS org.apache.commons:commons-lang3:3.13.0

//import org.apache.commons.lang3.StringUtils;

void main() {
  String name = "Joan";
     String intro = STR. "My name is \{ name }" ;
  System.out.println(intro);
 }

然后运行:jbang hello.java,就可以看到输出了。 什么? 本地没有安装JDK 22,JBang帮你搞定,package下载,自动完成。 要用到preview特性,添加一下//PREVIEW就可以,总之JBang让这一切变得非常简单。

如果你要演示一下demo/example,尤其是告诉其他人如何通过Java调用你的服务,那么JBang是一个非常好的选择,他人可以直接运行并看到效果,阻尼系数为零。

当然JBang还有很多其他功能,如直接运行gav, script catalog支持,hub等,你可以尝试一下。

JBang & Friends

References