当我在 ActiveMQ 官网 下载最新稳定版 ActiveMQ 5.15.0 Release 压缩包并在本地解压后,无论是点击 bin 目录下的 activemq 还是 win64目录下的 activemq 文件,都无法正常启动 ActiveMQ,出现命令行界面闪退或者抛出以下错误:
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | WrapperSimpleApp: Unable to locate the class org.apache.activemq.console.Main: java.lang.UnsupportedClassVersionError: org/apache/activemq/console/Main : Unsupported major.minor version 52.0
jvm 1 |
jvm 1 | WrapperSimpleApp Usage:
jvm 1 | java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class} [app_arguments]
jvm 1 |
jvm 1 | Where:
jvm 1 | app_class: The fully qualified class name of the application to run.
jvm 1 | app_arguments: The arguments that would normally be passed to the
jvm 1 | application.
wrapper | <-- Wrapper Stopped
Google了很长时间依然找不到对应的解决办法,于是我尝试安装降级版本,下载了以前的 apache-activemq-5.13.0 版本进行安装,然后双击 win64 目录下的 activemq.bat 文件,然后没有出现之前的错误。但是,又遇到了新的错误(如果出现命令行闪退,可以打开data目录下的activemq.log 日志文件,查看具体报错信息):
rg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'invokeStart' defined in class path resource [jetty.xml]: Invocation of init method failed; nested exception is java.net.BindException: Address already in use: bind
这个问题,在我之前找解决方案的时候看到过,所以就更改了 conf 目录下的 activemq.xml 和 jetty.xml 里的配置:
找到所有的本地地址写法:0.0.0.0,全部更换成 127.0.0.1
最后,重新双击 bin 目录下的 avtivemq.bat 文件,没有抛出异常,然后打开浏览器输入: http://localhost:8161/admin 能够成功访问 ActiveMQ 的后台管理页面: