Komponenten JDT Debug innehåller funktioner för start av Java-program med den VM-installation som för närvarande ar konfigurerats av användaren för ett Java-projekt.
Java-program som har kompilerats i ett Java-projekt kan köras genom att rätt IVMRunner för Java-projektet hämtas och klassen sedan körs efter namn. Följande kodstycke visar hur klassen MyClass i myJavaProject kan startas.
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);
}
}
}
Ett annat sätt att starta ett Java-program är att skapa en startkonfiguration i en Java-tillämpning och starta den. Följande stycke visar hur klassen MyClass i myJavaProject kan startas med en enkel startkonfiguration. Som standard använder den resulterande körande tillämpningen den JRE och classpath som är associerad med myJavaProject.
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);