Ich folge dem Schnellstart hier . Ich habe den Befehl jlink
erfolgreich ausgeführt:
Dies erzeugt ein "Laufzeit-Image", das eine explodierte Verzeichnisstruktur ist, die wie folgt aussieht:
%Vor%Wie führe ich das? Ich habe eine binäre ausführbare Datei erwartet, keine explodierte Verzeichnisstruktur.
Das Verzeichnis bin
hat eine java
und eine keytool
. Ich sehe keine .jar-Dateien oder .class-Dateien, die über die gebündelte java
ausführbare Datei ausgeführt werden.
Um dies auszuführen, tun Sie Folgendes:
%Vor%Oder Sie können jlink ein Launcher-Skript erstellen, das dies tut
%Vor%und dann mit:
%Vor%Bilden Sie die gleiche Dokumentation: -
%Vor% konnte ausgeführt werden, um die Klasse Main
aus der Modulstruktur auszuführen, ohne auch jshell
zu verknüpfen.
Außerdem ist jlink
das Linker-Tool und kann verwendet werden, um eine Reihe von Modulen zusammen mit ihren transitiven Abhängigkeiten zu verknüpfen, um ein benutzerdefiniertes modulares Laufzeitbild mit dem Namen Modulare Runtime-Images , die mit JMOD-Tool mit Java 9-Module eingeführt.
Wie in den Kommentaren erwähnt und beantwortet von @Jorn , wenn Sie einfach nur die Hauptklasse ausführen möchten.
Sie können Ihre Anwendung ausführen, indem Sie die Java-Binärdatei in der Bin verwenden Ordner des generierten Bildes und mit dem Befehl:
%Vor%
Ein Beispiel für die Erstellung einer JMOD-Datei, die als Modul verwendet werden kann, ist andererseits:
%Vor%BEARBEITEN : Erweitert + geklärt, um die Antwort zu erhalten, nach der ich gesucht habe.