私は同様の質問を探しました、私はこれを見つけました:
式の種類DslEntryは、SBTファイルの行enablePlugins(JavaServerAppPackaging)のDef.SettingsDefinitionに準拠する必要があります
私の問題は似ていますが、すべての行で発生します。
実行しようとすると、コンパイルして正常に実行されます。 [プロジェクトのインポート]をクリックしても、黄色の通知は消えませんが、プロジェクトは正常にリロードされます。たとえば、任意の行をval _ = scalaVersion := "2.12.4"
、エラーは消えますが、ひどく見えます。
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("."))
を使用することでこれを解決できます。
同じ問題がありました。このソリューションは毎回私を動かした。 1. IntelliJ Ideaの右側の[sbt]タブをクリックします2. [更新]シンボルをクリックします
ローカルキャッシュとGradleの依存関係を再検証します。それでおしまい。
Build.sbtファイルのすべてをWord文書にカットアンドペーストして、変更をインポートしてから、build.sbtファイルに貼り付けて戻すこともできます。