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

Posted

技术标签:

【中文标题】“无法开始编译:没有为模块指定输出路径...”【英文标题】:"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 输出目录。 【参考方案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】:

要做两件事:

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

    项目设置>模块>路径>选择“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。这将解决这个问题。

【讨论】:

以上是关于“无法开始编译:没有为模块指定输出路径...”的主要内容,如果未能解决你的问题,请参考以下文章

重定向标准错误到标准输出 是啥意思

js如何写输入输出

wincc画面输入输出域,只能连接输出

怎样去掉提示:nohup:重定向标准错误到标准输出

python输出星号只输出奇数行

串行输入输出和并行输入输出的区别解析