【问题标题】:Error: object rocksdb is not a member of package orgs错误:对象 rocksdb 不是包 orgs 的成员
【发布时间】:2019-10-05 19:55:59
【问题描述】:

我在 scala 中使用 RocksDb 库时遇到问题。

我正在尝试导入 org.rocksdb.RocksDB; 在我的代码中,但我一直遇到这个错误:

object rocksdb 不是包 org 的成员。

我在网上搜索,发现使用 build.sbt 并包含库依赖可能会解决问题,但我不知道该使用哪个版本。我已经看到了 flink 和其他用例的 build.sbt 示例,但在 scala 中没有。对此的任何线索都非常感谢。

【问题讨论】:

  • 大多数比 hello-world 更大的项目都需要使用构建工具。 Scala 项目的流行构建工具是sbtmavengradle。这些构建工具中的每一个都有自己的方式将依赖库添加到项目中。所以,第一个问题是 - 您甚至在项目中使用哪种构建工具?

标签: scala apache-spark hadoop hdfs rocksdb


【解决方案1】:

在大多数情况下,比 hello-world 更大的项目需要使用构建工具。

Scala 项目的流行构建工具是sbtmavengradle

每个构建工具都有自己的方式将依赖库添加到项目中。

那么,第一个问题是 - 您在项目中使用的是哪种构建工具?

如果是sbt,则使用build.sbt 文件完成项目配置。

一个基本的 sbt 项目如下所示,

YourProject
├── build.sbt
├── project
│   └── build.properties
└── src
    └── main
        └── scala
            └── YouCode.scala

您可以手动创建此结构,或者如果您使用的是 IntelliJ Idea,则只需使用 File -> New -> Project -> Scala -> sbt 即可创建一个新的 sbt 项目。

作为初学者,我强烈建议您使用带有 Scala 插件的 IntelliJ Idea。这将帮助您简化很多事情。

有关使用 intellj 和 sbt-https://www.scala-lang.org/download/ 进行设置的更多详细信息。

project/build.properties 提供了用于此项目的sbt 版本,

sbt.version = 1.3.0

裸露的build.sbt 看起来像下面,

name := "YourProject"

version := "1.0"

scalaVersion := "2.12.8"

现在,在您新创建的项目中,您可以通过将以下内容添加到 build.sbt 来添加 Rocks-db 库(和其他库)作为依赖项,

libraryDependencies ++= Seq(
  "org.rocksdb" % "rocksdbjni" % "6.2.2",
  "some.other" % "some-dependecy" % "other-version",
  ...
)

我在这里包含了“6.2.2”版本。至于哪个版本的rocksdb库,这将取决于你连接到它的rocksdb的版本。最好选择和rocksdb版本一样的版本。

【讨论】:

    猜你喜欢
    • 2018-03-04
    • 2019-01-02
    • 2015-05-14
    • 1970-01-01
    • 2020-10-27
    • 2021-08-29
    • 2019-08-11
    • 2020-12-25
    • 2022-01-01
    相关资源
    最近更新 更多