Eclipse scala.object无法解析

B.M*_*.W. 8 java scala apache-kafka

我正在尝试使用Eclipse在Java中编写Kafka生产者和消费者代码.我已经下载了Kafka jar文件并作为外部Jar文件加载.它解决了依赖问题.

但是,始终存在未解决的错误,并且消息如下所示:

Multiple markers at this line
- The type scala.Product cannot be resolved. It is indirectly referenced from required .class files
- The type scala.Serializable cannot be resolved. It is indirectly referenced from required .class 
 files
Run Code Online (Sandbox Code Playgroud)

我真的不知道发生了什么以及如何解决这个错误.谢谢.

在此输入图像描述

Mik*_*len 22

更新于4/26/2018

您似乎需要在Eclipse项目的类路径中包含Scala运行时库.

如果您正在使用Maven(或强烈推荐的其他基于存储库的构建工具),那么添加Kafka作为依赖项应该使它自动下载相应的Scala运行时库并将其包含在项目的类路径中.例如,

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.12</artifactId>
    <version>1.1.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

将导致Maven下载Scala运行时库的2.12.4版.

否则,您可以安装Scala(请参阅http://scala-lang.org/)并手动将已安装的scala-library.jar添加到项目的类路径中.但是,您应该注意Scala次要版本(2.10.x,2.11.x,2.12.x等)彼此之间不是二进制兼容的,因此您应该下载用于以后的次要版本的最新错误修复版本建立你的卡夫卡版本.(此次要版本附加到Kafka工件的名称,例如kafka_2.12需要Scala 2.12.x运行时库版本.)