Java-programma's uitvoeren

De component JDT Debug biedt mogelijkheden voor het starten van een Java-programma met de VM die momenteel door de gebruiker is geconfigureerd voor een Java-project.   

Een gecompileerd Java-programma starten

Java-programma's die in een Java-project zijn gecompileerd, kunnen worden uitgevoerd door de juiste IVMRunner voor het Java-project op te halen en de klasse op naam uit te voeren. In het onderstaande codefragment kan de klasse MyClass in myJavaProject worden gestart.

   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);
         }
      }
   }

Een andere manier om een Java-programma te starten is om een startconfiguratie voor de Java-toepassing te maken en deze te starten. In het onderstaande codefragment kan de klasse MyClass in myJavaProject worden gestart met een eenvoudige startconfiguratie. De actieve toepassing gebruikt standaard de JRE en het klassenpad die voor myJavaProject zijn gedefinieerd.

   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);