Scala 在包对象中使用案例类时类型不匹配

Scala 在包对象中使用案例类时类型不匹配,scala,intellij-idea,apache-spark,Scala,Intellij Idea,Apache Spark,我尝试运行代码时收到以下错误: Error:(104, 63) type mismatch; found : hydrant.spark.hydrant.spark.IPPortPair required: hydrant.spark.(some other)hydrant.spark.IPPortPair IPPortPair(it.getHeader.getDestinationIP, it.getHeader.getDestinationPort)) 我的代码使用包对象spark中定

我尝试运行代码时收到以下错误:

Error:(104, 63) type mismatch;
found   : hydrant.spark.hydrant.spark.IPPortPair
required: hydrant.spark.(some other)hydrant.spark.IPPortPair
IPPortPair(it.getHeader.getDestinationIP, it.getHeader.getDestinationPort))
我的代码使用包对象spark中定义的case类为每个连接设置IP/端口映射。 包对象如下所示:

package object spark{
  case class IPPortPair(ip:Long,port:Long)
}
以及使用包对象的代码,如下所示:

package hydrant.spark
import java.io.{File,PrintStream}
object identifyCustomers{
……………
def mapCustomers(suspectTraffic:RDD[Generic])={
    suspectTraffic.filter(
         it => !it.getHeader.isEmtpy
    ).map(
    it => IPPortPair(it.getHeader.getDestinationIP,it.getHeader.getDestinationPort)
)           ^`                                          
}
我很清楚我的软件包以一种奇怪的方式显示,因为错误使我看起来像是在一个不存在的syntrope.spark.syntrope.spark中


我也在使用Intellij,如果这有什么不同的话

您需要运行sbt clean或IntelliJ等效程序。您在项目中更改了某些内容,例如Scala版本,这就是不兼容的表现。

您能否发布一个完整的代码示例,重现您的问题?我自己也试过了,但无法重现你的错误。我已经见过很多次了,sbt clean总是能解决这个问题。我仍然非常有兴趣更深入地了解在这种情况下会出现什么问题。多么奇怪的错误!似乎修复了很多,老实说,我正在使用Maven,但它帮助了很多。我再次遇到了问题,在我的本地Maven回购协议中发生了一些奇怪的事情,刚刚删除并再次下载了所有内容!