gpt4 book ai didi

Scala "not found: type"错误

转载 作者:行者123 更新时间:2023-12-04 05:39:39 27 4
gpt4 key购买 nike

我是 Scala 菜鸟,我正在为 Scala Spark 程序编写单元测试用例。当我尝试使用 sbt test 运行我的 scala 单元测试用例时命令,我收到以下错误

BasicACRStatsTest.scala:8: not found: type BasicACRStats

[error] var basicStats: BasicACRStats = _
[error] ^
BasicACRStatsTest.scala:14: not found: type BasicACRStats
[error] basicStats = new BasicACRStats
[error] ^
[error] two errors found
[error] (test:compile) Compilation failed

我正在使用 intellij,当我尝试引用类(class)时 BasicACRStats它显示 Cannot resolve symbol BasicACRStats即使我已经在正确的包中声明了它。

BasicACRStat.scala
 package com.company.analytics
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{FileSystem, Path}
import org.apache.hadoop.fs.FileSystem.Statistics
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.sql.hive.HiveContext
import scala.collection.mutable.ArrayBuffer
import collection.mutable


object BasicACRStats {


def main(args: Array[String]) {
// Some code goes here
}
}

BasicACRStatsTest.scala
    import com.company.analytics
import org.scalatest.FunSuite
import org.scalatest.BeforeAndAfter
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext

class BasicACRStatsTest extends FunSuite with BeforeAndAfter {
@transient var sc: SparkContext = _
var basicStats: BasicACRStats = _
// some code goes here
}

简单文件
name := "basicACRStats"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.0"
libraryDependencies += "org.apache.spark" % "spark-sql_2.10" % "1.1.0"
libraryDependencies += "org.apache.spark" % "spark-hive_2.10" % "1.1.0"
libraryDependencies += "org.scalatest" % "scalatest_2.10" % "1.9.1" % "test"

项目目录结构
projectfoo
.idea
src
main
scala
com
company
analytics
BasicACRStats.scala
test
scala
BasicACRStatTest.scala
target
simple.sbt

我不确定如何解决此问题,请分享您的想法,如果您需要更多信息,请告诉我。

最佳答案

BasicACRStats似乎是 object在您的示例代码中,而不是 class .

对象是单例,而不是类/类型。我有一个类型,在这种情况下 BasicACRStats.type ,即永远只有一个实例。因为它不是类型调用 new BasicACRStats不是有效的 Scala,也没有试图将它用作值的类型。

你想要的大概是声明BasicACRStats一类。这将使您的示例代码的其余部分有意义。

关于Scala "not found: type"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28756044/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com