Java.lang.NoClassDefFoundError: scala/Produit de classe$


Je suis nouveau sur scala et j'essaie quelques exemples de codes pour les tests. Cependant, je rencontre quelques problèmes lorsque j'exécute le code de test. Lorsque j'exécute le test, je reçois 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 le suivant

Vérification des filtres.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))

  }
}

Classe de contrôle des filtres

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
  }

}

Objet de fichier

class FileObject(val name: String) {

}

Le fichier de construction 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 . Merci d'avance

Author: Amogh Huilgol, 2017-02-28

1 answers

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

Note : J'ai changé de la version de scalatest en 2.les versions x ne sont plus prises en charge 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 la compilation propre

 19
Author: rogue-one, 2017-02-28 00:28:35