【发布时间】:2017-11-09 06:45:24
【问题描述】:
主题 : OSGI Kafka 客户端包由于缺少约束而导致框架异常
我从 Apache ServiceMix (https://mvnrepository.com/artifact/org.apache.servicemix.bundles/org.apache.servicemix.bundles.kafka-clients/0.11.0.1_1) 下载了 kafka-clients OSGI 包 (org.apache.servicemix.bundles.kafka-clients-0.11.0.1_1.jar)。
下面是我的pom.xml
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.kafka-clients</artifactId>
<version>0.11.0.1_1</version>
</dependency>
我用它在我使用 OSGI 构建的应用程序的 sflow_collector 模块中开发我的 Kafka 生产者代码。
一切都编译好了,没有问题。
当我运行我的应用程序时,我在加载 sflow_collector 模块期间收到以下错误。
org.osgi.framework.BundleException: The bundle "sflow-collector_1.0.0 [49]" could not be resolved. Reason: Missing Constraint: Import-Package: org.apache.kafka.clients.producer; version="[0.11.0,1.0.0)"
我检查了 Kafka OSGI 包的清单,它看起来不错。我在出口清单中看到了生产商(以下以粗体显示)。
Manifest-Version: 1.0
Bnd-LastModified: 1508749231115
Build-Jdk: 1.8.0_111
Built-By: jbonofre
Bundle-Description: This OSGi bundle wraps kafka-clients 0.11.0.1 jar file.
Bundle-DocURL: http://www.apache.org/
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-ManifestVersion: 2
Bundle-Name: Apache ServiceMix :: Bundles :: kafka-clients
Bundle-SymbolicName: org.apache.servicemix.bundles.kafka-clients
Bundle-Vendor: The Apache Software Foundation
Bundle-Version: 0.11.0.1_1
Created-By: Apache Maven Bundle Plugin
Export-Package:
org.apache.kafka.clients;version="0.11.0.1";uses:="org.apache.kafka.common,
org.apache.kafka.common.config,
org.apache.kafka.common.errors,
org.apache.kafka.common.internals,
org.apache.kafka.common.metrics,
org.apache.kafka.common.network,
org.apache.kafka.common.protocol,
org.apache.kafka.common.requests,
org.apache.kafka.common.utils",
org.apache.kafka.clients.admin;version="0.11.0.1";
uses:="org.apache.kafka.common,
org.apache.kafka.common.acl,
org.apache.kafka.common.annotation,
org.apache.kafka.common.config,
org.apache.kafka.common.errors",
org.apache.kafka.clients.consumer;version="0.11.0.1";
uses:="org.apache.kafka.clients.coumer.internals,
org.apache.kafka.common,
org.apache.kafka.common.config,
org.apache.kafka.common.errors,
org.apache.kafka.common.header,
org.apache.kafka.common.record,
org.apache.kafka.common.serialization",
org.apache.kafka.clients.consumer.internals;version="0.11.0.1";uses:="org.apache.kafka.clients,
org.apache.kafka.clients.consumer,
org.apache.kafka.common,
org.apache.kafka.common.errors,
org.apache.kafka.common.metrics,
org.apache.kafka.common.protocol,
org.apache.kafka.common.protocol.types,
org.apache.kafka.common.requests,
org.apache.kafka.common.serialization,
org.apache.kafka.common.utils",
org.apache.kafka.clients.producer;version="0.11.0.1";uses:="org.apache.kafka.clients.consumer,
org.apache.kafka.common,
org.apache.kafka.common.config,
org.apache.kafka.common.errors,
我无法解决这个问题。
非常感谢任何帮助。请发送电子邮件是否需要更多信息。
【问题讨论】:
标签: java maven apache-kafka osgi