Die JDT-Debugkomponente umfasst Funktionen für das Starten eines Java-Programms, bei dem die VM-Installation verwendet wird, die durch den Benutzer für ein Java-Projekt gegenwärtig konfiguriert ist.
Java-Programme, die in einem Java-Projekt kompiliert worden sind, können ausgeführt werden, indem die jeweilige Klasse IVMRunner für das Java-Projekt abgerufen und die Klasse nach Namen ausgeführt wird. Das folgende Code-Snippet veranschaulicht, wie die Klasse MyClass in myJavaProject gestartet werden kann.
IVMInstall vmInstall = JavaRuntime.getVMInstall(myJavaProject); if (vmInstall == null) vmInstall = JavaRuntime.getDefaultVMInstall(); if (vmInstall != null) { IVMRunner vmRunner = vmInstall.getVMRunner(ILaunchManager.RUN_MODE); if (vmRunner != null) { String[] classPath = null; try { classPath = JavaRuntime.computeDefaultRuntimeClassPath(myJavaProject); } catch (CoreException e) { } if (classPath != null) { VMRunnerConfiguration vmConfig = new VMRunnerConfiguration("MyClass", classPath); ILaunch launch = new Launch(null, ILaunchManager.RUN_MODE, null); vmRunner.run(vmConfig, launch, null); } } }
Eine andere Möglichkeit zum Starten eines Java-Programms besteht darin, eine Startkonfiguration für eine Java-Anwendung zu erstellen und diese zu starten. Das folgende Code-Snippet veranschaulicht, wie die Klasse MyClass in myJavaProject gestartet werden kann. Die dann aktive Anwendung verwendet standardmäßig die JRE und den Klassenpfad, die myJavaProject zugeordnet sind.
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, "myJavaProject"); wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "myClass"); ILaunchConfiguration config = wc.doSave(); config.launch(ILaunchManager.RUN_MODE, null);