50

プロジェクト内のクラスをコンパイルしようとすると、次のエラーが発生します。

Error scala: Output path .../eval/target/test-classes is shared between: Module 'eval' tests, Module 'eval' tests
      Output path .../eval/target/classes is shared between: Module 'eval' production, Module 'eval' production
      Please configure separate output paths to proceed with the compilation.

IDEA で出力パスを設定する方法を見てきました。しかし、エラーは同じモジュール間で共有されていると主張しているため、解決できませんでした。

Obs .: Maven と IntelliJ IDEA の使用。

お願いします、誰か助けてくれませんか?

4

13 に答える 13

41

あなたがする必要があるのは次のとおりです。

  • 両方のモジュールを同期します (右クリック > [同期])。
  • 両方のモジュールの pom.xml を再インポートします (右クリック > Maven > 再インポート)。

楽しみ

于 2014-01-28T22:37:16.227 に答える
14

ここで説明されているように、モジュールの出力パスを別のディレクトリに設定します: https://www.jetbrains.com/idea/help/configuring-module-compiler-output.html

On Project "Open Module Settings" -> Modules -> Paths -> Output/Test path

于 2015-03-13T14:28:43.903 に答える
5
  1. Files --> Invalidate caches and restart
  2. インテリを閉じる
  3. (intellij から外部的に)フォルダー (ある場合は.ideaバックアップフォルダー) を削除します。runConfigurations
  4. project.imlファイルを削除する
  5. インテリを開く
  6. pomから、またはからsbt(または任意のソース ビルド ツールから)プロジェクトを再度開きます。
于 2014-12-16T14:27:49.937 に答える
4

マルチモジュールプロジェクトのルートモジュールでこれが発生しました。ルート モジュールは単なるプレースホルダーであるため、実際にはコードは含まれていませんでしたが、IDEA は、[project]/buildテストと運用の間で出力パス ( ) を共有していると不満を漏らしていました。

修正は追加することでした

plugins {
  id "java"
}

をルートbuild.gradleファイルの先頭に追加し (それ以外の場合は不要な Java プラグインを適用します)、プロジェクトを再インポートします。これにより、IDEA は Java のデフォルトディレクトリ[project]/build/classes/main[project]/build/classes/test出力ディレクトリを取得できました。

于 2015-09-07T21:35:51.360 に答える
2

問題が解決しました!

私は何度もgitリポジトリを前後にリセットし、いくつかの後にアイデアを閉じて再度開きました。最後に IDEA の起動中に右上に赤いメッセージが表示されます。それは次のようなことを言っています:プロジェクトにはすでに評価モジュールがあり、評価モジュールを削除したい場合。はい、かなり混乱しましたが、削除をクリックすると問題が消えました。何らかの理由で私は2つの評価モジュールになり、そのうちの1つを削除して出力パスエラーを解決していると思います。

于 2013-10-03T22:35:12.563 に答える
-1

intellijによって作成されたモジュールから.iml2を削除することでこれを解決する同じ問題に直面しています。

于 2017-08-11T13:07:35.130 に答える