首页 > 解决方案 > 未找到 Scala 导入的函数

问题描述

我最近开始使用 Scala,但我在依赖项方面遇到了一些问题。我使用了 Maven 的 pom.xml 和 sbt build.sbt。

浏览 sbt 的参考手册我已经遇到了导入 scalatest 的问题。

我的项目文件夹中有 build.sbt,然后是 src/main/scala/Hello.scala 和 src/test/scala/HelloSpec.scala。

我的构建:

ThisBuild / scalaVersion := "2.13.3"
ThisBuild / organization := "com.example"

lazy val hello = (project in file("."))
    .settings(
        name := "Hello",
        libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.2" % Test,
    )

和 HelloSpec.scala:

import org.scalatest._

class HelloSpec extends FunSuite with DiagrammedAssertions {
    test("Hello should start with H") {
        assert("hello".startsWith("H"))
    }
}

现在,当我进入 sbt shell 并运行测试时,它提供了三个错误:

尽管我已经设置了我的环境变量(SCALA_HOME、JAVA_HOME),但奇怪的是 Maven 也发生了同样的事情(无法使用导入的函数)。

标签: javascalamavensbt

解决方案


这就是我的工作方式

import org.scalatest.funsuite._
import org.scalatest.diagrams._

class HelloSpec extends AnyFunSuite with Diagrams {
  test("Hello should start with H") {
    assert("Hello".startsWith("H"))
  }
}

推荐阅读