Eclipse scala.object无法解析

时间:2014-02-28 17:47:58

标签: 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

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

enter image description here

3 个答案:

答案 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文件。它对我有用。