输出路径在同一模块错误之间共享

Ale*_*oso 46 scala intellij-idea maven

当我尝试编译项目中的任何类时,我得到以下错误:

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.
Run Code Online (Sandbox Code Playgroud)

我已经看过如何在IDEA中设置输出路径,我已经完成了.但由于错误声称它在同一模块之间共享,我无法解决它.

Obs.:使用Maven和IntelliJ IDEA.

拜托,有人可以帮忙吗?

Yon*_*man 36

你需要做的就是:

  • 同步两个模块(右键单击>同步)
  • 重新导入两个模块的pom.xml(右键单击> Maven>重新导入)

请享用


Dre*_*her 14

将模块的输出路径设置为不同的目录,如下所述:https://www.jetbrains.com/idea/help/configuring-module-compiler-output.html

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

  • 我发现这是一个Gradle插件问题.无论何时重新导入Gradle项目,它都会覆盖您的选择并将它们重新设置为相同. (2认同)
  • 如果您应用`idea`插件,您可以配置模块的输出dirs,或设置`inheritOutputDirs = true`,如[here]所述(https://docs.gradle.org/current/dsl/org .gradle.plugins.ide.idea.model.IdeaModule.html).下次重新导入项目时,您不会丢失设置. (2认同)

Cor*_*ein 8

我通过在"项目结构设置"窗口中选择"继承项目编译输出路径"来解决此问题.

在此输入图像描述


Tom*_*vid 5

  1. Files --> Invalidate caches and restart
  2. 关闭智能
  3. 删除(外部来自 intellij).idea文件夹(runConfigurations如果您有备份文件夹)。
  4. 删除project.iml文件
  5. 打开智能
  6. 从pom或从sbt(或您拥有的任何源构建工具)再次打开项目。


Ale*_*oso 2

问题解决了!

我已经多次向后和向前重置我的 git 存储库,并在其中一些之后关闭重新打开想法。当 IDEA 最终启动时,它会在右上角显示一条红色消息。它说的是这样的:该项目已经有一个 eval 模块,如果我想删除 eval 模块。是的,这很令人困惑,但我点击删除,我的问题就消失了。我想由于某种原因我使用了 2 个 eval 模块,并且它删除了其中一个来解决输出路径错误。

  • 我猜你的修复相当于打开 `.idea/modules.xml` 并删除重复的模块。 (3认同)