如何制作启动特定类的自定义Eclipse运行启动程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何制作启动特定类的自定义Eclipse运行启动程序?相关的知识,希望对你有一定的参考价值。

我正在开发一个eclipse插件。我想构建一个自定义运行启动程序,当我针对特定类使用它时将执行该启动程序。所以情况是,当我通过eclipse运行时环境运行插件时,我想运行一个已经在这个特定的eclipse运行时编写的特定类。所以我将使用自定义运行启动程序执行此类。目前,我不需要任何标签或自定义用户界面。我只需要在默认的java控制台中显示该特定类的输出,其中通常输出显示在eclipse中。在这方面我没有找到很棒的东西。因为我是新人,所以我更加困惑。请看看我到目前为止所尝试的内容。我没有使用org.eclipse.debug.core.launchConfigurationTypes扩展点。相反,我在这种情况下使用ILaunchShortcut。所以我试着调用那个特定的类,并使用下面的代码在启动方法中执行它。

    ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
    ILaunchConfigurationType type = manager.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
    ILaunchConfigurationWorkingCopy wc = type.newInstance(null, "SampleConfig");
    wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "Test");
    wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "Test1");
    ILaunchConfiguration config = wc.doSave(); 
    config.launch(ILaunchManager.RUN_MODE, null);

但问题是我无论如何都无法在我的代码中解析IJavaLaunchConfigurationConstants。所以我完全被困在这里。为方便起见,请参阅我的plugin.xml文件。

    <plugin>
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            class="launcher.LaunchShortcut"
            id="launcher.shortcut2"
            label="Launcher Test"
            modes="run">
            <contextualLaunch>
            <contextLabel mode="run" label="Run Launcher" />
            <enablement>
                <with
                    variable="selection">
                    <count
                        value="1">
                    </count>
                    <iterate>
            <adapt type="org.eclipse.core.resources.IResource">
                <and>
                    <test property="org.eclipse.core.resources.name" value="Test1.java"/>
                </and>
        </adapt>
          </iterate>
                </with>
            </enablement>
        </contextualLaunch>
      </shortcut>
   </extension> 
</plugin>

我现在该怎么做才能使这段代码成功运行?我需要你的建议和参考。谢谢。

答案

根据greg-449的评论,我在plugin.xml中添加了扩展名org.eclipse.jdt.launching.classpathProviders并且代码运行完美。

以上是关于如何制作启动特定类的自定义Eclipse运行启动程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在启动时自动在Eclipse中运行插件代码?

从 Eclipse 运行 SBT 任务

eclipse中如何设置启动参数

如何在 Windows 下以低优先级从 Eclipse 启动?

为自定义内核制作可启动的随身碟

springboot无法启动