我正在尝试使用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
我真的不知道发生了什么以及如何解决这个错误。感谢。
答案 0 :(得分:21)
更新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>
将导致 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 工件的名称,例如kafka_2.12需要 Scala 2.12.x运行时库版本。)
答案 1 :(得分:1)
从http://scala-lang.org/download/下载了scala库,并将scala-library.jar添加到项目中,错误已解决!
答案 2 :(得分:-1)
删除不必要的jar
文件,并保留准确的版本jar
文件。它对我有用。