Before Java 11, JavaFX was a part of the standard Java SE. So, no problem existed with the JavaFX dependencies, and FlexDoc/XML+DiagramKit could be run immediately with any new Java version.
But since Java 11, Oracle has moved JavaFX into a separate project found on openjfx.io. Now, those who need JavaFX should download JavaFX SDK separately from there, install it and specify all JavaFX dependencies in their Java application according to that installation. That, of course, may be a bit complicated for ordinary users, and breaks down the whole idea of using some generic JRE preinstalled on user's computer (independently on FlexDoc/XML).
However, as a compensation for all that trouble (and actually as its goal), since Java 11, anyone can build their own custom JRE (called «runtime image») that may include in itself any other 3rd party modules necessary to run a given Java application on a particular computer platform. That's what we did.
We take advantage of that Apple still allows the macOS users to install and run on their computer the executables built by those users themselves. So, instead of preparing a ready to install & run FlexDoc JRE, we offer you an easy way to build it by yourself (which differs from the former mostly by the size of the downloaded archive file).
Here is the step-by-step instruction:
FlexDoc JRE (OpenJDK+JavaFX) to run FlexDoc/XML+DiagramKit | macOS/64 (zip)
flexdoc-jre-20_macOS.zip
{flexdoc-xml}
– your FlexDoc/XML installation directory. You will have a folder:
{flexdoc-xml}/build_jre
openjdk-20.0.1_macos-x64_bin.tar.gz
– from https://jdk.java.net/20/
openjfx-20.0.1_osx-x64_bin-jmods.zip
– from https://gluonhq.com/products/javafx/
'build_jre'
directory:
build_jre.command
#!/bin/sh # Change current directory to the parent of this script file cd $(dirname $0) tar -xf openjdk-20.0.1_macos-x64_bin.tar.gz unzip openjfx-20.0.1_osx-x64_bin-jmods.zip export JAVA_HOME="jdk-20.0.1.jdk/Contents/Home" export PATH_TO_FX_MODS="javafx-jmods-20.0.1" $JAVA_HOME/bin/jlink --module-path $PATH_TO_FX_MODS \ --add-modules java.base,java.desktop,java.xml,javafx.base,javafx.graphics,javafx.swing \ --bind-services --output ../jre cp README.html ../jreAlthough, macOS won't allow you to run
'build_jre.command'
straight, that is easy to overcome.
'build_jre.command'
with TextEdit (confirm in the warning box that it is OK to open it).
Then, simply resave that file via File | Save menu.
With that procedure, you will sign 'build_jre.command'
as its owner/creator, which is a precondition to be able running it.
'build_jre.command'
with the executable privilege.
Run the Terminal and type in it 'chmod u+x'
followed by a space and the full pathname of the script file
(instead of typing it, just drag 'build_jre.command'
from the Finder into the Terminal window). Then, press Enter.
Now at last, you can run 'build_jre.command'
from the Finder just by clicking twice on it.
'build_jre.command'
, a new directory will be created:
{flexdoc-xml}/jre
'build_jre'
folder can be deleted then.)
{flexdoc-xml}/DiagramKit/macOS/generator.command
– Template Processor (Generator) with DiagramKit activated as the diagramming engine.
{flexdoc-xml}/DiagramKit/macOS/designer.command
– Template Designer with DiagramKit.
'chmod u+x'
followed by a space,
dragging script.command
into the Terminal window and pressing Enter).