如何解决scala中的导入冲突?

时间:2011-07-06 05:23:59

标签: scala sbt

我使用“console-project”命令从sbt启动了这个shell。

scala> settings
<console>:24: error: reference to settings is ambiguous;
it is imported twice in the same scope by
import Keys._
and import settings
       settings
       ^

如何让shell显示设置对象,而不是Keys.settings?

4 个答案:

答案 0 :(得分:10)

假设您自己导入Keys._settings,您可以从settings重命名Keys,如下所示:

import Keys.{settings => keySettings, _}

答案 1 :(得分:2)

您始终可以使用所需对象的完整路径来解决冲突。 因此,如果您希望在包/对象settings中定义repl,则可以参考repl.settings

答案 2 :(得分:1)

或者如果您不需要其他设置,可以通过将其重命名为:

来忽略它
import Keys.{settings => _, _}

答案 3 :(得分:0)

您应该将此库添加到class-path :(这适用于play-framewrk 2.0应用程序,但我希望它可以提供帮助)

/home/user/play/framework/sbt/boot/scala-2.9.1/org.scala-tools.sbt/sbt/0.11.0

有一个名为main_2.9.1-0.11.0.jar的jar,您可以在其中找到。事实上,仅将此jar导出到您的类路径就足够了。