# 教程：运行 Java 应用程序

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

本教程介绍如何在 IntelliJ IDEA 中运行 Java 应用程序。

在此过程中，你将了解如何使用运行/调试配置来控制应用程序的启动方式。 你还将熟悉 IntelliJ IDEA 中用于运行应用程序的主要功能，例如保存运行配置、将程序输出保存到文件，以及添加自定义虚拟机选项。

对于本教程，只需要具备 Java 基础知识。 本教程使用 [Java 25](https://openjdk.org/projects/jdk/25/) 语法。

Procedure: 创建一个新的项目

1. 启动 IntelliJ IDEA。

在 IntelliJ IDEA 主屏幕上，点击  `新建 | 项目` 。 如果已经打开了项目，请从主菜单中选择  `文件 | 新建项目` 。

2. 在左侧的   新建项目   列表中，选择   Java  。 为项目指定一个名称（例如，  `RunApplication` ）。

3. 选择   Maven   作为   构建系统  ，并选中   添加示例代码   复选框。

4. 从   JDK   列表中，选择最新可用的 Oracle OpenJDK 版本。

如果 JDK 已安装在您的计算机上，但未在 IDE 中定义，请选择   添加 JDK   并指定 JDK 主目录的路径。

如果您的计算机上没有所需的 JDK，请选择   下载 JDK  。

5. 点击   创建  。

![创建新项目](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-project.png)

之后，IDE 将为您创建并加载新项目。

Procedure: 运行应用程序

1. 项目创建后，在   项目  工具窗口（ `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))）中找到  `src | main | java | org.example | Main.java` 文件，并在编辑器中打开。

2. 将现有代码替换为以下代码示例：

```JAVA
package org.example;

import java.util.stream.Stream;

public class Main {
    static void main(String[] args) {
        Stream.iterate(1, i -> i + 1)
                .limit(10)
                .forEach(System.out::println);
    }
}

```

3. 在编辑器中，点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.gutter.run.svg) 装订区域图标以运行应用程序，并选择   运行 'Main.main()'  。

![运行应用程序](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-gutter-run.png)

IntelliJ IDEA 会运行代码，并在 [运行

工具窗口](run-tool-window.html)中显示输出。 应用程序已成功运行，因此会在输出中看到  `Process finished with exit code 0`  消息。

![应用程序已编译](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-successful.png)

当您点击   运行  时，IntelliJ IDEA 创建了一个临时的 [运行配置](run-debug-configuration.html)，命名为  `主要` 类。 它定义了运行应用程序的入口点和参数。 到目前为止，尚未使用任何启动形参，但稍后会添加。

默认情况下，临时配置数量限制为 5 个，所以在添加新配置时，旧配置会被自动删除。 因此，保存想要保留的临时配置是有意义的。

> **Tip:**
> 可以在  `设置 | 高级设置 | 运行/调试 | 临时配置限制`  中更改临时配置的最大数量。

Procedure: 保存运行配置

1. 在主菜单中，前往  `运行 | 编辑配置` 。

2. 在   应用程序   列表中，选择   主要   配置，然后点击上方工具栏上的 ![保存配置](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.save.svg)   保存配置  。 IDE 将保存创建的运行配置。 不要关闭对话框。

临时配置的图标是透明的。 保存后，   主要   的图标会变为实心。

![保存运行配置](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-save.png)

> **Tip:**
> 在   运行/调试配置   对话框中启用   存储为项目文件   选项，以将运行配置置于 [版本控制](version-control-integration.html)之下，并与其他项目贡献者共享。

Procedure: 将控制台输出保存到文件

现在让我们复制此配置并予以修改，以便 IDE 每次运行该配置时将控制台输出保存到文件中。 如果您使用控制台输出进行日志记录，这可能会很有用。

1. 在   应用程序   列表中，选择   主要   配置，然后点击工具栏上的 ![](https://resources.jetbrains.com/help/img/idea/2026.3/console.txt` 。

![将控制台输出保存到文件](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-console-output.png)

5. 应用更改并关闭对话框。

从现在起，每次运行此配置时，IDE 都会将控制台输出保存到  `console.txt`  文件。

Procedure: 运行已保存的配置

1. 选择  `SaveConsoleOutput` （位于窗口页眉中的 [运行微件](guided-tour-around-the-user-interface.html#toolbar)），然后点击其旁边的 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.run.run.svg)   运行"SaveConsoleOutput"原样  ，或按 `Shift+F10` (Windows), `⌃ R` (macOS), `⇧ F10` (IntelliJ IDEA Classic (macOS)), `⌥ ⇧ R` (macOS System Shortcuts), `Shift+F10` (XWin), `Shift+F10` (GNOME), `Shift+F10` (KDE), `Shift+F10` (Emacs), `Shift+F10` (Sublime Text), `Shift+F10` (Sublime Text (macOS)), `Ctrl+F5` (Visual Studio), `⌃ F5` (Visual Studio (macOS)), `F6` (NetBeans), `Alt+Shift+X` (Eclipse), `⌘ ⇧ F11` (Eclipse (macOS))。

![运行配置](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app_widget.png)

2. IDE 完成运行该配置后，在   项目   工具窗口中找到包含控制台输出的新文件，并确保其中有应用程序的输出。

![控制台输出已保存到文件](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-output-saved.png)

> **Tip:**
> 如果您将日志存储在项目目录中，请将日志文件夹添加到 [.gitignore](set-up-a-git-repository.html#ignore-files)中，以避免通过 VCS 共享。 还可以将该文件夹标记为 [已排除](content-roots.html#exclude-files-folders)，以将其从项目分析和搜索中排除。

运行配置允许您使用不同的参数运行相同的应用程序。 现在您有了两种配置，您可以根据需要进行选择。 例如，如果您每次运行应用程序时都不需要保存控制台输出，您可以运行没有此设置的  `主要`  配置。

按 `Alt+Shift+F10` (Windows), `⌃ ⌥ R` (macOS), `⌥ ⇧ F10` (IntelliJ IDEA Classic (macOS)), `⌃ ⌥ R` (macOS System Shortcuts), `Alt+Shift+F10` (XWin), `Alt+Shift+F10` (GNOME), `Alt+Shift+F10` (KDE), `Alt+Shift+F10` (Emacs), `Alt+Shift+F10` (Sublime Text), `⌃ ⌥ R` (Sublime Text (macOS)), `Ctrl+Alt+Shift+R` (Visual Studio), `⌘ ⌥ ⇧ R` (Visual Studio (macOS)), `Alt+Shift+F10` (NetBeans), `Alt+Shift+F10` (Eclipse), `⌃ ⌥ R` (Eclipse (macOS)) 或使用窗口顶部的运行小部件在配置之间切换：

![运行小部件切换器](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-run-switcher.png)

让我们来看看另一种情况。

Procedure: 更改代码

想象一下，我们的代码示例有一个问题。

1. 在  `Main.java`  文件中，删除：

```JAVA
Stream.iterate(1, i -> i + 1)
    .limit(10)
    .forEach(System.out::println);

```

相反，粘贴以下代码：

```JAVA
var list = Stream.iterate(1, i -> i + 1)
  .toList();
System.out.println(list.size());

```

2. 在编辑器中，点击 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.gutter.run.svg) 装订区域图标以运行应用程序，并选择   运行 'Main.main()'  。

应用程序运行数秒后因  `OutOfMemoryError`  失败。 程序会创建一个无限整数流，然后尝试使用  `toList()`  方法将其收集到列表中。 由于该流是无限的，  `toList()`  方法永远不会返回，程序将持续消耗内存直到失败。

![应用程序因 OutOfMemoryError 失败](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-failed.png)

如果应用程序因  `OutOfMemoryError`  而失败，可以添加一个虚拟机选项，以便在崩溃前将内存转储到  `.hprof`  文件中。 稍后，我们将能够使用内置的 [profiler](profiler-intro.html) 对此文件进行详细分析。

Procedure: 添加虚拟机选项

1. 在主菜单中，前往  `运行 | 编辑配置` 。

2. 在   应用程序   列表中，点击   主要   配置，然后点击工具栏上的 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.copy.svg)   复制配置   以克隆该配置。 将新配置重命名为  `内存不足` 。

3. 打开   修改选项   列表并点击   添加 VM 选项  。

4. 对话框中会出现   VM 选项  字段。 在该字段中，添加以下选项，并用空格隔开：

`-Xmx512m -XX:+HeapDumpOnOutOfMemoryError`

![应用程序因 OutOfMemoryError 失败](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-memory-configuration.png)

`-XX:+HeapDumpOnOutOfMemoryError`  指定在应用因  `OutOfMemoryError`  崩溃时应创建堆转储文件，而  `-Xmx512m`  会将堆的大小设置为 512 MB，以使堆转储文件不会太大。

5. 应用更改并关闭对话框。

6. 选择   内存不足  （位于 [运行微件](guided-tour-around-the-user-interface.html#toolbar) 中），然后点击其旁边的 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.run.run.svg)   运行"OutOfMemory"原样  ，或按 `Shift+F10` (Windows), `⌃ R` (macOS), `⇧ F10` (IntelliJ IDEA Classic (macOS)), `⌥ ⇧ R` (macOS System Shortcuts), `Shift+F10` (XWin), `Shift+F10` (GNOME), `Shift+F10` (KDE), `Shift+F10` (Emacs), `Shift+F10` (Sublime Text), `Shift+F10` (Sublime Text (macOS)), `Ctrl+F5` (Visual Studio), `⌃ F5` (Visual Studio (macOS)), `F6` (NetBeans), `Alt+Shift+X` (Eclipse), `⌘ ⇧ F11` (Eclipse (macOS))。

运行   工具窗口打开，向您展示  `OutOfMemoryError`  异常已被抛出。 由于我们已配置相应的 VM 选项，IDE 已在您的项目目录中创建了一个  `.hprof`  文件。

![已创建 .hprof 文件](https://resources.jetbrains.com/help/img/idea/2026.3/run-java-app-hprof.png)

> **Tip:**
> 双击创建的  `.hprof`  文件以使用 [profiler](profiler-intro.html) 分析它。

## 总结

通过本教程，您已经学会了如何：

* 在 IntelliJ IDEA 中运行 Java 应用程序

* 创建和管理运行配置

* 将控制台输出保存到文件

* 在运行配置中添加虚拟机选项

## 后续步骤

通过这些教程了解如何在 IntelliJ IDEA 中完成其他任务:

* [教程：JUnit 入门](junit.html)

* [教程：调试您的第一个 Java 应用程序](debugging-your-first-java-application.html)

* [教程：在 IntelliJ IDEA 中开始使用 Git](working-with-git-tutorial.html)

完整教程列表请参阅 [IntelliJ IDEA 教程](instance-tutorials.html)。

## See also

### 外部链接

[Java HotSpot VM Command-Line Options](https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/clopts001.html)

### 相关

[运行/调试配置](run-debug-configuration.html) [日志](setting-log-options.html) [Java Development Kit (JDK)](sdk.html#jdk) [性能分析简介](profiler-intro.html)

### 参考

[运行/调试配置：应用程序](run-debug-configuration-java-application.html)

