首页 > 解决方案 > Scala 不会导入包类

问题描述

我有一个 scala 项目,但导入没有按设计工作。我在这里尝试了一切,但似乎没有任何解决问题的方法。我的项目如下:

- src
  - main
    - scala
      - importtest
        ImportTest.scala
      Main.scala
build.sbt

导入类:

#/src/main/scala/importtest/ImportTest.scala
package importtest

class ImportTest {
  def run(): Unit = {
    System.out.println("boo!")
  }
}

我的主要课程是:

#/src/main/scala/Main.scala
import importtest.ImportTest

object Main {
  def main(): Unit = {
    val i = ImportTest()
  }
}

我的 SBT 版本是:

name := "ImportTest"

version := "0.1"

scalaVersion := "2.12.6"

当我尝试构建时,我得到:

Error:(5, 13) not found: value ImportTest
    val i = ImportTest()

这里出了什么问题?为什么我不能导入 ImportTest 类?

此外,不确定这是否有帮助,但 IntelliJ 会自动完成包名称,但它不能自动完成包中的类 - 它会将其标记为未解决。

标签: scalasbt

解决方案


您正在初始化ImportTest(),就好像它是一个案例类。因为它是一个普通的类,你需要使用“new”。将初始化更改为:

val i = new ImportTest()

推荐阅读