Environnement: Play 2.3.0/Scala 2.11.1/IntelliJ 13.1
J'ai utilisé Typesafe Activator 1.2.1 pour créer un nouveau projet avec Scala 2.11.1. Après la création du projet, j'ai exécuté gen-idea
. Le projet IDEA généré ne parvient pas à se compiler avec l'erreur:
Error: scala: No 'scala-library*.jar' in Scala compiler library in test
Est-ce que je fais quelque chose de mal? Solution de contournement?
Depuis IDEA 13, vous devez utiliser le support SBT fourni avec le plug-in Scala.
Avec lui, il n'est pas nécessaire d'ajouter des plugins SBT tiers et d'exécuter des commandes spéciales; il suffit d'importer le projet en utilisant l'élément de menu "Fichier -> Importer le projet ...", et il chargera automatiquement la structure du projet SBT et ses dépendances.
Ouvrez Fichier -> Structures de projet -> Bibliothèques, supprimez tout scala sdk dedans, par exemple scala-sdk-2.11.8 dans l'image suivante.
Sélectionnez le bon Scala SDK dans la liste, pour moi, c'est Ivy-Scala-2.11.8 montré dans l'image .
Sélectionnez le projet en cours (le mien est spark-test
), cliquez sur OK.
Réexécutez, cela devrait fonctionner maintenant.
J'ai eu le même problème avec les fichiers .idea générés par l'idée de ./activator avec le jeu 2.3. Une solution rapide consiste à rechercher dans "Structure du projet-> modules" et à noter le nom de la bibliothèque du compilateur. Pour moi, c'était "SBT: scala2.11.1". Regardez dans "Project Structure-> Libraries" et vérifiez le contenu de cette bibliothèque. Il doit contenir scala-compiler.jar, scala-library.jar, scala-reflect.jar. Si ces bibliothèques ne sont pas présentes, ajoutez-les (dans mon cas, elles se trouvent dans ~/.sbt/boot/scala-2.11.1/lib).
J'ai eu le même problème.
Si vous générez votre projet à l'aide de sbt
c'est-à-dire sbt compile
alors il créera ou ajoutera des dépendances dans les bibliothèques (toutes les dépendances externes également) et scala sdk sera ajouté comme SBT:scala*
basé sur la version de votre scala. Vous pouvez donc supprimer SDK
avec SBT comme préfixe et ajouter le SDK approprié via Intellij.
File->Project Structure->Libraries
Supprimez le SDK SBT et ajoutez-le manuellement.
Pour IDEA 15 et projet exporté depuis Activator 1.3.5, seule la solution de Russell a aidé pour le moment. J'ai corrigé scala bibliothèque du compilateur avec l'ajout de 3 bibliothèques situées dans ~ /.sbt/boot/scala-2.11.1/lib vers le chemin de classe et les classes du compilateur de la bibliothèque. Après le projet d'indexation, j'ai déplacé cette bibliothèque vers les bibliothèques globales de IDEA et elle y a été enregistrée.
Pour moi avec IDEA 12, j'ai résolu ce problème en décochant la case "Utiliser la génération externe" dans Settings.Compiler.