spring SchedulerFactoryBean 没有创建 Scheduler的实现类bea

spring SchedulerFactoryBean 没有创建 Scheduler的实现类bea2019独角兽企业重金招聘Python工程师标准>>>…

大家好,又见面了,我是你们的朋友全栈君。

我遇到 一个棘手的问题 :

两台服务器,JDK环境都是 1.7.79,都是采用jetty发布,项目中都采用了spring的quartz FactoryBean ,生成Scheduler,结果在内网的那台服务器上能够正常发布,一转到阿里的服务器环境,就出现了异常如下:ERROR context.ContextLoader – Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘scheduleJobInit’: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.quartz.Scheduler.getTrigger(Lorg/quartz/TriggerKey;)Lorg/quartz/Trigger; 

 

按照spring容器初始化的机制 ,是不可能出现注入的Bean为空的,除非那个Bean在创建时已经出现了问题。若出现了问题 则不会在这个位置抛出异常了,而是在创建那个需要注入的bean时就已经出现异常了。

 

刚刚终于找到原因了,主原因是因为包冲突了 quartz-2.2.1.jar和quartz-1.5.1.jar两个包都在lib下。虽然我在开发环境中已经在pom.xml中删除了1.5的dependence配置,但是在jenkins的workspace中仍然还有这个jar,所以在打包的时候打进去了。  看来有时候jenkins中使用mvn同时执行clean 和packeage命令也不一定靠谱吧。得去手动清理掉workspace下的target文件夹内容,才是最安全的。

 

就是包冲突问题。那么为什么Spring没有抛出异常呢。稍后抽时间再对org.springframework.scheduling配置了日志输出看目的地吧,到目前为止就已经将上面的问题解决了。多个quartz包。

乱了乱了~~~~

 

转载于:https://my.oschina.net/u/2553994/blog/606904

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142592.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号