Kjøre et Java-program

JDT-feilsøkingskomponenten inkluderer funksjoner for starting av et Java-program ved hjelp av VM-installasjonen som er konfigurert av brukeren for et Java-prosjekt.  

Starte et kompilert Java-program

Java-programmer som er kompilert i et Java-prosjekt, kan kjøres ved at riktig IVMRunner hentes for Java-prosjektet og klassen kjøres etter navn. Kodesnutten nedenfor viser hvordan klassen MyClass i myJavaProject kan startes.

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

En annen måte å starte et Java-program på er å opprette en oppstartskonfigurasjon for Java-applikasjon og starte den. Snutten nedenfor viser hvordan klassen MyClass i myJavaProject kan startes med en enkel oppstartskonfigurasjon. Som standard bruker den resulterende kjørende applikasjonen JRE og klassebane knyttet til 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);