2016-10-01 39 views
3

我下载汇合2.0.0-2.10.5.tar.gz,因为我想有斯卡拉2.10包汇合建立与2.10包包含Scala的2.11罐子

但还是卡夫卡一罐/股/ JAVA /架构注册表仍然kafka_2.11-0.9.0.0-cp1.jar

有反正我能得到一个干净的2.10阶融合包

回答

4

的2.10指的是卡夫卡子包的版本,但其他子包可以使用不同的版本。

tar.gz包使用2.11版本,其中不同的子包需要访问具有Scala依赖性的核心Kafka jar。 (实际上,他们所依赖的版本实际上是卡夫卡支持的Scala版本,并且被认为是最稳定和良好支持的上游)。这是必要的,因为Scala库不一定在不同的Scala版本之间是二进制兼容的,这意味着而不是这样做会需要使用Kafka库的所有服务的多个版本,特别是在像Debian和基于RPM的发行版,即我们需要一个模式注册表2.10和模式注册表2.11。相反,我们将整个Kafka库供应给依赖它的服务。

请注意,/ share/java/kafka下的文件仅使用Scala 2.10,如果需要插入客户端,则可以安全地将其添加到类路径中。对其他任何服务使用2.10或2.11应该无关紧要,因为它们只是:您执行的服务。您可能需要放在类路径中的任何库(例如序列化程序)仅依赖于Kafka中的纯Java库,因此可以安全地与使用任何Scala版本编译的Kafka库一起使用。