web-dev-qa-db-ja.com

IntelliJ IDEA-sbtプラグイン-「表現タイプDef.Setting [...]はsbtファイルのDslEntryに準拠する必要があります」」

私は同様の質問を探しました、私はこれを見つけました:

式の種類DslEntryは、SBTファイルの行enablePlugins(JavaServerAppPackaging)のDef.SettingsDefinitionに準拠する必要があります

私の問題は似ていますが、すべての行で発生します。

image link

実行しようとすると、コンパイルして正常に実行されます。 [プロジェクトのインポート]をクリックしても、黄色の通知は消えませんが、プロジェクトは正常にリロードされます。たとえば、任意の行をval _ = scalaVersion := "2.12.4"、エラーは消えますが、ひどく見えます。

29
Rafael Leal

IntelliJでプロジェクトを閉じて削除した後、プロジェクトフォルダーでサブフォルダー_project/_、_target/_、および_.idea/_を削除しました。その後、_build.sbt_と_src/_のみが残りました。その後、IntelliJで、ファイル->新規->既存のソースからのプロジェクト->外部モデルからプロジェクトをインポート-> sbtを実行しました。

この手順により、新しい.ideaプロジェクトファイルが生成されました。

_Expression type Def.Setting[String] must conform to DslEntry in SBT file_は現在削除されています。

お役に立てれば。

2018-11-17更新:

IntellIJ SBTのモジュールとプロジェクトをシャッフルするときは、置き換えてみてください

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

常に区別された

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

私の場合、この方法で問題は解決しました! 複数を持っている _(project in file("."))_ in 異なるモジュール/build.sbtファイルから発生しました。同じIntelliJ SBTプロジェクトに属します。 IntelliJ SBTマルチモジュールプロジェクトには_(project in file("."))_が1つしか存在しないように思えます。したがって、さまざまなProject(id="module_xyz", base = file("."))を使用することでこれを解決できます。

14
Hartmut P.

同じ問題がありました。このソリューションは毎回私を動かした。 1. IntelliJ Ideaの右側の[sbt]タブをクリックします2. [更新]シンボルをクリックします

ローカルキャッシュとGradleの依存関係を再検証します。それでおしまい。

10
Yogesh Funde

Build.sbtファイルのすべてをWord文書にカットアンドペーストして、変更をインポートしてから、build.sbtファイルに貼り付けて戻すこともできます。

0
Brian Buh