web-dev-qa-db-fra.com

Erreur: scala: Aucune 'scala-library * .jar' dans Scala compiler library

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?

enter image description here

35
jkschneider

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.

20
Vladimir Matveev
  1. Ouvrez Fichier -> Structures de projet -> Bibliothèques, supprimez tout scala sdk dedans, par exemple scala-sdk-2.11.8 dans l'image suivante. enter image description here

  2. Cliquez sur +, puis sur Scala SDK. enter image description here

  3. Sélectionnez le bon Scala SDK dans la liste, pour moi, c'est Ivy-Scala-2.11.8 montré dans l'image . enter image description here

  4. Sélectionnez le projet en cours (le mien est spark-test), cliquez sur OK. enter image description here

  5. Cliquez ensuite sur OK pour le fermer. enter image description here

  6. Réexécutez, cela devrait fonctionner maintenant.

33
Searene

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).

7
Russell

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.

1
ketankk

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.

1
Alex Shcherbyna

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.

0
wiseco68