Wie führe ich Bilder aus, die von JDK 9 jlink erzeugt wurden?

9

Ich folge dem Schnellstart hier . Ich habe den Befehl jlink erfolgreich ausgeführt:

%Vor%

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.

    
clay 25.09.2017, 20:03
quelle

1 Antwort

4

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.

    
nullpointer 25.09.2017, 20:14
quelle

Tags und Links