Executar um programa Java

O componente de depuração JDT inclui funções para lançar um programa Java utilizando a instalação VM actualmente configurada pelo utilizador para um projecto Java.   

Lançamento de um programa Java compilado

Os programas Java que tiverem sido compilados num projecto Java podem ser executados obtendo o correcto IVMRunner para o projecto Java e executando a classe por nome. O fragmento de código seguinte mostra como lançar a classe MyClass no myJavaProject.

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

Outra forma de lançar um programa Java é criar a configuração de lançamento de um aplicação Java e lançá-la. O fragmento de código seguinte mostra como lançar a classe MyClass no myJavaProject com uma simples configuração de lançamento. Por predefinição, a aplicação em execução utilizam o JRE e o caminho de classes associados ao 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);