ActiveMQ 新版本,最新版本不适用于最新 Java

Sim*_*yer 1 java activemq-classic

我正在新的 Windows 2016 服务器上安装 activemq。我已经安装了最新版本的 Java“1.8.0_321”和最新下载的 activemq“5.17.0”,但是当我尝试启动 activemq 时出现此错误:

Warning: JAVA_HOME environment variable is not set.

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/activemq/console/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
C:\Program Files (x86)\apache-activemq-5.17.0\bin>
Run Code Online (Sandbox Code Playgroud)

设置 JAVA_HOME 变量: Java home 变量

当我跑步时

echo %JAVA_HOME%
Run Code Online (Sandbox Code Playgroud)

我明白了

C:\Program Files (x86)\Java\jre1.8.0_321\bin
Run Code Online (Sandbox Code Playgroud)

由此我可以推断它是正确的吗?

有什么想法吗?

Abr*_*bra 9

ActiveMQ 主页上指出,ActiveMQ 5.17.0 版本需要 JDK 11+。

您的错误消息表明Java 11的类版本号,即55。

将代码迁移到 Java 11 或使用与 Java 8 兼容的ActiveMQ 5.16.4 版本。

更新(2023 年 10 月 13 日)

ActiveMQ 有两个版本

  • 阿尔忒弥斯
  • 经典的

正如Classic(撰写本文时的版本 5.18.2)和Artemis(2.3.1.0)的下载页面上所述,这两个版本都需要最低 JDK 11。但是,这两个下载页面都有指向过去版本的链接。