You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ActiveMQ服务启动失败:NoSuchMethod org.codehaus.jackson.type异常

ActiveMQ Classic 5.10.1升级至5.17.6启动报错解决方法

问题背景

在Windows Server 2019上将ActiveMQ Classic从5.10.1升级到5.17.6,复制旧目录的conf和data到新目录后,启动时先出现:

Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper

手动添加org.codehaus.jackson.mapper相关jar包到activemq\lib目录后,又出现新报错:

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.fusesource.insight.log.log4j.Log4jLogQuery]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: 'void org.codehaus.jackson.type.JavaType.<init>(java.lang.Class)'

问题原因

手动添加的jackson mapper jar包与ActiveMQ 5.17.6自带的jackson核心jar版本不匹配,导致方法调用冲突。ActiveMQ不同版本对jackson组件的版本要求差异较大,5.17.6自带的依赖组件已经完整,手动单独添加jar会破坏依赖一致性;同时直接复制旧conf目录引入了过时的组件配置(如org.fusesource.insight相关内容),进一步触发报错。

解决步骤

  1. 移除手动添加的jar包
    找到新安装目录activemq\lib下手动放入的org.codehaus.jackson.mapper相关jar包,直接删除。

  2. 迁移而非直接覆盖配置文件

    • 备份新目录的conf文件夹,然后将旧conf中的业务相关配置(如队列/主题定义、连接参数等)逐个迁移到新conf的对应文件中,不要直接覆盖整个目录。
    • 重点检查activemq.xml、log4j.properties,移除所有引用org.fusesource.insight的配置项,5.17.6已不再默认支持该组件。
  3. 使用官方自带依赖
    确保新安装目录lib下的jar包均为官方安装包自带,无额外添加或删除,5.17.6已经包含所有必需的jackson组件。

  4. 重启服务
    切换到新安装目录的bin文件夹,执行命令启动:

    activemq start
    

    或在Windows服务列表中重新启动ActiveMQ服务。

额外注意

  • 不要直接复制旧data目录,如需保留旧消息,建议先备份旧data,启动新版本后再通过官方工具迁移数据,避免新旧版本数据文件不兼容。
  • 升级前建议对比新旧版本的官方配置文档,确认配置参数的变化,避免引入过时配置。

内容的提问来源于stack exchange,提问作者overflowed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 02:02:44