Building OpenJDK and OpenJFX on Linux Mint in 2026
I’m evaluating Linux Mint as a main OS replacement, so I’m trying to get my stuff (building) and running on it.
Part of it is building then running OpenJDK and OpenJFX.
First OpenJDK:
- Install the dependencies for OpenJDK
sudo apt install git
the boot JDK
sudo apt install openjdk-25-jdk
the JDK build dependencies
sudo apt-get install autoconf
sudo apt install libasound2-dev
sudo apt install libcups2-dev
sudo apt install libfontconfig1-dev
sudo apt install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev
- Get the code
mkdir ~/dev
cd ~/dev
git clone https://github.com/openjdk/jdk
- Time to build
cd ~/dev/jdk
bash configure --with-boot-jdk=/usr/lib/jvm/java-25-openjdk-amd64 --with-vendor-name=LH --with-vendor-url=https://lhochet.dev --with-version-build=5
make images
Then OpenJFX:
- Install the dependencies for OpenJFX
sudo apt install libgtk-3-dev
sudo apt install libxxf86vm-dev
cd ~/dev
wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.10.6-bin.zip
unzip apache-ant-1.10.6-bin.zip
- Get the code
git clone https://github.com/openjdk/jfx
- Time to build
export JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64
export ANT_HOME=~/dev/apache-ant-1.10.6
cd ~/dev/jfx
chmod u+x gradlew
./gradlew -PCOMPANY_NAME=LH -PRELEASE_SUFFIX=-lh jmods
Assembly:
cd ~/dev/
jdk/build/linux-x86_64-server-release/images/jdk/bin/jlink --output openjdk-openjfx-image --module-path jdk/build/linux-x86_64-server-release/images/jdk/jmod:jfx/build/jmods --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.management.rmi,java.naming,java.net.http,java.prefs,java.rmi,java.scripting,java.se,java.security.jgss,java.security.sasl,java.smartcardio,java.sql,java.sql.rowset,java.transaction.xa,java.xml,java.xml.crypto,jdk.accessibility,jdk.attach,jdk.charsets,jdk.compiler,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.dynalink,jdk.editpad,jdk.graal.compiler,jdk.graal.compiler.management,jdk.hotspot.agent,jdk.httpserver,jdk.incubator.vector,jdk.internal.ed,jdk.internal.jvmstat,jdk.internal.le,jdk.internal.opt,jdk.internal.vm.ci,jdk.jartool,jdk.javadoc,jdk.jcmd,jdk.jconsole,jdk.jdeps,jdk.jdi,jdk.jdwp.agent,jdk.jfr,jdk.jlink,jdk.jpackage,jdk.jshell,jdk.jsobject,jdk.jstatd,jdk.localedata,jdk.management,jdk.management.agent,jdk.management.jfr,jdk.naming.dns,jdk.naming.rmi,jdk.net,jdk.nio.mapmode,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.unsupported.desktop,jdk.xml.dom,jdk.zipfs,javafx.graphics,javafx.swing,javafx.web,javafx.media,javafx.fxml