我正在尝试使用sbt
进行测试,而我正在抛出java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
。
我的环境是:Unix
,sbt
,scalatest
。
我已将scalalibrary
指向我安装的那个而不是IntelliJ插件(其中dint工作)
项目构建文件
name := "PleaseGod"
version := "1.0"
scalaVersion := "2.11.5"
libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.1" % "test"
libraryDependencies += "org.seleniumhq.selenium" % "selenium-java" % "2.35.0" % "test"
libraryDependencies += "org.scala-lang.modules" % "scala-xml_2.11" % "1.0.1"
请参阅以下链接了解项目结构:http://imgur.com/iugBPD6
答案 0 :(得分:2)
从giter8模板生成scala项目后,我遇到了同样的问题(fayimora/basic-scala-project
listed here)
问题是Scala版本为2.11.5
,但ScalaTest版本为2.10
。 build.sbt
的内容:
scalaVersion := "2.11.5"
libraryDependencies ++= Seq(
"org.scalatest" % "scalatest_2.10" % "2.2.1" % "test" withSources() withJavadoc(),
"org.scalacheck" %% "scalacheck" % "1.12.1" % "test" withSources() withJavadoc()
在我将其更改为"scalatest_2.11
之后,它按预期编译并执行了测试。
我看到你的配置正在使用scalatest_2.11
所以我怀疑你的其他一个依赖项有类似的Scala版本冲突?
我还添加了一个project/build.properties
文件,该文件明确将sbt版本设置为0.13.8
sbt.version=0.13.8