1. ホーム
  2. scala

[解決済み] Intellijのコンパイルに失敗する。"すでに次のように定義されています"

2023-06-17 06:21:07

質問

コマンドラインからSBTを使用して、コンパイル、実行、テストがうまくいくscalaプロジェクトを持っています。しかし、intellijでプロジェクトをビルドすると、プロジェクト内のすべてのクラスがイベントログにこのエラーを表示し、ビルドが失敗するようです。

SendCommandToService is already defined as case class SendCommandToService
case class SendCommandToService(service: String, commandName: String, keys: Array[String], values: Array[String])
       ^

どのように解決するのですか?

クラスパスに同じパッケージとクラス名を持つ2つのコンパイルされたクラスが存在することを意味します。1つはsbtによってコンパイルされ、もう1つはIntelliJによってコンパイルされます。

以下のいずれかが問題を解決することができるはずです。

  1. で IntelliJ .iml ファイルを生成してみる。 sbt-idea で生成してみてください。
  2. sbt clean before click Build -> IntelliJでリビルドする。
  3. IntelliJで再構築する場合、sbtが起動していないことを確認します。