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.
Related: How to install JMeter on Ubuntu
Related: How to install JMeter on macOS
Related: How to run a JMeter test from the command line
For CI or scheduled jobs, run the checks from the job shell, runner image, or service account rather than a separate administrator login.
$ 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.
$ 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.
$ 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.
$ 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.