Ich möchte eine ganze Datei mit JShell laufen wie:Wie starte ich eine JShell-Datei?
$ jshell my-jshell-skript.java
Wo z.B. Der Inhalt meiner my-jshell-skript.java
ist 40 + 2;
.
Oder alternativ eine ausführbare Datei wie:
#!/usr/bin/jshell
40 + 2
Ist das jetzt möglich oder muß ich noch die alte Art und Weise über eine Java-Main-Klasse nehmen?
Edit 1: Windows-Problem
Unter Windows gibt es noch keine Lösung für mich:
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 beginnt völlig meine Datei zu ignorieren. Ist es ein Fehler?
Edit 2: Lösung für Windows-Problem
Es stellte sich heraus, dass es der Inhalt meiner foo ist. Scheint, wie 1 + 1
nur "on the fly" funktioniert, lesen Sie nicht aus einer Datei:
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>
Mann, das so ärgerlich ist. All dieser Hype für jshell und es kann 'jshell helloworld.java' nicht laufen lassen. –