首页 > 解决方案 > IntelliJ + sbt -> 没有外部依赖

问题描述

我正在尝试使用 sbt 为 Scala 项目设置 IntelliJ IDEA。外部依赖项在 my 中指定,build.sbt也在 IDE 中列出,如屏幕截图所示。但是,我仍然收到编译器错误,说无法解析相应的符号。谁能指出我正确的方向?

我的内容build.sbt

lazy val midas = (project in file("."))
  .settings(
    name := "test",
    mainClass in assembly := Some("core.Service"),
    assemblyJarName in assembly := "test.jar",
    test in assembly := {},
    libraryDependencies ++= Seq(
      "org.slf4j" % "slf4j-api" % "1.7.25",
      "com.typesafe.akka" %% "akka-actor" % "2.5.13",
      "com.typesafe.akka" %% "akka-slf4j" % "2.5.13",
      "com.typesafe.akka" %% "akka-remote" % "2.5.13",
      "org.scala-lang.modules" %% "scala-xml" % "1.1.0",
      "com.typesafe.play" %% "play-json" % "2.6.9",
      "com.typesafe.slick" %% "slick" % "3.2.3",
      "com.typesafe.scala-logging" %% "scala-logging" % "3.9.0",
      "ch.qos.logback" % "logback-classic" % "1.2.3",
      "ch.qos.logback" % "logback-core" % "1.2.3",
      "com.mchange" % "c3p0" % "0.9.5.2",
      "joda-time" % "joda-time" % "2.10",
      "org.joda" % "joda-convert" % "2.0.1",
      "net.sourceforge.jtds" % "jtds" % "1.3.1"
    )
  )

仍然是两者的依赖关系,akka并且joda-time无法在 IDE 内部解决。但是,sbt compile来自命令行的工作正常。

在此处输入图像描述

标签: scalaintellij-ideasbt

解决方案


joda-convert不包括org.joda.time.DateTime- 你需要"joda-time" % "joda-time" % "2.9.4"左右。

一旦你添加了这个(并修复了你丢失的 Akka 导入,也许"com.typesafe.akka" %% "akka-actor" % "2.4.17"),你需要刷新 sbt 项目。

我按 Shift、Shift 键调出“Search Everywhere”并输入“sbt”。在 Tool Windows 下选择sbt,然后在 sbt 窗口中单击“刷新所有 sbt 项目”(蓝色重新加载图标)。我关闭了这个窗口,因为它通常没有用。

希望有帮助。


推荐阅读