【发布时间】:2020-11-30 10:06:23
【问题描述】:
我想用 JShell 运行整个文件,例如:
$ jshell my-jshell-skript.java
例如在哪里我的my-jshell-skript.java 的内容是40 + 2;。
或者像这样的可执行文件:
#!/usr/bin/jshell
40 + 2
现在这可能吗,还是我仍然必须采用旧方法而不是 Java-Main-Class?
编辑 1:Windows 问题
在 Windows 上,我仍然没有解决方案:
C:\JDKs\jdk9.0.0.0_x64\bin>type foo.jsh
1 + 1
C:\JDKs\jdk9.0.0.0_x64\bin>jshell.exe foo.jsh
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell> /exit
| Goodbye
C:\JDKs\jdk9.0.0.0_x64\bin>
JShell 开始完全忽略我的文件。是bug吗?
编辑 2:Windows 问题的解决方案
原来是我的 foo 的内容。似乎1 + 1 只能“即时”工作,而不是从文件中读取:
C:\JDKs\jdk9.0.0.0_x64\bin>type foo.jsh
System.out.println("foo");
C:\JDKs\jdk9.0.0.0_x64\bin>jshell.exe foo.jsh
foo
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell> /exit
| Goodbye
C:\JDKs\jdk9.0.0.0_x64\bin>
【问题讨论】:
-
伙计,这太烦人了。所有对 jshell 的炒作,它都无法运行
jshell helloworld.java。