【问题标题】:Running multiple launch configurations at once一次运行多个启动配置
【发布时间】:2010-10-29 15:19:57
【问题描述】:

我在 Eclipse 中有几个启动配置,每个配置启动相同的 Java 程序但参数不同。

现在是否可以一次运行所有这些(单击鼠标)而不是单独选择每个并启动它?

【问题讨论】:

    标签: java eclipse run-configuration


    【解决方案1】:

    编辑:根据this answer,自 Eclipse Oxygen (4.7.0) 以来,您可以为此使用 Launch Group 类型的运行配置。


    只需从 CDT 安装“C/C++ 开发工具”(参见 eclipse.org/cdt/downloads.php)——这个单个包就足够了,不需要其他 CDT 包。这不会干扰您的 Java 环境 ;-) 然后您就有了“启动组”,适用于任何类型的项目,包括 Java 项目。请看以下截图:

    您可以运行或调试项目(也可以是混合模式)、定义延迟时间等等。玩得开心!

    【讨论】:

    • 这对我来说真的不像是一个“单一包”。通过依赖,它还加载了整个 C/C++ 开发平台和 GDB。
    • 你是对的。乍一看,它看起来像一个单独的包,但正如您所说,存在依赖关系。但是,它不会以任何方式干扰您的 Eclipse 设置,所以应该没问题。
    • 如发现here,只有“C/C++远程启动”需要有“启动组”功能。或者,您可以投票给Eclipse Bug 39900,以便将此功能从 CDT 迁移到平台。
    • 我尝试依次运行多个 JUnit 插件测试,但在启动组完成后,我发现无法确定哪些测试失败,除非它们恰好在组的最后配置。非常不幸,否则这正是我所需要的。
    • 根据this answer 启动组配置不再需要CDT。
    【解决方案2】:

    我在 Eclipse 跟踪器上找到了这篇文章:Start multiple debug configurations at once

    虽然它谈到了多启动调试配置,但我认为它同样适用于运行配置。

    您可能希望在组启动中右键单击运行配置并进行配置。

    【讨论】:

    • 是的,这正是我所需要的。你知道如何把这个启动组的东西从 CDT 中拉到 java eclipse 中吗?
    • 不需要黑客攻击。只需从 CDT 安装“C/C++ 开发工具”(请参阅​​eclipse.org/cdt/downloads.php)——这个单一的包足以拥有“启动组”。适用于各种项目,包括 Java 项目。
    • 这对我来说真的不像一个“单一包”。通过依赖,它还加载了整个 C/C++ 开发平台和 GDB。
    • 如发现here,只有“C/C++ 远程启动”需要有“启动组”功能。或者,您可以投票给Eclipse Bug 39900,以便将此功能从 CDT 迁移到平台。
    • 根据this answer 启动组配置不再需要CDT。
    【解决方案3】:

    自 Eclipse Oxygen (4.7.0) 起,您可以为此使用 Launch Group 类型的运行配置。

    This short video shows how to use a Launch Group.

    【讨论】:

    • 如果有一种方法可以在单个控制台中从启动器共享(加入)控制台,那就太好了。
    • 好主意。请将其报告为功能请求(增强):bugs.eclipse.org/bugs/…
    【解决方案4】:

    Launch an Eclipse Run Configuration from ANT 中列出了另外两个选项。

    您可以在 Ant 中对它们进行分组,然后使用 Ant4Eclipse 调用它们。或者使用 eclipse remote control 从命令脚本调用多个启动配置。

    【讨论】:

      【解决方案5】:

      您可以创建一个单独的类,用不同的参数调用您的程序,然后运行它。

      public class YourClass {
          public static void main(String arg){
              System.out.println(arg);
          }
      }
      
      public class YourClassTester {
          public static void main(String[] args){
              YourClass.main("SomeArg1");
              YourClass.main("SomeArg2");
              YourClass.main("SomeArg3");
          }
      }
      

      【讨论】:

      • 这会强制在同一个虚拟机中执行所有进程,这可能是不可取的
      【解决方案6】:

      你不需要任何插件:

      1. 在 eclipse 中创建所有运行配置
      2. 选择整理收藏夹...
      3. 添加您的收藏夹,完成

      【讨论】:

      • 但这不会立即运行它们。
      猜你喜欢
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多