Java.lang.Noclassdeffonderror: scala / Product$class

je suis nouveau à scala et je suis en train d'essayer quelques exemples de codes pour le test. Cependant, je suis confronté à certains problèmes lorsque je lance le code de test. Quand j'exécute le test, j'obtiens une erreur

[trace] Stack trace suppressed: run last test:executeTests for the full output.
[error] (test:executeTests) java.lang.NoClassDefFoundError: scala/Product$class
[error] Total time: 3 s, completed Feb 27, 2017 6:57:15 PM

Mon code est comme suit

FilterChecks.scala

    class filterChecks extends FlatSpec {

  "Filter checker passed a filename which is present in directory" should "return file name" in {
    val matchingFileName = new FileObject("match")
    val listOfFiles = List(new FileObject("random"), matchingFileName)
    val matchedFiles = new FilterChecker("match").findMatchedFiles(listOfFiles)
    assert(matchedFiles == List(matchingFileName))

  }
}

FilterChecker Class

class FilterChecker(filter : String) {

  def matches(content : String) = content.contains(filter);

  def findMatchedFiles(fileObjects : List[FileObject]) = {
    for(fileObject <- fileObjects if(matches(fileObject.name)))
      yield fileObject
  }

}

FileObject

class FileObject(val name: String) {

}

le fichier de compilation est le suivant:

name := "testScalaProject"

version := "1.0"

scalaVersion := "2.12.1"

// https://mvnrepository.com/artifact/org.scala-js/scalajs-test-interface_2.12
libraryDependencies ++= Seq("org.scala-js" % "scalajs-test-interface_2.12" % "0.6.14",
  "org.scalatest" % "scalatest_2.11" % "2.2.5",
  "com.novocode" % "junit-interface" % "0.11",
  "org.scala-lang" % "scala-library" % "2.12.1")

quelqu'un Pourrait-il m'aider à trouver le problème . Grâce à avance

12
demandé sur Amogh Huilgol 2017-02-28 03:04:10

1 réponses

votre fichier de compilation sbt n'est pas correct. votre version scala est 2.12.x mais vous utilisez des bibliothèques compilées dans la version 2.11 de scala. utilisez les paramètres sbt ci-dessous

remarque:: j'ai changé la version de scalatest en 2.les versions x ne sont plus supportées pour la version 2.12 de scala

scalaVersion := "2.12.1"

libraryDependencies ++= Seq(
  "org.scala-js" %% "scalajs-test-interface" % "0.6.14",
  "org.scalatest" %% "scalatest" % "3.0.1", //version changed as these the only versions supported by 2.12
  "com.novocode" % "junit-interface" % "0.11",
  "org.scala-lang" % "scala-library" % scalaVersion.value
)

n'oubliez pas de faire reload,clean et compile dans votre console sbt pour démarrer clean compiler

19
répondu rogue-one 2017-02-28 00:28:35