码迷,mamicode.com
首页 > Web开发 > 详细

storm接入metaq时类不兼容错误 无法初始化MonitorLog

时间:2014-11-24 18:52:08      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   color   os   使用   sp   java   

在实际的项目中,需要storm从metaq中读取数据,一开始就有日志问题,查到是storm/lib中的log4j-over-slf4j和slf4j-api.jar包的不兼容导致的,这些日志包使用时必须版本一致,只有又产生了

java.lang.IncompatibleClassChangeError: Implementing class
java.lang.NoClassDefFoundError: Could not initialize class com.taobao.metamorphosis.utils.monitor.MonitorLog

试了各种更换jar包也不能解决,最有看到有说直接把MonitorLog类给删除,再看到https://github.com/killme2008/metamorphosis 上作者已经更新了metamorphosis-commons 删除强依赖log4j的MonitorLog类 ,只不过最新的版本没有发布到maven仓库,所以通过pom自动下载的还是会有问题。

 

所以,我就github上目前的版本下载下来,对metamorphosis-commons重新进行打包,然后在本地仓库中替换掉原来的包,更新项目,就可看到新打的jar包了,从新对storm项目打包,提交运行,果然就没有再报错了

 

鉴于到处都找不到删除强依赖log4j的MonitorLog类的jar包,只有自己动手,所以这里把自己打的包共享一下http://files.cnblogs.com/lemonqin/metamorphosis-commons-1.4.6.2.zip

 

storm接入metaq时类不兼容错误 无法初始化MonitorLog

标签:style   blog   http   ar   color   os   使用   sp   java   

原文地址:http://www.cnblogs.com/lemonqin/p/4119099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!