elastic-job开源框架使用中遇到的 架包冲突错误
2017-01-18 14:10
302 查看
最近在运行部门一个新的框架。该框架是用maven管理jar包的聚合工程。
在进行运行elastic-job相关的一个子项目时,报了如下的错误。
由错误信息可以知道,错误由类com.dangdang.ddframe.job.spring.schedule.SpringJobScheduler引起。
并且错误指出了exception is java.lang.IncompatibleClassChangeError,这个错误是由于不兼容引起的。网上查找这个错误,多由于jar的冲突,或者版本不对引起。
因为是开源框架,很容易调试找到该框架报错的点在SpringJobScheduler的父类JobScheduler中的如下语句。
寻找到这个jar包后,发现maven本地库引用了2.2.1和1.6.3版本。但是1.6.3版本在本地的pom文件中不存在,后发现是在该子项目依赖的另一个子项目的pom文件中引入了这个jar包。
解决方法:
暂时删去了pom文件中低版本的quartz 包。没有冲突错误出现。
这个链接中,介绍了使用maven命令,查看依赖树。可以快速定位jar包在那些项目pom文件中。
http://blog.csdn.net/guanglihuan/article/details/50512855
在进行运行elastic-job相关的一个子项目时,报了如下的错误。
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.dangdang.ddframe.job. spring.schedule.SpringJobScheduler#0': Invocation of init method failed; nested exception is java.lang.IncompatibleClassChangeError: Impleme nting class at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455 ) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:105) at com.asiainfo.cboss.biz.esjob.JobLauncher.main(JobLauncherhttp://blog.csdn.net/guanglihuan/article/details/50512855.java:29)
由错误信息可以知道,错误由类com.dangdang.ddframe.job.spring.schedule.SpringJobScheduler引起。
并且错误指出了exception is java.lang.IncompatibleClassChangeError,这个错误是由于不兼容引起的。网上查找这个错误,多由于jar的冲突,或者版本不对引起。
因为是开源框架,很容易调试找到该框架报错的点在SpringJobScheduler的父类JobScheduler中的如下语句。
JobDetail jobDetail = JobBuilder.newJob(LiteJob.class).withIdentity(jobExecutor.getJobName()).build();在JobBuilder.newJob() 这个函数调用中引起了错误。JobBuilder这个类是quartz jar包中的类。所以初步判断是这个jar包冲突引起的。
寻找到这个jar包后,发现maven本地库引用了2.2.1和1.6.3版本。但是1.6.3版本在本地的pom文件中不存在,后发现是在该子项目依赖的另一个子项目的pom文件中引入了这个jar包。
解决方法:
暂时删去了pom文件中低版本的quartz 包。没有冲突错误出现。
这个链接中,介绍了使用maven命令,查看依赖树。可以快速定位jar包在那些项目pom文件中。
http://blog.csdn.net/guanglihuan/article/details/50512855
相关文章推荐
- MJExtension字典转模型开源框架使用以及遇到的问题
- 记录:使用Elastic-Job遇到的坑
- SSM框架——使用MyBatis Generator自动创建代码,会遇到“前言中不许有内容的错误”
- Struts2.1.8 验证框架(validation)的使用中遇到的一些问题(直接访问jsp遇到的错误)
- 关于使用开源库或jar包时可能遇到ndk冲突错误
- 房价网是怎么使用分布式作业框架elastic-job
- Java使用框架经常遇到这种错误
- 当当开源elastic-job,分布式作业调度框架
- 使用DataBinding框架遇到的错误——找不到符号类 BR 程序包 com.android.databinding.library.baseAdapters app:compileDebugJav
- SSM框架搭建使用json遇到406错误
- 新一代分布式任务调度框架:当当elastic-job开源项目的10项特性
- Struts2.1.8 验证框架(validation)的使用中遇到的一些问题(直接访问jsp遇到的错误)--Allen
- 分库分表框架Sharding-jdbc以及分布式worker:Elastic-job的使用与踩坑
- 优秀js开源框架-jQuery使用手册(1)
- 为何不使用spring、struts2、easyjweb等开源框架
- ASP中使用存储过程,遭遇"参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突"错误
- 为何不使用spring、struts2、easyjweb等开源框架
- 为何不使用spring、struts2、easyjweb等开源框架
- 如何使用开源框架技巧一则
- 优秀js开源框架-jQuery使用手册(1)