DBMS failed to start - org/Neo4j/server/startup/Neo4jCommand has been compiled by a more recent version of the Java Runtime

Hi There,

I like to use Neo4j Desktop when doing local development, especially for Unit Testing. I frequently utilize the Python driver and other Python-based OGM wrappers for the Python driver.

I recently encountered this issue where none of my databases will start ("DBMS failed to start: DBMS process terminated, see logs..". I see two key pieces of info in log.log and neo4j.log (attached)

log.log:

[2024-01-05 16:31:27.775] [info]  Checking ports
[2024-01-05 16:31:27.897] [info]  Starting Neo4j
[2024-01-05 16:31:27.898] [info]  Starting DBMS [database-9670f73e-741c-4c8e-9cf5-43252f589c0c] 'v5.15.0'
[2024-01-05 16:31:28.000] [info]  Retrieved status for DBMS[database-9670f73e-741c-4c8e-9cf5-43252f589c0c]: true
[2024-01-05 16:31:28.012] [info]  Check if neo4j is available on { host: '127.0.0.1', path: '/', port: 7687 }
[2024-01-05 16:31:28.015] [info]  Check if neo4j is available on { host: '127.0.0.1', path: '/', port: 7474 }
[2024-01-05 16:31:28.021] [info]  Check if neo4j is available on { host: '127.0.0.1', path: '/', port: 7473, agent: [Agent] }
[2024-01-05 16:31:28.037] [info]  Neo4j @ 7687 is down. connect ECONNREFUSED 127.0.0.1:7687
[2024-01-05 16:31:28.041] [info]  Neo4j @ 7474 is down. connect ECONNREFUSED 127.0.0.1:7474
[2024-01-05 16:31:28.044] [info]  Neo4j @ 7473 is down. connect ECONNREFUSED 127.0.0.1:7473

neo4j.log:

Powershell : Error: LinkageError occurred while loading main class org.neo4j.server.startup.Neo4jCommand
At C:\Users\MASKED\AppData\Local\Neo4j\Relate\Cache\neo4j-start.ps1:11 char:1
+ Powershell -NoProfile -NonInteractive -NoLogo `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Error: LinkageE...up.Neo4jCommand:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
	java.lang.UnsupportedClassVersionError: org/neo4j/server/startup/Neo4jCommand has been compiled by a more recent 
version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file 
versions up to 55.0

It looks when installing Neo4j Desktop, another JRE / JDK version on my system was used to compile the software. When I run java -version in command prompt, I get the following out:

(base) PS C:\Users\MASKED> java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) Client VM (build 25.202-b08, mixed mode)
(base) PS C:\Users\kurowc>

I am thinking next to uninstall / reinstall Neo4j Desktop, but Is there any way I can force windows to use the prepackaged Java JDK version when installing on windows? (System requirements - Neo4j Desktop)

Any ideas, advice, or similar experiences would be appreciated. :slightly_smiling_face:

Thanks!

System / Software Info

  • OS - Windows10
  • Neo4j Desktop Version - 1.4.15