在intellij中导入外部库时未找到对象错误

时间:2016-12-25 17:09:40

标签: scala intellij-idea sbt

这是我的sbt文件myproject/build.sbt

version := "1.0"
scalaVersion := "2.12.1"
libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.4.16",
  "io.circe" %% "circe-core" % "0.6.1",
  "io.circe" %% "circe-generic" % "0.6.1",
  "io.circe" %% "circe-parser" % "0.6.1"
)

这是我的scala文件myproject/src/test.scala

package mytest
import akka._
object test {
    def main(args: Array[String]) {
      print(2)
    }
}

我确认我的外部库包含akka

但是intellij一直这么说

Error:(7, 8) not found: object akka
import akka._

我正在使用intellij community edition 2016.3和最新的scala插件(应该包含最新的sbt)

有人可以给我一个如何解决这个问题的提示吗?

2 个答案:

答案 0 :(得分:0)

要解决此问题,您必须将Scala源文件放入src/main/scala目录。否则IntelliJ / SBT无法将其识别为与项目相关的文件,因此无法将项目依赖项与其关联。

默认情况下,Scala源文件可以放在项目的根目录中,也可以放在src/main/scala中(对于主要来源,还有src/test/scala用于测试)。

如果您想使用其他一些目录来存储Scala源文件,可以在build.sbt中以这种方式进行配置:

sourceDirectories in Compile += new File("src")

答案 1 :(得分:0)

我遇到了类似的问题,这与我的目录结构无关。在build.sbt中添加新依赖项时,IntelliJ会要求您刷新。我也从SBT Shell手动刷新它,但仍然是同样的错误。

最后我关闭了项目并重新打开并修复了。