JMeter runs inside a Java virtual machine, so an incompatible runtime can stop the launcher before a test plan opens or starts. Checking the runtime first separates Java compatibility problems from JMeter configuration, plugins, or test-plan errors.

Apache JMeter 5.6.3 requires Java 8 or newer. A JRE can run normal tests, while some tasks such as HTTPS recording need a JDK because the launcher may need utilities such as keytool.

The shell that starts JMeter matters because PATH, JAVA_HOME, and JRE_HOME can point different terminals, desktop shortcuts, or CI jobs at different Java installations. Confirm the runtime from the same account and execution environment that will launch JMeter.

Steps to check the Java runtime for JMeter:

  1. Open a terminal in the same user environment that will run JMeter.

    For CI or scheduled jobs, run the checks from the job shell, runner image, or service account rather than a separate administrator login.

  2. Print the active Java version.
    $ java -version
    openjdk version "21.0.11" 2026-04-21
    OpenJDK Runtime Environment (build 21.0.11+10-1-26.04.2-Ubuntu)
    OpenJDK 64-Bit Server VM (build 21.0.11+10-1-26.04.2-Ubuntu, mixed mode, sharing)

    Apache JMeter 5.6.3 requires Java 8 or newer. Java 8 output can start with 1.8.0; Java 9 and newer normally start with the major version, such as 21.0.11.

  3. Check whether JMeter launcher override variables are set.
    $ printenv JAVA_HOME JRE_HOME

    No output means neither variable is set in this shell. If either variable prints a path, check that it points to a compatible Java runtime before using this shell for JMeter.

  4. Locate the fallback Java binary on the shell PATH.
    $ command -v java
    /usr/bin/java

    When JAVA_HOME and JRE_HOME are unset, the launcher tries to infer a Java location. A different path here can explain why one terminal starts JMeter and another fails.

  5. Start JMeter under the same shell environment.
    $ jmeter --version
        _    ____   _    ____ _   _ _____       _ __  __ _____ _____ _____ ____
    ##### snipped #####
    /_/   \_\_| /_/   \_\____|_| |_|_____|  \___/|_|  |_|_____| |_| |_____|_| \_\ 5.6.3
    
    Copyright (c) 1999-2024 The Apache Software Foundation

    Use the full launcher path, such as /opt/apache-jmeter-5.6.3/bin/jmeter, if jmeter is not on PATH. Package-scanning warnings can appear before the banner; UnsupportedClassVersionError or class-file-version output points back to the Java runtime.