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

部署Camel-Salesforce-Source连接器时遇NoClassDefFoundError问题排查

问题

尝试部署camel-salesforce-source连接器,操作如下:

  • 从Maven下载了camel-salesforce-source-kafka-connector-4.4.2-package.tar.gz和camel-salesforce-kafka-connector-0.9.0-package.tar.gz并解压
  • 将解压后的目录添加至connect-distributed的插件路径
  • 连接器列表已正常显示所有Camel及Salesforce连接器

但启动连接器时出现以下错误:

javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: 
java.lang.NoClassDefFoundError: org/apache/camel/kafkaconnector/CamelSourceConnectorConfig

连接器配置:

{    
    "name": "SF-poll",    
    "config": {        
        "tasks.max": "1",        
        "connector.class": "org.apache.camel.kafkaconnector.salesforce.CamelSalesforceSourceConnector",        
        "camel.kamelet.salesforce-source.query": "SELECT Id, Name, Email, Phone FROM Contact",        
        "camel.kamelet.salesforce-source.topicName": "sf-contact",        
        "camel.kamelet.salesforce-source.loginUrl": "https://org--qa.sandbox.lightning.force.com/",        
        "camel.kamelet.salesforce-source.clientId": "***",        
        "camel.kamelet.salesforce-source.clientSecret": "***",        
        "camel.kamelet.salesforce-source.userName": "***",        
        "camel.kamelet.salesforce-source.password": "***"    
    }
}

connect-distributed.properties配置:

bootstrap.servers=localhost:9092,localhost:9093,localhost:9094

group.id=connect-cluster

key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
consumer.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
consumer.value.deserializer=org.apache.kafka.common.serialization.StringDeserializer

key.converter.schemas.enable=true
value.converter.schemas.enable=true

offset.storage.topic=connect-offsets
offset.storage.replication.factor=1

config.storage.topic=connect-configs
config.storage.replication.factor=1

status.storage.topic=connect-status
status.storage.replication.factor=1

offset.flush.interval.ms=10000

plugin.path=/usr/share/java,/home/ubuntu/Downloads/kafka_2.12-3.5.2/libs,/home/ubuntu/Downloads/kafka_2.12-3.5.2/camel-salesforce-source-kafka-connector

请问哪里配置缺失?

原因与解决方法

这个错误核心是版本冲突导致的:你同时引入了两个跨大版本的Camel Kafka Connector包(4.4.2和0.9.0),两者依赖结构差异极大,CamelSourceConnectorConfig类是4.x版本新增的,但旧版本(0.9.0)不存在,插件路径下的包冲突让Connect加载不到正确的类。

具体解决步骤:

  1. 清理冲突包:删除0.9.0版本的连接器包,保留4.4.2版本的camel-salesforce-source-kafka-connector——它是更稳定的新版本,完全包含所需的CamelSourceConnectorConfig类。
  2. 修正插件路径:确保plugin.path中只包含4.4.2版本的解压目录,不要同时保留两个版本的路径。
  3. 重启Connect服务:修改配置后必须重启connect-distributed,让新的插件路径生效。
  4. 调整登录地址:当前配置的loginUrl是Lightning界面地址,Salesforce API登录需要用沙箱API地址,正确格式应为https://test.salesforce.com,或自定义域名沙箱的https://org--qa.my.salesforce.com,否则后续会出现登录失败问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 22:53:10