“无法开始编译:未为模块指定输出路径...”


108

我有一个非常简单的Java + Gradle项目。它构建良好。它可以通过“ gradle run”从外壳正常运行。但是,如果尝试在IntelliJ内部运行,则会得到:

Cannot start compilation: the output path is not specified for module "xyz" Specify the output path in Configure Project.

我的“编译器输出”设置为“继承项目编译输出路径”。无论如何,我都不需要自定义输出路径,只需执行常规gradle构建并运行即可。


1
从IntelliJ运行代码时,它将由IntelliJ而不是Gradle进行编译和运行,并且将使用其他构建输出目录。(Android是另一回事。)但是,如果正确导入了Gradle构建,则应该已经配置了IntelliJ输出目录。
Peter Niederwieser 2014年

Answers:


102

您只需要转到Module settings > Project并指定“项目编译器输出”,并使模块从项目继承即可。(为此转到Modules > Paths > Inherit project

这帮了我大忙。


20
好吧,没有选择Inherit Project对我
有用

6
为什么不能自己解决这个问题。所有人都说IntelliJ比Eclipse更好,但以我的经验,它无法自己考虑。
安德鲁·S

仅供参考,我发现在IntelliJ中,您执行文件>新建>模块...并创建Java模块,默认情况下应设置输出路径。
J Woodchuck

如果这似乎不起作用,请不要忘记重新启动IntelliJ。为我修复。
科比·费舍尔

97

您必须在“ 项目编译器输出 ”字段中 定义路径

File> Project Structure...> Project>Project compiler output

此路径将用于存储所有项目编译结果


10

在gradle中配置Idea插件时,应按如下所示定义输出目录。

idea{
    module{
        inheritOutputDirs = false
        outputDir = compileJava.destinationDir
        testOutputDir = compileTestJava.destinationDir
    }
}

看起来很棒。我要将此配置放入哪个文件?
粘土

您应该将其放在项目中的build.gradle文件中。
lemiorhan 2014年

10

我正在回答这个问题,以便当我不得不再次搜索此错误时可以找到解决方案。

将项目编译输出路径设置为path_of_the_project_folder/out。今天就是这样。intellj文档使我们似乎可以选择任何文件夹,但事实并非如此。


7

如果以上方法均无效,请尝试使用此方法。

转到“ 文件”>“项目结构”>“项目”,然后在“ 项目编译器输出”中单击三个点,并提供您的项目名称(文件名)的路径,然后单击“ 应用”,然后单击“ 确定”

就像照片中的贴子一样。


8
您的答案中没有图片。
詹姆斯·怀特利

2
@priyanshu:严重的是,您的帖子中没有图片。
Pawan

4

打开.iml文件。查找关键字“ NewModuleRootManager”。检查属性“ inherit-compiler-output”是否设置为true。如果未设置为true。

像这样 :

component name="NewModuleRootManager" inherit-compiler-output="true">
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" />


1

在这之后

有两件事要做:

项目设置>项目编译器输出>将其设置为“项目路径(您实际项目的路径)” +“ \ out”。

项目设置>模块>路径>选择“继承项目编译路径””

如果按钮运行无效

您必须重新加载IDEA


0

在我在此处运行命令“ gradle cleanIdeaModule ideaModule”信息之前,没有任何建议对我有用:https ://docs.gradle.org/current/userguide/idea_plugin.html



0

在不使用模板的情况下在IntelliJ中创建项目时,我也会收到此错误。

我安装了2个SDK:Amazon Corretto和Java版本11.0.4,因此,当我遇到此错误时,我要做的是“更改SDK”,它通常可以与Corretto正常工作

要做到这一点,你需要点击文件(的IntelliJ)/项目结构/项目/工程SDK:从下拉列表中选择corretto(或检查您的计算机的选项),如在这里

希望这也会对你有用

最好,康斯坦丁


0

由于缺少商店编译的类文件的预定义文件夹而导致的错误,该默认情况下通常是/ out文件夹。您可以尝试关闭Intellij>导入项目>从现有源。这样可以解决这个问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.