错误:对象rocksdb不是包orgs的成员

时间:2019-10-05 19:55:59

标签: scala apache-spark hadoop hdfs rocksdb

我在使用Scala中的rocksDb库时遇到了问题。

我正在尝试导入org.rocksdb.RocksDB; 在我的代码中,但我不断遇到此错误:

rocksdb对象不是org软件包的成员。

我在线搜索,发现使用build.sbt并包括库依赖关系可能会解决此问题,但我不知道要使用哪个版本。我已经看到了用于flink和其他用例的build.sbt的示例,但是在scala中却没有。我们对此表示赞赏。

1 个答案:

答案 0 :(得分:1)

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

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

每种构建工具都有其向项目添加依赖库的方式。

所以,第一个问题是-您甚至在项目中使用哪种构建工具?

对于sbt,则使用build.sbt文件完成项目配置。

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

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

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

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

有关同时使用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版本相同的版本。