40 votes

Pas de 'scala-library*.jar' dans chaque nouveau projet IntelliJ Scala

J'ai installé intelliJ-IDEA 2017.2.5 avec le plugin scala sur Ubuntu 16.04LTS. Lorsque je crée un nouveau projet scala et que j'essaie de l'exécuter, j'obtiens :

Erreur:scalac : No 'scala-library*.jar' in Scala compiler classpath in Scala SDK SBT : org.scala-lang:scala-library:2.12.4:jar

Je peux le corriger en allant dans Structure du projet > Bibliothèques, en supprimant des bibliothèques et en les ajoutant à nouveau.

Existe-t-il un moyen de changer la bibliothèque par défaut pour ne pas avoir à le faire à chaque fois que je crée un nouveau projet ?

1 votes

C'est ennuyeux. Je paie pour IntelliJ IDEA Ultimate et je m'attends à quelque chose de mieux. IDEA est plein de ce type de problèmes liés à Scala. Parfois, je pense à retourner à Eclipse !

2 votes

@angelcervera dans ce cas précis, le problème ne vient probablement pas d'IntelliJ IDEA, mais de SBT : github.com/sbt/sbt/issues/3560

0 votes

@CrazyCoder Je suis désolé si ce n'est pas le cas, mais je suis tellement grincheux avec tout le temps que je passe à travailler autour. Parfois, j'essaie d'aider, par exemple stackoverflow.com/questions/41564915/ mais le BUG reste ouvert.

40voto

CrazyCoder Points 103123

Si vous utilisez sbt 1.0.2, ce problème peut être dû à un bogue dans sbt. Un correctif est attendu pour sbt 1.0.3.

Questions connexes :

Solutions de contournement possibles :

  • configurer Scala version 2.12.3
  • OR downgrade vers sbt 0.13.16

1 votes

Et la version 1.0.3 a été publiée depuis que cette réponse a été postée et peut être trouvée ici developer.lightbend.com/blog/2017-10-27-sbt-1-0-3-hotfix

3 votes

J'ai mis à jour mon projet vers sbt 1.0.3 et le plugin Scala vers 2017.3.10. Malheureusement, cela n'a pas résolu le problème pour moi.

18voto

vnd Points 267

Cochez la case "Utiliser le shell SBT pour la construction et l'importation" dans les paramètres d'Idea SBT. Cela pourrait vous aider.

1 votes

Cela a fonctionné cette fois, mais que se passe-t-il réellement ? Pourquoi cela a-t-il résolu le problème ?

1voto

Fernando Points 356

Dans mon cas, la mise à jour du plugin Scala via les options IntelliJ a fait l'affaire.

Cela pourrait être lié à un problème fixe.

Allez dans Préférences, filtrez sur Scala. (Plugins - Scala) cliquez sur Update. Redémarrez IntelliJ.

1voto

Le passage de scala 2.12.2 à 2.12.3 a corrigé ce problème. pour moi.

J'ai également rencontré ce problème en utilisant IntelliJ 2017.2.4. Mon site build.sbt (provenant du projet "play-scala-starter-example") contenu :

scalaVersion := "2.12.2"

J'ai changé ça en :

scalaVersion := "2.12.3"

Et ensuite, j'ai réalisé un "projet Refresh".

J'ai fait cela après avoir remarqué que lorsque j'ajoutais le SDK Scala le plus récent : scala-sdk- 2.12.3 - (Fichier->Structure du projet->Modules, sélectionnez l'onglet 'Root' et 'Dependencies', puis ajoutez la bibliothèque), puis je l'ai déplacée presque à la première position dans le classpath, que j'ai transmis à SBT : org.scala-lang:scala-library : 2.12.2 :jar en cours de route. Étant le premier dans le classpath, le message "No 'scala-library*.jar' in Scala compiler classpath ..." a disparu.

0voto

Tupolev._ Points 296

Je viens de mettre à jour 2017.3.3 en 2017.3.4 avec sbt 1.0.3 et Scala 2.12.4. En gros, c'est encore le même problème. Dans mon cas, c'était l'avertissement "Sauter les fichiers scala sans un sdk scala" pour chaque module après la reconstruction du projet.

Cependant, ce n'était un problème que pour le projet sbt. ouvrir pendant la mise à jour, alors que les autres projets ont fonctionné correctement après. Pour le projet cassé, j'ai finalement réussi à faire fonctionner sa version check-out de git (après "invalider les caches" et autres tracasseries).

Ces mesures peuvent donc, espérons-le, vous éviter de futurs problèmes :

  1. Ajouter les fichiers de configuration du projet dans VC
  2. Engager le projet
  3. Fermer le projet
  4. Mise à niveau

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X