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

集成Quartz组件的Simple Camel应用运行报错,求助类路径修正方案

问题原因

你碰到的是Quartz版本兼容性问题:Quartz 2.3.x里移除了Scheduler.getTrigger(String, String)这个重载方法,换成了getTrigger(TriggerKey)。而你用的camel-quartz组件是为Quartz 1.x设计的,和当前类路径里的Quartz 2.3.2完全不兼容,所以抛出了方法不存在的错误。

修复步骤

1. 替换Camel Quartz组件

把pom里的camel-quartz换成适配Quartz 2.x的camel-quartz2:

<!-- 删掉原来的camel-quartz依赖,换成这个 -->
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-quartz2</artifactId>
</dependency>

你的项目已经引入了Red Hat Fuse的BOM,版本会自动匹配,不用手动加版本号。

2. 修改路由端点

camel-quartz2的端点前缀是quartz2://,同时把cron表达式里的+换成空格(原来的+是转义后的空格,直接用空格更清晰):

public void configure() throws Exception {
    from("quartz2://myname?cron=0 * * ? * *")
    .to("log:hello");
}

3. 清理重建项目

执行Maven命令清理旧的依赖缓存,重新构建:

mvn clean install

这一步会确保项目使用BOM管理的兼容版本Quartz,彻底解决类路径冲突。

验证

启动应用后,每分钟你都会看到log:hello输出的日志,说明定时任务正常工作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:45:38