“JDT 调试”组件包含使用用户当前为 Java 项目配置的 VM 安装来启动 Java 程序的设施。
可以通过获取 Java 项目的适当 IVMRunner,并按名称来运行该类,从而运行在 Java 项目中已编译的 Java 程序。下列代码段说明如何启动 myJavaProject 中的类 MyClass。
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); } } }
启动 Java 程序的另一种方法是创建 Java 应用程序启动配置,然后启动它。以下代码段说明可以如何使用简单启动配置来启动 myJavaProject 内的类 MyClass。缺省情况下,获得的正在运行应用程序使用与 myJavaProject 相关联的 JRE 和类路径。
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);