【问题标题】:Is there a way to run multiple Spring Boot applications with a single Running Configuration in IntelliJ IDEA?有没有办法在 IntelliJ IDEA 中使用单个运行配置运行多个 Spring Boot 应用程序?
【发布时间】:2016-07-03 12:12:53
【问题描述】:

我在一个 IntelliJ 项目中有多个 Spring Boot 应用程序。我希望有一个按钮以某种顺序运行所有这些。

我知道在启动原始选项之前有一个Run Another configuration 选项,因此可以链接配置。

但是当我使用它时,它会运行另一个配置并且不会运行原始配置。

所以我想知道是否有人遇到过这个问题以及它是如何解决的?

【问题讨论】:

  • 您是否尝试过制作一个脚本(bash/bat 等)来运行它们,然后只运行脚本?
  • 或安装了this plugin? 不确定它的可信度/好坏程度,但它的存在就是为了这个目的......
  • @Harmelodic 是的,脚本是一个不错的选择,但我觉得应该在 IDEA 中提供解决方案。它确实存在:)
  • Compound 更适合开发和脱离 IDEA,但如果您想错开启动,以及将来可能自动化部署(通过 CI 服务器等),脚本可能是一种更好的选择。或者两者的结合;最大限度地发挥两个系统的效率和优势!

标签: java intellij-idea spring-boot run-configuration


【解决方案1】:

您可以创建一个Compound 运行类型并将所有应用程序添加到其中。这样,您只需运行该配置,您的所有应用都会启动。

【讨论】:

  • 谢谢,效果很好。我心中唯一的问题是,是否有办法增加一些延迟或告诉一项服务等到另一项服务启动。例如,我有其他服务需要的配置服务,我想确保我所有的依赖服务不会因为配置仍在启动而失败。
  • 谢谢你,你真漂亮!与创建可执行 jar 并分别运行每个 jar 的 gradle 脚本相比,修复速度要快得多...确定每个应用程序何时位于不同模块中非常耗时...
【解决方案2】:

2016 年 4 月更新:

Multirun 插件 说: 从 IntelliJIdea 15 https://www.jetbrains.com/idea/help/run-debug-configuration-compound.html987654321@ 开始更喜欢使用内置支持

Stéphane 的回答效果很好,但如果您需要其他功能,您可以安装 MultiRun Plugin,这将允许您执行与 Compound 相同的运行类型,但有更多花里胡哨。

https://plugins.jetbrains.com/plugin/7248

例如: 您可以使用“启动前”功能设置每次配置运行之间的延迟或一个接一个地运行一个配置。

有关如何设置的更多信息,请参见此处:https://github.com/rkhmelyuk/multirun/wiki/How-to-run-configurations-with-Multirun

【讨论】:

    【解决方案3】:

    2018 年 4 月更新:

    在“运行配置”组合框中,单击“编辑配置”。然后取消选中“仅限单个实例”选项。然后点击“应用”。

    然后您可以随时单击“运行”按钮,每次都启动一个新实例。

    IntelliJIDEA Ultimate 2018.1

    【讨论】:

      【解决方案4】:

      是的,您可以通过启动一个独立的 Java 应用程序来实现这一点,该应用程序将为每个微服务生成多个线程并启动它们。您可以在 [此处] 找到示例代码:https://github.com/rameez4ever/springboot-demo.git

      【讨论】:

        【解决方案5】:

        另一个减少歧义的注意事项: 过去在很多来源中称为Run Dashboard 现在称为Services

        【讨论】:

          【解决方案6】:

          是的。

          转到“运行配置”组合框,点击“编辑配置”。 然后取消选中“Single instance only”选项。然后点击“应用”

          对于 Eureka 服务器:

          1.在没有serve.port的情况下运行应用程序。

          2.在application.properties中添加server.port =9999。运行应用程序。

          现在浏览 Eureka 仪表板,您将运行 2 个实例。

          【讨论】:

            【解决方案7】:

            2018.3 开始,它被称为 allow parallel run,而不是 Single instance only

            【讨论】:

              【解决方案8】:
              1. 使用 mvn package 打包应用程序。
              2. 进入打包好的应用jar所在的文件夹
              3. 运行 java -jar [NAME_OF_THE_APPLICATION_JAR] --server.port=[DESIRED_PORT_NUMBER]

              1. 进入应用根目录
              2. 运行:mvn spring-boot:run -Drun.arguments="--server.port=[DESIRED_PORT_NUMBER]

              这样您就可以使用不同的端口号同时启动同一个微服务的多个实例。

              【讨论】:

                【解决方案9】:

                环境

                • IntelliJ IDEA 2021.1.3(终极版)

                步骤

                • 转到运行配置组合框。
                • 点击编辑配置...
                • 选中允许并行运行选项。
                • 点击确定

                【讨论】:

                  猜你喜欢
                  • 2016-03-15
                  • 2021-11-16
                  • 1970-01-01
                  • 2015-05-29
                  • 2015-04-09
                  • 1970-01-01
                  • 1970-01-01
                  • 2019-03-14
                  • 2022-11-23
                  相关资源
                  最近更新 更多