web-dev-qa-db-fra.com

IntelliJ IDEA - plugin sbt - 'Le type d'expression Def.Setting [...] doit être conforme DslEntry dans le fichier sbt'

J'ai cherché des questions similaires, j'ai trouvé ceci:

Le type d'expression DslEntry doit être conforme à Def.SettingsDefinition dans le fichier SBT à la ligne enablePlugins (JavaServerAppPackaging)

Mon problème est similaire, mais se produit à chaque ligne.

image link

Lorsque j'essaie de l'exécuter, il se compile et s'exécute avec succès. Lorsque je clique sur "Importer le projet", la notification jaune ne disparaît pas, mais le projet se recharge correctement. Si je réécris une ligne comme, par exemple, val _ = scalaVersion := "2.12.4", l'erreur disparaît, mais elle a l'air horrible.

29
Rafael Leal

J'ai fermé et supprimé le projet dans IntelliJ, puis, dans mon dossier de projet, j'ai supprimé les sous-dossiers project/, target/ Et .idea/. Il ne restait alors que build.sbt Et src/. Ensuite, dans IntelliJ, j'ai fait: Fichier -> Nouveau -> Projet à partir de sources existantes -> importation d'un projet à partir d'un modèle externe -> sbt.

Cette procédure a généré un nouveau fichier de projet .idea.

Expression type Def.Setting[String] must conform to DslEntry in SBT file A disparu maintenant.

J'espère que cela t'aides.

MISE À JOUR 2018-11-17:

Lorsque vous mélangez des modules et des projets dans IntellIJ SBT, essayez de remplacer

lazy val root = (project in file("."))

avec un toujours distingué

lazy val root = Project(id="module_xyz", base = file("."))

Dans mon cas, le problème a été résolu de cette façon! Cela s'est produit lorsque en ayant plusieurs(project in file(".")) Dans différents modules/fichiers build.sbt appartenant au même projet IntelliJ SBT. Il me semble qu'il ne peut y avoir qu'un (project in file(".")) Dans un projet multi-module IntelliJ SBT. Donc, avoir beaucoup de Project(id="module_xyz", base = file(".")) différents peut résoudre ce problème.

14
Hartmut P.

J'ai eu le même problème. Cette solution m'a fonctionné à chaque fois. 1. Cliquez sur l'onglet sbt du côté droit dans IntelliJ Idea 2. Cliquez sur le symbole Actualiser

Il revalidera le cache local et les dépendances Gradle. C'est ça.

10
Yogesh Funde

Vous pouvez également essayer de couper et de coller tout ce qui se trouve dans votre fichier build.sbt dans un document Word, d'importer vos modifications, puis de le coller dans le fichier build.sbt.

0
Brian Buh