Zu diesem Zeitpunkt ist es einfacher, das Docker-Image von JVM zu verwenden.
$ cat Hoge.java
public class Moge {
public static void main(String[] args) {
System.out.println("hoge");
}
}
$ docker run --rm -it --volume `pwd`:/tmp adoptopenjdk/openjdk11-openj9 java /tmp/Hoge.java
hoge
Führen Sie Java aus, ohne es zu kompilieren? -> JEP330 Java11: Java-Code unverändert in einer einzelnen Datei ausführen Mit Java 11 können Sie Java-Dateien ohne Javac ausführen
Referenz Probieren Sie verschiedene JDKs mit Docker aus AdoptOpenJDK https://adoptopenjdk.net Offizielles Docker-Bild https://hub.docker.com/u/adoptopenjdk/
$ docker run --rm -it --volume `pwd`:/tmp adoptopenjdk/openjdk11-openj9 /bin/sh -c 'for i in `seq 1 10`; do java -jar /tmp/MDTest.jar |grep -v dig; done' | awk '{sum+=$3} END {print "avg="sum/NR}'
avg=26.1
jshell
Zu diesem Zeitpunkt ist jshell praktisch. Wenn Sie Docker haben, können Sie es auch in einer Umgebung ohne Java 9 oder höher schnell verwenden.
$ docker run --rm -it adoptopenjdk/openjdk11-openj9 jshell
Nov 16, 2018 12:00:26 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
| Welcome to JShell -- Version 11.0.1
| For an introduction type: /help intro
jshell> System.out.println("moge")
moge
jshell> java.time.Instant.ofEpochMilli(1294012469700l);
$1 ==> 2011-01-02T23:54:29.700Z
jshell>
Wie schreibt man Einzeiler?
[Wie schreibe ich ein einzeiliges Skript in Java JShell (und FizzBuzz Code Golf)] (http://sucrose.hatenablog.com/entry/2018/05/05/230434)
Das war's!
$ echo 'println("hello, world!")' | docker run --rm -it adoptopenjdk/openjdk11-openj9 jshell PRINTING -
the input device is not a TTY
Das? Ah.
$ echo 'println("hello, world!")' | docker run --rm -i adoptopenjdk/openjdk11-openj9 jshell PRINTING -
Nov 16, 2018 3:12:46 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
hello, world!
Ich ziehe alles an.
Referenz Java beginnt mit JShell-Blick in die Welt von Java Mit JShell mit Java2D spielen [Java 9 New Features] Erste Schritte mit jshell
Recommended Posts