Wenn Sie jlink verwenden, können Sie eine JRE für die Anwendung erstellen, die für die Verteilung geeignet ist. Also habe ich versucht herauszufinden, wie man es mit Gradle benutzt.
Vorerst normalerweise
gradle init --type=java-application
Machen mit.
Die Mindestanforderung besteht darin, dem Plugins-Element die folgende Zeile hinzuzufügen.
id 'org.beryx.jlink' version '2.22.0'
Jetzt können Sie gradle jlink verwenden.
Wenn Sie die standardmäßig enthaltenen Abhängigkeiten löschen, wird die Warnung nicht mehr angezeigt. (Es scheint, dass der Modulname, der mit einer Nummer endet, nicht zulässig ist.)
Darüber hinaus abhängig von der Version von JDK
The module name specified in 'application.mainModule' (null) has not the expected value
Wird angezeigt. Dies ist im Anwendungselement
mainModule = 'Modulname'
Es verschwindet, wenn Sie schreiben. (Der Modulname ist der in module-info.java angegebene.)
Es ist auch möglich, ein jlink-Element zu erstellen und eine Option festzulegen. Sie können beispielsweise wie folgt schreiben.
jlink {
options = ['--compress', '2', '--no-header-files', '--no-man-pages']
}
Mit targetPlatform können Sie auch Apps für mehrere Plattformen erstellen. Bereiten Sie in diesem Fall ein JDK für jede Plattform vor.
jlink {
targetPlatform("mac") {
jdkHome = "/usr/java/jdk-mac/Contents/Home"
}
targetPlatform("linux-x64") {
jdkHome = "/usr/java/jdk"
}
targetPlatform("windows-x64") {
jdkHome = "/usr/java/jdk-win"
}
options = ['--compress', '2', '--no-header-files', '--no-man-pages']
}
gradle build
Jetzt können Sie ein Glas erstellen, ohne jlink zu verwenden. Gehen Sie beim Verknüpfen wie folgt vor.
gradle jlink
Jetzt haben Sie ein Image unter dem Build-Verzeichnis und das Verzeichnis darunter ist Ihre App. Wenn targetPlatform angegeben ist, wird ein Verzeichnis mit \ <Projektname > - \ <Name der Zielplattform > erstellt und darunter abgelegt.
Um die App auszuführen, befindet sich im bin-Verzeichnis ein Ausführungsskript für \ <Projektname >, damit Sie es ausführen können. (Bat-Datei für Windows)
Sie können die Anwendung verteilen, indem Sie die Verzeichnisse bin, conf, legal und lib zusammen verteilen. Sie können es starten, indem Sie es so kopieren, wie es ist, und die ausführbare Datei bin ausführen.
Recommended Posts