scala应用程序中的永久隐藏警告

tra*_*ory 38 scala

每当我启动Scala应用程序时,都会收到以下警告:

WARN - 导入的"SVNProperties"被包核心中对象SVNProperties的定义永久隐藏,位于app/core/SVNResource.scala的第4行

这意味着什么?

Rex*_*err 40

你可能有类似这样的代码:

object Hidden {
  import scala.collection.immutable
  object immutable { def x = 7 }
}
Run Code Online (Sandbox Code Playgroud)

除了不太明显的方式.您正在导入一些东西 - 在我的示例中,包immutable- 然后您去定义具有相同名称的其他内容,以防止您使用导入的内容.

特别是,它看起来像你试图导入SVNPropertiesSVNResource.scala,只是SVNResource.scala定义了它自己SVNProperties,它可以隐藏进口.

  • 另一个常见原因是`SVNProperties`在同一个包中,因此已经在范围内了.尝试明确导入它会导致此警告. (34认同)

ast*_*iak 26

将一些类从一个包移到另一个包后,我遇到了这个警告.我想新位置和旧位置的二进制文件之间存在一些冲突.在我的情况下,这有助于:

sbt clean
Run Code Online (Sandbox Code Playgroud)


小智 7

当我的类在同一个包中导入类时,我收到了这个警告.一旦我删除了警告就被删除了.