【问题标题】:"Cannot start compilation: the output path is not specified for module..."“无法开始编译:没有为模块指定输出路径...”
【发布时间】:2014-07-04 12:26:28
【问题描述】:

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

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

我的“编译器输出”设置为“继承项目编译输出路径”。我不想要自定义输出路径,不管是什么,只要做一个正常的 gradle 构建并运行。

【问题讨论】:

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

标签: java intellij-idea gradle intellij-13


【解决方案1】:

您只需转到您的Module settings > Project 并指定“项目编译器输出”并让您的模块继承自项目。 (为此请转到Modules > Paths > Inherit project

这对我有用。

【讨论】:

  • 好吧,不选择 Inherit Project 选项对我有用
  • 为什么它不能自己解决这个问题。每个人都说 IntelliJ 比 Eclipse 好,但根据我的经验,它不能独立思考。
  • 仅供参考,我发现在 IntelliJ 中您执行 File > New > Module... 并创建 Java 模块,默认情况下应设置输出路径。
  • 如果这似乎不起作用,请不要忘记重新启动 IntelliJ。为我修好了。
【解决方案2】:

您必须在

的“项目编译器输出”字段中定义一个路径

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

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

【讨论】:

    【解决方案3】:

    我正在回答这个问题,以便在我必须再次谷歌此错误时找到解决方案。

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

    【讨论】:

      【解决方案4】:

      在gradle中配置idea插件时,需要定义输出目录如下。

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

      【讨论】:

      • 看起来不错。我要把这个配置放在什么文件里?
      • 你应该把它放到你项目中的build.gradle文件中。
      【解决方案5】:

      如果上述方法都不起作用,那么试试这个对我有用。

      转到 File > Project Structure> Project 然后在 Project Compiler Output 单击三个点并提供您的项目名称的路径(文件名)然后点击Apply,然后点击Ok

      【讨论】:

      • 你的答案中没有图片。
      • @priyanshu : 说真的,你的帖子里没有图片。
      【解决方案6】:

      打开 .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" />
      

      【讨论】:

        【解决方案7】:

        要做两件事:

        1. 项目设置> Project compiler output > 设置为“项目路径(你实际项目的路径)”+”\out”。

        2. 项目设置>模块>路径>选择“Inherit project compile path

        【讨论】:

          【解决方案8】:

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

          我安装了 2 个开发工具包:Amazon Corretto 和 java 版本 11.0.4 因此,当我遇到此错误时,我所做的是“更改 SDK”,它通常与 Corretto 一起工作正常

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

          希望这对你也有用

          最好, 康斯坦丁

          【讨论】:

            【解决方案9】:

            之后

            要做两件事:

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

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

            如果按钮运行未激活

            你必须重新加载 IDEA

            【讨论】:

              【解决方案10】:

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

              【讨论】:

                【解决方案11】:

                更改下拉菜单以开始归档您的项目

                【讨论】:

                  【解决方案12】:

                  由于缺少用于存储已编译类文件的预定义文件夹而导致的错误,默认情况下通常是 /out 文件夹。您可以尝试关闭 Intellij > Import Project > From existing source。这将解决这个问题。

                  【讨论】:

                    猜你喜欢
                    • 2011-01-02
                    • 1970-01-01
                    • 2012-09-16
                    • 2010-12-30
                    • 2014-02-12
                    • 1970-01-01
                    • 1970-01-01
                    • 2022-10-25
                    • 2013-05-19
                    相关资源
                    最近更新 更多