无法解析 ComponentsBuilderFactory

ComponentsBuilderFactory cannot be resolved

根据官方文档 (https://camel.apache.org/manual/component-dsl.html#_using_component_dsl) 我创建了这段代码:

package mygroupid.standalone;

import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultCamelContext;

public class MyMain {
    public static void main(String[] args) throws Exception {
        CamelContext context = new DefaultCamelContext();
        context.start();

        ComponentsBuilderFactory.kafka()
                        .brokers("{{kafka.host}}:{{kafka.port}}")
                        .register(camelContext, "kafka");

        context.close();
    }
}

但是 VSCode 中的 Red Hat Language Server 告诉我:
ComponentsBuilderFactory cannot be resolved

并且 VSCode 中的 quick fix 功能不建议导入相应的库。

有人能给我指出正确的方向吗?
我是否必须了解 dependency injection 的概念才能执行此操作?

As stated into the documentation that you are referring to,你的项目需要添加下一个依赖:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-componentdsl</artifactId>
    <version>x.x.x</version>
</dependency>

其中 x.x.x 与您使用的 Camel 版本相同

如果您不使用任何构建工具,例如 maven,gradle...,您可以下载 jar 文件 directly from the repository 并将其添加到您的类路径中。


不要忘记按照 here 所述正确管理您的 属性 占位符 {{kafka.host}}{{kafka.port}} 或将 "{{kafka.host}}:{{kafka.port}}" 替换为您的目标代理主机名和港口.