2017-07-14 3 views
0

j'attache à exécuter cet exemple dans IntelliJClassNotFoundException lors de l'utilisation étincelle IntelliJ

import org.apache.spark.SparkContext 
    import org.apache.spark.SparkConf 
    object LAspark { 
     def main(args: Array[String]) { 
     val logFile = "/Users/H/Desktop/sparktest.txt" 
     val conf = new SparkConf().setAppName("Simple 
Application").setMaster("local[*]") 
     val sc = new SparkContext(conf) 
     val logData = sc.textFile(logFile, 2).cache() 
     val numAs = logData.filter(line => line.contains("a")).count() 
     val numBs = logData.filter(line => line.contains("b")).count() 
     println("Lines with a: %s, Lines with b: %s".format(numAs, numBs)) 
    } 
} 

et erreur ici que je suis:

Exception in thread "main" java.lang.ClassNotFoundException: LAspark 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:264) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:123) 

Mon build.sbt est comme ceci:

name := "fridaytest" 

version := "1.0" 

scalaVersion := "2.11.8" 

Dans les bibliothèques globales, j'ai utilisé scala-sdk-2.11.8. J'ai passé des heures là-dessus et je n'arrivais toujours pas à comprendre quel était le problème. Quelqu'un pourrait-il m'aider? Merci beaucoup.

+1

pouvez-vous mettre à jour le poste avec l'arborescence de la classe? –

+1

Merci pour l'indice! J'ai regardé le répertoire du projet et j'ai réalisé que mon code se trouvait sous le dossier scala2.12, car c'était le sdk que j'utilisais avant de passer à 2.11 ... J'ai déplacé le code dans le dossier 2.11 et ça a marché .. – user4046073

+2

cette. vous pouvez poster votre réponse à cette question ci-dessous. :) –

Répondre

0

Ceci a été résolu. Après avoir vu le commentaire de Ramesh Maharjan, j'ai regardé le répertoire du projet et j'ai réalisé que mon code se trouvait sous le dossier scala2.12, car c'était le sdk que j'utilisais avant de passer à 2.11. L'EDI génère différents dossiers lorsque vous changez la version de JDK que vous utilisez dans la 'structure du projet'. J'ai déplacé le code dans le dossier 2.11 et cela a fonctionné. Comme il s'avère que le dossier compte ..