Table of Contents

Java Environment

About

We build and test Tabulify with Java 17 Temurin.

When installing with a packager:

Modules

Tabulify needs the following modules:

Support

java.lang.NoClassDefFoundError: jdk/dynalink/RelinkableCallSite

Using the data generator, you may get the following error:

Exception in thread "main" java.lang.NoClassDefFoundError: jdk/dynalink/RelinkableCallSite
        at org.mozilla.javascript.optimizer.BodyCodegen.addDynamicInvoke(BodyCodegen.java:4598)

Why? The code is generated and needs the jdk modules jdk.dynalink and jdk.compiler

Check that your java machine has the required modules

java --list-modules | grep jdk.dynalink

If you have installed tabulify with a nojre archive, you need to be sure that the java virtual machine used in your computer is at minimum JDK 17.

java --version

Example:

openjdk 17.0.16 2025-07-15
OpenJDK Runtime Environment Temurin-17.0.16+8 (build 17.0.16+8)
OpenJDK 64-Bit Server VM Temurin-17.0.16+8 (build 17.0.16+8, mixed mode, sharing)

If this is not the case, you need to :

If you use a package manager such as brew to install Tabulify, you should not have this error. Contact us if this is the case.