Voici un test simple que j'utilise pour invoquer une méthode Scala de Java:
public static void main(String args[]) {
Java.util.Map<String, Java.util.List<String>> rec = news.recommend.DriverObj.runTest();
System.out.println(rec.toString());
}
Voici la définition de la méthode Scala:
def runTest: Java.util.Map[String, Java.util.List[String]] = {
new Java.util.HashMap[String, Java.util.List[String]]
}
Mais cela jette une erreur:
Exception in thread "main" Java.lang.NoClassDefFoundError: scala/Function1
at news.recommend.DriverObj.runTest(DriverObj.scala)
Que dois-je faire pour que tout se passe bien?
Mise à jour: je l'exécute via Eclipse et mon chemin de build contient:
Donc Scala doit-elle être trouvée?
l'ajout de la dépendance Scala à la génération maven peut résoudre le problème:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>
Quant à moi, dans la configuration des "Configurations Run/Debug" [idealJ]
n'oubliez pas de choisir les "Inclure les dépendances avec la portée" fournie "