Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala sbt:sbt中的多个依赖项_Scala_Dependencies_Sbt_Configure - Fatal编程技术网

Scala sbt:sbt中的多个依赖项

Scala sbt:sbt中的多个依赖项,scala,dependencies,sbt,configure,Scala,Dependencies,Sbt,Configure,我是Scala的新用户,遵循创建Scala sbt项目的方法 添加后 libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test" 为了build.sbt并刷新项目,我得到了这个消息 [警告]具有相同组织/名称但版本不同的多个依赖项。要避免冲突,请选择一个版本: [警告]*org.scala lang:scala refle

我是Scala的新用户,遵循创建Scala sbt项目的方法

添加后

libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
为了build.sbt并刷新项目,我得到了这个消息

[警告]具有相同组织/名称但版本不同的多个依赖项。要避免冲突,请选择一个版本:

[警告]*org.scala lang:scala reflect:2.11.2,2.11.7

[警告]*org.scala-lang.modules:scala-xml_2.11:1.0.2,1.0.4

在build.sbt中,单词“scalatest”是红色的,这意味着它是一个未解决的依赖项

我是否应该更改项目设置中的某些内容,如scala sdk


致以最崇高的敬意

您可以考虑添加这些依赖项:

libraryDependencies ++= Seq(
  "org.scala-lang" % "scala-reflect" % "2.11.7",
  "org.scala-lang.modules" % "scala-xml_2.11" % "1.0.4"
)

它迫使编译器选择库的具体版本。它为我解决了这个问题。

我能够通过将这些从scalatest依赖项中排除来解决这个问题

libraryDependencies ++= Seq(
  "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
    exclude("org.scala-lang", "scala-reflect")
    exclude("org.scala-lang.modules", "scala-xml_2.11")
)

一旦战争开始,这应该不是问题。检查错误。如果有,请在这里打印。如果您使用IntellJ Idea,build.sbt中的任何内容都可以是红色的,但它仍然可以编译。IDE的解析器有时也不能解析scala代码中的东西,所以通常只要编译就可以忽略红色的东西。其他IDE可能也是如此。@Archeg如果我的配置正确,我可以运行测试文件,对吗?目前,我甚至不能在IDE中右键单击该文件时运行该文件。您只发布了一条警告,这可能与不可用状态无关。当你试着运行它时,它会说什么?我想知道为什么Idea不能用Scalaversation:在build.sbt中=2.11.7这在大多数情况下都有效,但是我对org.scala-lang.modules:scala xml的版本1.0.4和1.0.5有问题。我甚至从常春藤缓存中清除了它们,但没有任何积极的结果。我更喜欢这一点,而不是巴特·奥米耶·萨巴赫(Bartłomiej Szaach)在回答中所说的。