Java-ohjelman ajo

JDT-vianmäärityskomponentin avulla voi aloittaa Java-ohjelman käyttämällä näennäiskonetta, jonka käyttäjä on määrittänyt Java-projektille.  

Käännetyn Java-ohjelman aloitus

Java-projektissa käännetyt Java-ohjelmat voi ajaa hakemalla Java-projektille sopivan IVMRunner-rajapinnan ja ajamalla luokan nimeltä. Seuraava koodikatkelma kuvaa, miten projektin myJavaProject sisällä olevan luokan MyClass voi aloittaa.

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

Toinen tapa aloittaa Java-ohjelma on luoda Java-sovelluksen aloituskokoonpano ja aloittaa se. Seuraava katkelma kuvaa, miten projektin myJavaProject sisällä olevan luokan MyClass voi aloittaa yksinkertaisen aloituskokoonpanon avulla. Oletusarvon mukaan ajettava sovellus käyttää projektiin myJavaProject liitettyä JRE-ympäristöä ja luokkapolkua.

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