JDT API¿¡´Â ÇöÀç »ç¿ëÀÚ°¡ 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);