Ejecutar un programa Java

La API de JDT incluye servicios para lanzar programas Java utilizando la instalación de máquina virtual actualmente configurada por el usuario para un proyecto Java.  

Lanzar un programa Java compilado

Los programas Java que se han compilado en un proyecto Java pueden ejecutarse obteniendo el IVMRunner adecuado para el proyecto Java y ejecutando la clase por nombre. El fragmento de código siguiente muestra cómo puede lanzarse la clase MyClass de 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);
}
}
}

Otra forma de lanzar un programa Java es crear una configuración de lanzamiento de aplicación Java y lanzarla. El fragmento de código siguiente muestra cómo puede lanzarse la clase MyClass de myJavaProject utilizando una configuración de lanzamiento simple. Por omisión, la aplicación de ejecución resultante utiliza el JRE y la vía de acceso de clases asociados con 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);

Copyright IBM Corporation y otros 2000, 2002. Reservados todos los derechos.