【问题标题】:Eclipse scala.object cannot be resolvedEclipse scala.object 无法解析
【发布时间】:2014-04-01 20:58:39
【问题描述】:

我正在尝试使用 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

我真的不知道发生了什么以及如何修复该错误。谢谢。

【问题讨论】:

    标签: java scala apache-kafka


    【解决方案1】:

    2018 年 4 月 26 日更新

    看来您需要在 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 运行时库版本。)

    【讨论】:

      【解决方案2】:

      http://scala-lang.org/download/ 下载scala 库并将scala-library.jar 添加到项目中,错误已解决!

      【讨论】:

        【解决方案3】:

        删除不必要的jar 文件并保留准确版本的jar 文件。它对我有用。

        【讨论】:

        • Id 详细信息不属于答案,您可以在个人设置中更改您的用户名和位置,也不需要大写。
        猜你喜欢
        • 1970-01-01
        • 2018-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多