Java &引用;无法开始编译:未为模块指定输出路径…“;

Java &引用;无法开始编译:未为模块指定输出路径…“;,java,intellij-idea,gradle,intellij-13,Java,Intellij Idea,Gradle,Intellij 13,我有一个非常简单的Java+Gradle项目。它建造得很好。它在外壳上使用“gradle run”运行良好。但是,如果我尝试在IntelliJ内部运行,我会得到: Cannot start compilation: the output path is not specified for module "xyz" Specify the output path in Configure Project. 我的“编译器输出”设置为“继承项目编译输出路径”。我不想要自定义的输出路径,不管是什么,只

我有一个非常简单的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构建和运行即可。

在gradle中配置idea插件时,您应该定义如下输出目录

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

您只需转到
模块设置>项目
,指定“项目编译器输出”,并使模块从项目继承。(为此,请转到
模块>路径>继承项目

这对我起到了作用。

打开.iml文件。 查找关键字“NewModuleRootManager”。检查属性“继承编译器输出”是否设置为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" />
component name=“NewModuleRootManager”继承编译器输出=“true”>

在我运行命令“gradle cleanIdeaModule ideaModule”信息之前,所有建议都不适用于我:

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

文件
>
项目结构…
项目
>
项目编译器输出


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

我回答此问题是为了在再次搜索此错误时找到解决方案

将project compile output path设置为\u project\u文件夹/out的
path\u。这就是今天的工作方式。

intellj文档使我们看起来可以选择任何文件夹,但事实并非如此。

如果上述方法均无效,请尝试此方法,它对我有效

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

要做的两件事:

  • 项目设置>>将其设置为“项目路径(您实际项目的路径)”+“\out”

  • 项目设置>模块>路径>选择“”


  • 更改下拉列表以启动项目文件


    在IntelliJ中创建项目而不使用模板时,我也会遇到此错误

    我安装了两个SDK:Amazon Corretto和java 11.0.4版 因此,当我出现这个错误时,我会做的是“更改SDK”,它通常可以与Corretto一起正常工作

    为此,您需要单击文件(在IntelliJ中)/项目结构/项目/项目SDK:从下拉列表中选择corretto(或选中计算机中的选项),如图所示

    希望这对你也有用

    最好的,
    Constantin

    由于缺少存储编译类文件的预定义文件夹(默认情况下通常为/out文件夹)而导致的错误。您可以尝试从现有源关闭Intellij>导入项目>。这将解决此问题。

    之后

    有两件事要做:

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

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

    如果按钮未处于活动状态


    当从IntelliJ运行代码时,您必须重新加载IDEA

    ,它将由IntelliJ而不是Gradle编译和运行,并将使用不同的构建输出目录(Android则是另一回事)但是,如果Gradle版本导入正确,IntelliJ输出目录应该已经配置好了。看起来很好。我应该将此配置放在哪个文件中?你应该将它放在项目中的build.Gradle文件中。好吧,不选择
    Inherit project
    选项对我来说很有效。为什么它自己不能解决这个问题呢?每个人都说IntelliJ比Eclipse好,但以我的经验来看,它无法独立思考。仅供参考,我发现IntelliJ中您可以执行一个文件>新建>模块…并创建一个Java模块,默认情况下应该设置输出路径。如果这似乎不起作用,请不要忘记重新启动IntelliJ。为我修复了它。您的答案中没有图片。@priyanshu:Serio哦,你的帖子里没有图片。这对我有用。谢谢