Neo4j-admin failing due to Java version (Community Edition on Mac)

Neo4j Desktop 1.4.15, Community Edition 4.4.3 on Mac Catalina
I want to use neo4j-admin for various things like consistency-check and backup.
All neo4j-admin commands complain about the Java version.

Selecting JVM - Version:16.0.2+7-67, Name:Java HotSpot(TM) 64-Bit Server VM, Vendor:Oracle Corporation
WARNING! You are using an unsupported Java runtime.
* Please use Oracle(R) Java(TM) 11, OpenJDK(TM) 11 to run Neo4j.
* Please see https://neo4j.com/docs/ for Neo4j installation instructions.

Exact error messages usually include:

Java HotSpot(TM) 64-Bit Server VM warning: Option UseBiasedLocking was deprecated in version 15.0 and will likely be removed in a future release.

Exception in thread "main" java.lang.LinkageError: Cannot to link java.nio.DirectByteBuffer

It shows the following::

VM Name: Java HotSpot(TM) 64-Bit Server VM
VM Vendor: Oracle Corporation
VM Version: 16.0.2+7-67
JIT compiler: HotSpot 64-Bit Tiered Compilers

My java --version shows:

java 16.0.2 2021-07-20
Java(TM) SE Runtime Environment (build 16.0.2+7-67)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)
  1. Does Community Edition support neo4j-admin? I think I've used it in the past.

  2. Does 1.4.15 / 4.4.3 really require old Java 11 ???

  3. If so, can I install more than one Java, and point Neo4j to 11?

  4. If not, how do I get neo4j-admin to respect Java 16

Hi @roger_worden , I was able to update the java home path to jdk11 from the default java18 following this - https://mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/ section 6

Hello @roger_worden , I am having the same problem with you - just wonder how you point neo4j to java11,?

Many thanks!

MK

Recently I had to revisit this when I wanted to script a stop/dump/start daily backup. It seems that the Neo4j server uses an embedded JRE. The commands "neo4j stop" and "neo4j start" work fine, they call the internal JRE.

But the neo4j-admin tool does not. I have several JRE's installed and it was picking an incompatible one. So following what was said in mkyong's article, I used

export JAVA_HOME=$(/usr/libexec/java_home -v$11.0.16.1)

just before my "neo4j-admin dump" command. Works fine.

Thanks for the help... a long time ago. Maybe this follow-up will help someone.