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 中设置输出路径并且我已经做到了。但是由于错误声称它在同一个模块之间共享,我无法解决它。

观察:使用 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 回答
8

我通过在项目结构设置窗口中选择“继承项目编译输出路径”解决了这个问题。

在此处输入图像描述

于 2015-08-28T16:59:59.683 回答
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-default[project]/build/classes/main[project]/build/classes/test输出目录。

于 2015-09-07T21:35:51.360 回答
3

打开模块设置并查找错误。修复上述错误,一切正常。

于 2013-10-14T21:05:42.290 回答
2

问题解决了!

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

于 2013-10-03T22:35:12.563 回答
1

对于 Spark 项目,IDE 创建_2.11了 SBT 模块的版本。我不得不手动删除它们。

于 2017-06-21T11:32:29.313 回答
1

在此处输入图像描述

Idea本身报错,提示已经很明显了,冷静分析即可解决;打开项目结构 --> 模块。删除或重新配置输出路径,电脑最老实

于 2019-03-06T15:26:55.227 回答
0

这真的是对@habitat 对@Corey Klein 回答的评论的回应。如果有足够声誉的人想要编辑,请继续...

每次刷新项目时都重置设置时遇到同样的问题。我的解决方案(使用 Gradle,虽然我猜有一个等效的 Maven 插件)是添加

apply plugin: 'idea'
idea {
    module {
        inheritOutputDirs = true
    }
}
于 2019-03-04T17:11:45.460 回答
0

对于 gradle,我删除 .idea 文件夹并重新打开项目。一切都在恢复。

于 2019-03-27T03:11:17.860 回答
0

我有同一个模块的 2 个不同名称的版本,需要删除一个以避免这种冲突。这对我有用:

在 IntelliJ IDEA 中转到File -> Project Structure -> Modules -> Your Project -> Paths

确保每个模块的“输出路径”和“测试输出路径”位置在所有模块中都是唯一的。如果您有多个具有相同路径的模块,您可以为每个模块指定唯一路径,或者在我的情况下,删除您不需要的模块,因为它是现有模块的副本

于 2019-09-03T11:59:38.560 回答
-1

我面临同样的问题,我通过从 intellij 创建的模块中删除 .iml2 来解决这个问题。

于 2017-08-11T13:07:35.130 回答