De ce cours https://class.coursera.org/progfun-004/assignment
J’ai téléchargé http://spark-public.s3.amazonaws.com/progfun/assignments/example.zip
Ceci importé à Intellij Idea.
Mais le problème est de vérifier le code, car bien sûr, ils exécutent sbt dans la console …
Après avoir exécuté “sbt” dans la console, j’ai:
D:\learning\example>sbt Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 [info] Loading project definition from D:\learning\example\project\project error: error while loading CharSequence, class file 'C:\Program Files\Java\jdk1.8.0_05\jre\lib\rt.jar(java/lang/CharSequence.cl ass)' is broken (bad constant pool tag 15 at byte 1501) [error] Type error in expression Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
J’ai créé un nouveau projet dans Intellij Idea avec SBT et ça marche … mais la version de SBT est autre que dans un exemple de projet. Mais quand je change de version de SBT au plus récent, j’obtiens des erreurs de dépendance … Je m’emstack et ne peux pas bouger … Comment résoudre une situation comme celle-là?
Je suppose que je peux essayer de déplacer tous les projets vers Java8 ou forcer sbt dans ma console à travailler avec Java7. Je ne sais pas faire les deux 🙂
Je crois que vous obtenez ce problème parce que Scala avant 2.10.4 ne supporte pas JDK8. Il y a un problème sur github décrivant le problème. Vous devez rétrograder vers Java 7.
Si vous utilisez sbt sous Linux, vous pouvez définir le paramètre -java-home
.
$ sbt -help # java version (default: java from PATH, currently java version "1.7.0_60") -java-home alternate JAVA_HOME
Sur Windows, cependant, ce n’est pas si facile.
Sbt utilise sbt.bat
pour exécuter sbt sous Windows. Vous pouvez le trouver en écrivant where sbt
dans la console Windows.
C:\Users\lpiepiora>where sbt C:\Program Files\sbt\bin\sbt C:\Program Files\sbt\bin\sbt.bat
Maintenant, vous pouvez éditer C:\Program Files\sbt\bin\sbt.bat
et au début du fichier juste après
@REM SBT launcher script @REM @REM Envioronment: @REM JAVA_HOME - location of a JDK home dir (mandatory) @REM SBT_OPTS - JVM options (optional) @REM Configuration: @REM sbtconfig.txt found in the SBT_HOME.
append
set JAVA_HOME="C:\Program Files\..."
Si vous exécutez sbt, redémarrez-le. Confirmez la version que vous exécutez en tapant dans la ligne de commande sbt.
J’utilise windows et cette commande en git shell ( http://msysgit.github.io/ ) fonctionne pour moi:
sbt -java-home “C: \ Program Files \ Java \ jdk7”
Bien sûr, outre jdk8, vous devez installer jdk7 (je l’ai installé dans le chemin ci-dessus).