1 - Compiler les sources
On suppose que :
- le jdk javafx est déjà installé dans /usr/share/openjfx-17,
- on se trouve à la racine d'un projet où les sources se trouvent dans src,
- le résultat de la compilation va dans le répertoire out.
javac --module-path /usr/share/openjfx-17/lib \
--add-modules=javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web \
-d out \
$(find src -name "*.java")
2 - Créer un JAR simple
# Créer le MANIFEST
mkdir -p out/META-INF
cat > out/META-INF/MANIFEST.MF << EOF
Manifest-Version: 1.0
Main-Class: com.example.MainApp
EOF
# Assembler le JAR
jar cfm monapp.jar out/META-INF/MANIFEST.MF -C out .
3 - Construire l'exécutable
On suppose que l'on veut produire une AppImage pour linux.
jpackage \
--input . \
--main-jar monapp.jar \
--main-class com.example.MainApp \
--module-path /usr/share/openjfx-17/lib \
--add-modules=javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web \
--name MonApp \
--app-version 1.0 \
--type app-image