输出path在相同的模块错误之间共享
当我尝试在我的项目中编译任何类时,出现以下错误:
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中设置输出path,我已经完成了。 但是,由于错误声称它是在同一模块之间共享,我无法解决它。
Obs .:使用Maven和IntelliJ IDEA。
请,谁能帮忙?
所有你需要做的是:
- 同步两个模块(右键单击>同步)
- 重新导入两个模块的pom.xml(右键单击> Maven>重新导入)
请享用
将模块的输出path设置为不同的目录,如下所述: https : //www.jetbrains.com/idea/help/configuring-module-compiler-output.html
On Project "Open Module Settings" -> Modules -> Paths -> Output/Test path
我通过在“项目结构设置”窗口中select“inheritance项目编译输出path”来解决此问题。
-
Files --> Invalidate caches and restart
- closuresintellij
- 删除(exllrally从intellij)
.idea
文件夹(如果你有一个备份runConfigurations
文件夹)。 - 删除
project.iml
文件 - 打开intellij
- 从
pom
或者sbt
再次打开项目(或者你拥有的任何源代码构build工具。
我在多模块项目中的根模块发生过这种情况。 由于根模块只是一个占位符,它实际上并不包含任何代码,但IDEA仍然抱怨说它在testing和生产之间共享输出path( [project]/build
)。
修复是补充
plugins { id "java" }
在root build.gradle
文件的顶部(应用不必要的Java插件)并重新导入项目。 这使得IDEA能够获得Java默认的[project]/build/classes/main
和[project]/build/classes/test
输出目录。
打开模块设置并查找错误。 修正说错误,一切都应该工作。
问题解决了!
我已经多次重新设置和向前移动了我的git仓库,并且在closures了一些之后closures了重新打开的想法。 当最后一个IDEA在开始时在右上方显示一个红色的信息。 它是这样说的:项目已经有一个eval模块,如果我想删除eval模块。 是的,这是相当混乱,但我点击删除,我的问题消失。 我想,由于某种原因,我成为2 eval模块,它删除其中的一个解决输出path错误。
对于Spark项目,IDE创build了_2.11
版本的SBT模块。 我不得不手动删除它们。
我面临同样的问题,我通过从intellij创build的模块中删除.iml2来解决这个问题。