export JFX=/usr/share/openjfx/lib # adapt to your path export CP="out:resources:lib/*" # runtime class-path
rm -rf out && mkdir out
javac --release 17
--module-path "$JFX"
--add-modules javafx.controls,javafx.fxml,javafx.graphics,javafx.base,javafx.swing
-classpath "lib/"
-d out
$(find src -name ".java")
cp -r resources/* out/
java --module-path "$JFX"
--add-modules javafx.controls,javafx.fxml,javafx.graphics,javafx.base,javafx.swing
-classpath "$CP"
Main
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export JFX=/usr/share/openjfx/lib
rm -rf build/fat build/chemical-inventory-system.jar mkdir -p build/fat
cp -r build/classes/. build/fat/
mkdir -p build/fat/jars cp "$JFX"/.jar build/fat/jars/ cp lib/.jar build/fat/jars/
pushd build/fat >/dev/null for dep in jars/*.jar; do jar xf "$dep" done popd
rm -rf build/fat/jars
mkdir -p build/fat/META-INF cat > build/fat/META-INF/MANIFEST.MF <<EOF Main-Class: Main EOF
jar cfm build/chemical-inventory-system.jar
build/fat/META-INF/MANIFEST.MF
-C build/fat .
java -jar build/chemical-inventory-system.jar