private String debugConfig(VMRunnerConfiguration config) { StringBuilder sb = new StringBuilder("Launching:"); sb.append("\n Classpath: " + join(config.getClassPath())); sb.append("\n VMArgs: " + join(config.getVMArguments())); sb.append("\n Class: " + config.getClassToLaunch()); sb.append("\n Args: " + join(config.getProgramArguments())); sb.append("\n"); sb.append("java " + join(config.getVMArguments()) + " -classpath " + join(config.getClassPath(), ":") + " " + config.getClassToLaunch() + " " + join(config.getProgramArguments())); return sb.toString(); }
/** * Creates a new debug target for the given virtual machine and system process * that is connected on the specified port for the given launch. * * @param config run configuration used to launch the VM * @param launch launch to add the target to * @param port port the VM is connected to * @param process associated system process * @param vm JDI virtual machine * @return the {@link IDebugTarget} */ protected IDebugTarget createDebugTarget(VMRunnerConfiguration config, ILaunch launch, int port, IProcess process, VirtualMachine vm) { return JDIDebugModel.newDebugTarget(launch, vm, renderDebugTarget(config.getClassToLaunch(), port), process, true, false, config.isResumeOnStartup()); }
/** * Creates a new debug target for the given virtual machine and system process * that is connected on the specified port for the given launch. * * @param config run configuration used to launch the VM * @param launch launch to add the target to * @param port port the VM is connected to * @param process associated system process * @param vm JDI virtual machine * @return the {@link IDebugTarget} */ protected IDebugTarget createDebugTarget(VMRunnerConfiguration config, ILaunch launch, int port, IProcess process, VirtualMachine vm) { return JDIDebugModel.newDebugTarget(launch, vm, renderDebugTarget(config.getClassToLaunch(), port), process, true, false, config.isResumeOnStartup()); }
arguments.add(flattenClassPath(combinedClassPath)); arguments.add(configuration.getClassToLaunch()); final String[] programArguments= configuration.getProgramArguments(); for (int index= 0; index < programArguments.length; index++)
@Override public IStatus run(IProgressMonitor monitor) { monitor.subTask(MessageFormat.format(Messages.EmbeddedVMRunner_0, launch.getLaunchConfiguration().getName())); final DynamicURLClassLoader classLoader = DynamicURLClassLoader.newInstance( ClassLoader.getSystemClassLoader(), classPathURLs); try { ClassLoaderFinder.setPreferredClassLoader(classLoader); final String mainClass = configuration.getClassToLaunch(); final Class<?> clazz = classLoader.loadClass(mainClass); final Method mainMethod = clazz.getDeclaredMethod("main", String[].class); //$NON-NLS-1$ mainMethod.invoke(null, (Object) configuration.getProgramArguments()); return SARLEclipsePlugin.getDefault().createOkStatus(); } catch (Throwable exception) { return SARLEclipsePlugin.getDefault().createStatus(IStatus.ERROR, exception); } finally { ClassLoaderFinder.popPreferredClassLoader(); monitor.done(); } } };
arguments.add(convertClassPath(cp)); arguments.add(config.getClassToLaunch());
arguments.add(config.getModuleDescription() + "/" + config.getClassToLaunch()); //$NON-NLS-1$ } else { arguments.add(config.getClassToLaunch());
arguments.add(config.getModuleDescription() + "/" + config.getClassToLaunch()); //$NON-NLS-1$ } else { arguments.add(config.getClassToLaunch());
arguments.add(convertClassPath(combinedPath)); arguments.add(config.getClassToLaunch());
arguments.add(convertClassPath(combinedPath)); arguments.add(config.getClassToLaunch());
arguments.add(config.getClassToLaunch()); addArguments(config.getProgramArguments(), arguments);