无法在IntelliJ IDEA中运行Java代码。

88

我刚刚下载了IntelliJ IDEA,想用它编辑我的第一个Java文件。我不想创建整个项目,只是编辑单个文件。

所以,我用Intellij IDEA从桌面打开了该文件,并将其设置为默认程序以打开.java文件。

我写了一些代码,但主运行和调试按钮都变灰了!我无法运行我的代码!

我已经安装了Java 8更新45的64位版本(我有一个64位操作系统),以及Java开发工具包(J8U45)。我将我的全局IDE SDK设置为我的JDK安装,当它提示我时,我也将此设置为我的项目SDK,但仍然无法使用运行和调试按钮!

编辑1:
无论文件是否在项目中,我也无法运行它。

编辑2:
我的项目设置截图。 更大的项目设置 运行图标 项目设置


4
创建一个项目,然后创建一个Java模块。将你的类放在那里并执行它。如果你只需要IDE编辑Java文件,相应地编辑该文件,然后使用javac编译它,并使用java WhateverTheNameOfYourClass执行类。 - Luiggi Mendoza
我也尝试了那个,但是当我这么做时,我无法创建一个Java文件,最接近的是Java类文件(因为这是一个小项目,所以我只需要一个文件而不是多个类),它说无法创建类文件。 - Adam Griffiths
尝试在您的项目中添加源代码根目录。将您的Java文件放置在其中。 - vikingsteve
什么是javac?每次想要运行程序时都需要编译似乎很奇怪,因为在其他编程语言中,我可以在IDE中即时运行代码而无需编译。我还设置了源根目录,但它仍然不允许我运行文件。 - Adam Griffiths
你确定你有一个Java模块,并且在这个项目中配置了正确的JDK吗? - Luiggi Mendoza
显示剩余2条评论
14个回答

89

将您的代码移动到 src 文件夹中。一旦移动到该位置,每次保存时就会即时编译。

IntelliJ 只认可特定位置内的文件作为项目的一部分 - 也就是说,蓝色文件夹中的任何内容都被明确视为源代码。

此外 - 虽然我无法看到您的全部源代码,请确保其为合适的 Java 语法,具有与文件相同的类,并且包含一个 main 方法(具体来说是 public static void main(String[] args))。没有 main 方法,IntelliJ 将无法运行代码(或者可以说 Java 不知道从哪里开始)。


5
已完成并更新了截图以反映新文件移动。然而,运行命令仍无法使用,因为我尚未打开菜单,所以您无法看到我的代码。 - Adam Griffiths
请确保项目的模块设置为Java JDK。否则,请在代码中唯一可执行的行上设置断点并进入调试模式。如果这样可以运行,那么您就能够运行代码(如果您运行此代码,则不会得到任何输出,因为没有打印任何内容)。 - Makoto

83

我的类包含一个main()方法,但我无法看到运行选项。一旦我将包含我的类文件的文件夹标记为源文件夹,该选项就会启用:

  1. 右键单击包含您源文件的文件夹
  2. 选择标记目录为→ 测试源根

我的文件夹中有些类没有main()方法,但是我仍然可以看到这些类的运行选项。


1
这绝对应该是被接受的答案!谢谢! - Conjecture

36

右键点击 "SRC 文件夹",选择 "标记目录为",选择 "资源根目录"。

然后编辑运行配置。选择 Run,run,edit configuration,在加号按钮中添加一个应用程序配置,给它一个名称(可以是任何名称),在主类中写下主要的 java 类的完整名称,例如:com.example.java.MaxValues。

你可能还需要检查文件、项目结构、项目设置-项目,为编译器输出指定一个文件夹,最好是一个单独的文件夹,在 java 文件夹下面。


11
我认为"src"文件夹应该标记为"源代码根目录"而不是"资源根目录",但除此之外,这就是正确的答案。 - arenaq
实际上,我发现src/main/java应该被标记为源代码根目录。然后,src/main/resources是资源根目录,而src/test/javasrc/test/resources分别是测试源代码根目录和测试资源根目录。 - Ethan T
我从Github克隆了一个项目,但它没有将文件夹设置为源文件夹,所以我不得不手动完成这个步骤。然后我才能够配置编译选项。 - testing_22

14

在您的主方法中不要忘记String[] args。否则,将无法运行您的程序:

public static void main(String[] args) {

}

5
main 函数的正确声明在图片中可见。 - Makoto
2
那些真的真的真的很小,我没看到。 - Ken Ratanachai S.
2
你本可以在单独的标签页中打开这张图片。它肯定在那里,只是你没有找到。 - Makoto
我遇到了如下错误: 要查看完整的错误堆栈跟踪,请使用 -e 开关重新运行 Maven。 [ERROR] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。 - Azhar Uddin Sheikh

8

我曾经遇到过类似的问题,通过以下步骤解决了它。

  1. 进入 "Run" 菜单,选择 "Edit configuration"
  2. 点击加号 (+) 并从列表中选择 "Application"。
  3. 在配置中命名您的主类: 您的主类名称。
  4. 工作目录:应该指向项目 src 文件夹。 例如: C:\Users\name\Work\ProjectName\src

    这就是我遇到问题的地方,纠正后,我可以看到运行该类的选项。


1
作为最后的选择,当其他方法都无效时:关闭并重新打开IntelliJ。
我的问题是关于Git提交的还原,这个提交改变了配置为项目配置的Java SDK到一个不再安装的JDK版本。但即使修复回来也不能运行程序。重启IntelliJ解决了这个问题。

1

我还尝试了以下方法:

  1. 右键单击包含主文件的src文件夹
  2. 你会看到一个名为“run 'file.main()”带有运行图标的选项。
  3. 单击它,然后从此时起,右上角和左下角的运行图标将变为绿色。

1
有时候,耐心是关键。 我曾经遇到一个Java项目的问题,其中包含大量的node_modules和.m2目录。 索引很长,所以我暂停了它,这阻止了我使用运行配置。 因此,我等待索引完成后才能运行我的主类。

1
如果您无法运行正确的程序并尝试了所有其他答案,请点击"编辑配置",然后按照以下步骤操作:
  1. 单击添加图标并从列表中选择"应用程序"。
  2. 在配置名称中命名您的主类:作为您的主类名称。
  3. 将工作目录设置为您的项目目录。
  4. 其他:保留默认值,然后单击应用。现在您可以运行程序。输入图像描述

这个添加图标在哪里? - Line

1

-首先将您的代码文件移动到“src”文件夹中

-确保您的Main方法声明如下所示

   public class Main {
         public static void main(String []args){


       }
    }

然后:

  • 进入项目配置
  • 选择Java应用程序
  • 勾选允许并行运行
  • 选择您的主类

这样就可以了。


这对我来说是一个很好的提示,但似乎可能是针对不同于我所拥有的版本,但我不确定。我点击了应用程序右上角附近的“添加配置”按钮。从那里,我选择了“应用程序”,然后填写了项目名称并指定了main类。我还勾选了“存储为项目文件”选项(也许是为了保存设置)。点击应用后,我现在可以运行该项目。耶! - Nathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接