如何使用jshell执行Java脚本?
鉴于Java 9已经来临,我们终于可以拥有Java
REPL了,jshell
我希望有一种方法可以在脚本中添加shebang并对其进行jshell
解释。
我尝试创建test.jsh
:
#!/usr/bin/env jshell -sSystem.out.println("Hello World")
/exit
然而,这给出了:
⚡ ./test.jsh| Error:
| illegal character: '#'
| #!/usr/bin/env jshell -s
| ^
| Error:
| illegal start of expression
| #!/usr/bin/env jshell -s
| ^
Hello World
事实证明,OpenJDK
https://bugs.openjdk.java.net/browse/JDK-8167440中对此有增强要求。
还有其他方法吗?
回答:
用
//usr/bin/env jshell --show-version --execution local "$0" "$@"; exit $?
作为的第一行test.jsh
。该test.jsh
脚本可能如下所示:
//usr/bin/env jshell --show-version "$0" "$@"; exit $?System.out.println("Hello World")
/exit
--show-version
当然,命令行选项是可选的,但会立即反馈该工具正在运行。
该 额外的 命令行选项--execution
local阻止jshell
产卵另一个VM。这样可以加快启动时间,并且如果脚本代码引发异常,则本地VM将退出。
请教输出jshell --help
和jshell --help-extra
更多的选项。
还可以看看https://github.com/maxandersen/jbang
玩Java脚本
,它为.java
命令行中运行的文件提供了一个简洁的包装器。
以上是 如何使用jshell执行Java脚本? 的全部内容, 来源链接: utcz.com/qa/411664.html