try { IPath outputLocation =	p.getOutputLocation(); IResource outputFolder = p.getProject().getWorkspace().getRoot().findMember(outputLocation); if (outputFolder == null) { return false; } IPath osPath = outputFolder.getLocation(); String url = "file:/" + osPath.toOSString(); url = url.replace(File.separatorChar, '/'); config.setProgramArguments(new String[] {url}); } catch (JavaModelException e) { return false; }
	protected boolean doLaunch(IJavaProject p, String mode, IFile page, String[] classPath, ILauncher launcherProxy) {		try {			IVMRunner launcher= getJavaLauncher(p, mode);			if (launcher == null) {				showNoLauncherDialog();				return false;			}						VMRunnerConfiguration config= new VMRunnerConfiguration("org.eclipse.jdt.internal.ui.snippeteditor.ScrapbookMain", classPath);			ISourceLocator sl = new WorkspaceSourceLocator(p.getProject().getWorkspace());						VMRunnerResult result= launcher.run(config);			if (result != null) {				IDebugTarget dt = result.getDebugTarget();				IMarker magicBreakpoint = createMagicBreakpoint(getMainType(p));				fScrapbookToVMs.put(page, dt);				fVMsToScrapbooks.put(dt, page);				fVMsToBreakpoints.put(dt, magicBreakpoint);				dt.breakpointAdded(magicBreakpoint);				Launch newLaunch= new Launch(launcherProxy, mode, page, sl,result.getProcesses(), dt);				IDebugUIEventFilter filter = new ScrapbookEventFilter(newLaunch);				fVMsToFilters.put(dt, filter);				DebugUITools.addEventFilter(filter);				DebugPlugin.getDefault().getLaunchManager().registerLaunch(newLaunch);				return true;			}		} catch (CoreException e) {			JavaLaunchUtils.errorDialog(JavaPlugin.getActiveWorkbenchShell(), ERROR_NO_LAUNCHER_PREFIX, e.getStatus());		}		return false;	}