【问题标题】:IntelliJ IDEA run/debug just one fileIntelliJ IDEA 只运行/调试一个文件
【发布时间】:2014-12-15 13:10:10
【问题描述】:

我在 IntelliJ IDEA 中有一个 JAVA 项目,它有多个包。但是我的包中有些文件有自己的main()方法,可以自己运行。

但是,如果我右键单击给定文件并选择“调试/运行 File.main()”,IntelliJ 将尝试构建包中的所有文件,无论它们是否包含在内。

有没有办法只运行那个文件?

【问题讨论】:

  • Rainmaker 的回答很好。使用外部工具,一个文件在运行/调试之前自动编译。但是对于meistermeier的回答,需要两个步骤:手动编译文件,然后运行它。
  • 如果你有一个从 Gradle 或 Maven 导入的“Name.test”模块,请确保你的“Name.main”模块已从其依赖项中删除,这样它就不会尝试编译它。跨度>

标签: java debugging intellij-idea


【解决方案1】:

您可以在运行配置中删除 Make 任务。但是您必须在启动之前手动编译单个类(右键单击或构建 -> 编译你的类)。

或者,如果您需要多个类,您甚至可以尝试编译整个项目。如果您对损坏的类没有依赖关系,这可能会起作用。

【讨论】:

  • 工作就像魅力一样,我需要再等一分钟才能接受答案!
  • 如何在 IntelliJ IDEA 中进行运行配置?
  • 您只需要打开运行配置设置(工具栏中的下拉菜单或 shift + alt + F10 -> 编辑配置)。选择您要运行的配置并删除底部的 make 条目(在启动部分之前)。如果您从未运行过您的项目/目标类,请右键单击可执行类并选择“创建 ”。
  • 我在运行配置中没有看到任何“制作”任务。相反,它有“构建”,删除了我可以在每个文件中运行 main()。
  • 对于我的 IntelliJ,它是“发布前”部分下列出的“构建”选项。删除它后,可以运行单个类,而不会发生任何冲突。
【解决方案2】:

在 IntelliJ IDEA 中运行单个文件:

方式一:

右键单击编辑区域中的某处并选择运行“ClassName.main()”。假设您要运行 HelloWorld,您应该执行以下步骤:

  1. 右键单击编辑区域中的某处
  2. 从上下文菜单中选择运行“HelloWorld.main()”

方式 2:

  1. 在编辑器中打开文件
  2. Ctrl+Shift+F10

【讨论】:

  • 这是一个非常方便的解决方案。 +1
  • 除了问题的作者明确表示他不希望构建所有文件,并且此建议构建所有内容(除非您之前已根据 meistermeier 的要求从运行配置中删除了“make”命令回应)。
【解决方案3】:

我也在寻找同样的东西。谷歌让我先讨论这个话题,所以我会在这里发布我的解决方案。

可以通过自定义工具替换运行配置中的“Make”。

删除“Make”并单击加号。现在选择“运行外部工具”。再次单击加号以创建新的自定义工具。

指定您的命令行 Java 编译器并将输出目录设置为宏 $OutputPath$。

这是我的配置:

现在,指定它在启动前运行:

非常适合我的目标。

【讨论】:

    【解决方案4】:

    这是一个以 Maven 为中心的解决方案。

    默认的 Intellij 行为是重新制作整个项目,这真的很烦人。我发现自己添加了一个快速测试类来经常运行,而且我总是必须:

    1. 从自动生成的运行配置中删除构建项目设置。这是在它尝试构建所有内容之后。
    2. Shift-Meta F9(或等效键)仅构建手头的类
    3. 运行调试配置。

    这仍然不会构建 模块。所以,这就是我现在要做的。

    • 从默认运行配置中移除默认的构建项目设置,这样您就不会在每次自动创建新配置时触发它。
    • 使用 Maven(或 Gradle)
    • 设置运行配置以运行模块的 maven 编译目标

    现在,每次我调试时,只有模块编译,并且增量编译。

    【讨论】:

      【解决方案5】:

      注意,我有这样一个令人费解的问题。 我有一个 Eclipse 创建的 java 项目,现在我用 IdeaJ 打开它,问题是 如果你只是打开项目目录并没有将其作为新项目导入,每个文件右键菜单上都没有运行选项

      只有从现有目录创建新项目,才能在 IdeaJ 中运行单个 java 文件,否则将无法执行您想要的操作。

      我希望这个提示对你有所帮助,因为它让我很困扰。

      【讨论】:

        【解决方案6】:

        如果您使用 gradle,这些技巧都不起作用。 这是因为 gradle 控制构建的内容。

        如果您设置一个项目,则整个项目都会构建。 创建子模块以便将一组文件彼此隔离。

        要做到这一点.. 右键单击项目的基础并选择新建 -> 模块

        将您的 Java 类文件移到那里。它们将独立于您的项目或其他子模块中的其他文件构建和运行。

        【讨论】:

          猜你喜欢
          • 2016-05-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多