# 运行目标

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

对于某些 [run/debug configurations](run-debug-configuration.html)，您可以直接从 IntelliJ IDEA 在另一个环境中运行您的代码，比如云或 [Docker](docker.html) 容器。

运行目标可用于在选定环境中测试代码。

## 前提

用于运行应用程序的环境称为  目标 。 要使 IntelliJ IDEA 在目标上运行代码，目标必须定义一个  语言运行时 ，这是目标上可以被运行/调试配置用来运行代码的部分。 例如，   应用程序   和   Maven   运行/调试配置分别需要 JDK 和 Maven。

为了在目标设备上运行您的代码，您只需要在通常用于本地运行的 [run/debug configuration](run-debug-configuration.html)中定义目标执行环境。 在您完成这一步之后，在目标设备上启动该应用程序与在本地启动它没有区别。

## 支持的运行/调试配置类型

以下 [run/debug configurations](run-debug-configuration.html) 可以在远程目标上运行：

* [应用程序](run-debug-configuration-java-application.html)

* [JAR 应用程序](compiling-applications.html#package_into_jar)

* [JUnit](junit.html)

* [Maven](maven-support.html)（不支持调试、分析和覆盖）

* [Gradle](gradle.html)（不支持调试、分析和覆盖）

* [Spring Boot](run-debug-configuration-spring-boot.html)

* [Quarkus](quarkus.html)

* [Micronaut](micronaut.html)

## 创建运行/调试配置

Procedure:

1. 前往  `运行 | 编辑配置` 。 或者，按 `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))，然后按 `0` (Windows), `0` (macOS), `0` (IntelliJ IDEA Classic (macOS)), `0` (macOS System Shortcuts), `0` (XWin), `0` (GNOME), `0` (KDE), `0` (Emacs), `0` (Sublime Text), `0` (Sublime Text (macOS)), `0` (Visual Studio), `0` (Visual Studio (macOS)), `0` (NetBeans), `0` (Eclipse), `0` (Eclipse (macOS))。

2. 在 [运行/调试配置](run-debug-configuration.html)对话框中，点击工具栏上的   添加  按钮 !["添加"按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.add.svg)或按 `Alt+Insert` (Windows), `⌘ N` (macOS), `⌃ N` (IntelliJ IDEA Classic (macOS)), `⌘ N` (macOS System Shortcuts), `Alt+Insert` (XWin), `Alt+Insert` (GNOME), `Alt+Insert` (KDE), `Alt+Insert` (Emacs), `Ctrl+N` (Sublime Text), `⌘ N` (Sublime Text (macOS)), `Ctrl+N` (Visual Studio), `⌘ N` (Visual Studio (macOS)), `Alt+Insert` (NetBeans), `Alt+Insert` (Eclipse), `⌘ N` (Eclipse (macOS))。 列表显示运行/调试配置 [模板](run-debug-configuration.html#templates)。

3. 选择一种 [受支持的](#supported-rcs) 运行/调试配置类型。

4. 如果您已经定义目标，请从   运行  菜单中选择。 否则，点击   管理目标…   以添加新的目标。 如需了解有关配置特定目标类型的更多信息，请参考以下程序：

* [SSH](#ssh)

* [Docker](#docker)

* [WSL](how-to-use-wsl-development-environment-in-product.html#wsl_run_target)

您还可以在运行/调试配置模板中配置运行目标，这样下次创建该类型的新配置时，其参数就已经有了所需的值。 有关更多信息，请参见 [配置模板的默认值](run-debug-configuration.html#change-template)。

## 运行

Procedure:

在远程目标上运行应用程序的过程与在本地运行它的过程相同：

1. 在主工具栏上选择运行/调试配置。

![从列表中选择运行配置](https://resources.jetbrains.com.cn/help/img/idea/2026.3/run_rc_1.png)

2. 点击 ![运行按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.execute.svg) 或按 `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))。

IntelliJ IDEA 构建工件，然后将它们复制到目标。 之后，它会使用指定的 运行时在目标上运行应用程序。

## 调试、分析性能和分析覆盖率

您可以像在本地运行时一样，对在目标上运行的 Java 应用程序进行 [调试](debugging-code.html)、 [分析](cpu-and-allocation-profiling-basic-concepts.html)和 [测量覆盖率](code-coverage.html)。

> **Note:**
> 当您使用 [Async profiler](profiler-intro.html)时， [Java Profiler 页面的设置](custom-profiler-configurations.html#async-options)适用于远程环境。 如果目标使用不同的平台，则必须相应地配置设置。

## 目标类型

一个  target 描述了应用程序运行环境的配置。

当您创建远程目标时，IntelliJ IDEA 会自动检测远程环境中可用的运行时。 如果需要，您可以手动配置其他运行时。

### SSH

> **Note:**
> 需要安装 FTP/SFTP/WebDAV 连接插件。

Procedure:

1. 选择是否使用现有的 SSH 配置或创建新的配置：

现有:

从   SSH  列表中选择一个现有的 SSH 配置，然后点击   下一步  。 有关配置 SSH 的更多信息，请参阅 [创建 SSH 配置](create-ssh-configurations.html)。

新建:

1.  请输入 SSH 服务器的 IP、监听 SSH 连接的端口，以及您将代表其在服务器机器上运行应用程序的用户名称。 点击   下一步  。

2.

请等待连接建立。 如果存在具有凭证的代理，则无需额外配置。 否则，请选择验证方法并提供所需的值：

* 密码 ：输入密码。

* 密钥对（OpenSSH 或 PuTTY） ：要应用此身份验证方法，您必须在客户端计算机上拥有私钥，并在远程服务器上拥有公钥。 IntelliJ IDEA 支持通过 [OpenSSH](https://www.openssh.com/) 实用程序生成的私钥。 指定存储您 私钥 的文件路径，并在相应字段中输入密码短语（如果有）。 要让 IntelliJ IDEA 记住该密码短语，请选中 保存密码短语 复选框。

点击   下一步  。

> **Tip:**
> 有关使用 SSH 密钥的更多信息，请参阅 [生成新的 SSH 密钥并将其添加到 ssh-agent](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/) 教程。

2. 等待 SSH 服务器自检完成。 在此步骤中，IntelliJ IDEA 尝试识别环境中可用的语言运行时。 点击   下一步  。

3. 配置以下属性：

* 使用 rsync ：切换此选项以使用 [rsync](https://rsync.samba.org)进行文件传输。 建议这样做，因为它通常会加快文件复制的速度。

* 目标上的项目路径 ：服务器上用于存储项目文件的路径。

4. 添加语言运行时。 请为每个 运行时指定其版本和服务器上的路径。 配置的设置随后会出现在   构建并运行  部分，当您选择此环境作为目标时的运行/调试配置中。

以下运行时可用：

* Java ：服务器上适用于运行您的应用程序的 JDK。 选择此运行时类型时，应用程序将在本地构建，然后复制到目标位置。

* Maven ：Maven 已安装在服务器上。 选择此运行时类型时，源代码和库会被复制到服务器，然后在服务器上构建和运行。

### Docker

> **Note:**
> 需要 Docker 插件。 有关更多信息，请参见 [Docker 运行目标](docker-run-targets.html)。

Procedure:

1. 按照 [启用 Docker 支持](docker.html#connect_to_docker) 中的说明选择或配置一个   Docker 服务器  。

2. 对于 Windows 和 macOS——请确保 Docker 可以访问工作流程中使用的所有文件夹，例如项目文件夹、  `.maven`  等。 如需更多信息，请参阅 [官方 Docker 文档](https://docs.docker.com/desktop/)。

3. 选择您是要在本地构建镜像还是从 Docker 注册表拉取。

构建:

* Dockerfile ：用于构建映像的 Dockerfile。

* 上下文文件夹​​​​ ：在构建过程中，可供 Docker 守护程序访问其内容的文件夹，稍后将在镜像文件系统中使用。

* 每次运行代码前自动重建镜像 ：当此选项设置后，每次运行代码时，图像都会重建。 否则，IntelliJ IDEA 将使用已有的镜像（如果有的话）。

此外，您可以指定以下内容：

* 镜像标记 ：指定构建镜像的名称和标签。 类似于使用 `-t` 选项与 `docker build` 。

* 构建选项 ：为 `docker build` 命令指定任意选项。

* 构建参数 ： [重写默认的构建时变量](https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg)。 与使用 `--build-arg` 选项 `docker build` 类似。

* 运行选项 ：为 `docker run` 命令指定任意选项。 > **Note:** > 并非所有 `docker run` 选项都受支持。 如果您希望请求支持某个选项，请在 [IDEA-181088](https://youtrack.jetbrains.com/issue/IDEA-181088) 中发表评论。

拉取:

* 镜像标记 ：指定从镜像仓库拉取镜像的完整坐标。 默认情况下，如果仅指定 repository，则将使用 `:latest` 标签。

* 运行选项 ：为 `docker run` 命令指定任意选项。 > **Note:** > 并非所有 `docker run` 选项都受支持。 如果您希望请求支持某个选项，请在 [IDEA-181088](https://youtrack.jetbrains.com/issue/IDEA-181088) 中发表评论。

4. 等待容器自检完成。 在此步骤中，IntelliJ IDEA 尝试识别环境中可用的语言运行时。 点击   下一步  。

5. 如果需要，配置语言运行时。 您可能在以下情况下需要它：

* 您有一个复杂的映像（例如与几个 JDK 一起）。 主运行时将被自动识别。 但任何附加运行时都需要手动配置。

* 内省失败。 在大多数情况下，IntelliJ IDEA 将根据第 1 步的上下文正确识别主要的运行时。 如果这种情况未发生，请手动修改主运行时。

对于每个运行时，请指定其版本以及在容器中的路径。 当您将此环境选择为目标时，配置的运行时将显示在运行/调试配置的   构建并运行   部分。

以下运行时可用：

* Java ：适合运行您的应用程序的 JDK。 选择此运行时类型时，应用程序将在本地构建，然后复制到目标位置。

* Maven ：容器中的 Maven。 当此 运行时类型被选中时，源代码和库将被复制到容器中，然后在其中构建并运行。

### Docker Compose

您可以将单个 Docker Compose 服务用作运行目标。

> **Note:**
> 需要 Docker 插件。

Procedure:

1. 按照 [启用 Docker 支持](docker.html#connect_to_docker) 中的说明选择或配置一个   Docker 服务器  。

2. 对于 Windows 和 macOS——请确保 Docker 可以访问工作流程中使用的所有文件夹，例如项目文件夹、  `.maven`  等。 如需更多信息，请参阅 [官方 Docker 文档](https://docs.docker.com/desktop/)。

3. 指定 Docker Compose 配置文件，选择所需的服务，并提供任何附加的环境变量。 点击   下一步  。

4. 请等待 Docker Compose 服务内省完成。 在此步骤中，IntelliJ IDEA 尝试识别环境中可用的语言运行时。 点击   下一步  。

5. 如有必要，请配置语言运行时。 这在以下情况下可能是必要的：

* 如果 您 的服务具有多个运行时，IntelliJ IDEA 将自动识别主要运行时。 但任何附加运行时都需要手动配置。

* 如果自省失败，请手动修改主运行时。

对于每个运行时，请指定其版本以及在容器中的路径。 当您将此环境选择为目标时，配置的运行时将显示在运行/调试配置的   构建并运行   部分。

以下运行时可用：

* Java ：如果容器中有可用的 Java 运行时，应用程序将在本地构建，然后复制到目标位置。

* Maven 和 Gradle ：如果容器中有 Maven 或 Gradle，源码和库将会被复制到容器中，并在其中构建和运行。

## See also

### 相关

[创建 SSH 配置](create-ssh-configurations.html) [Docker 运行目标](docker-run-targets.html)

