View | Details | Raw Unified | Return to bug 248466 | Differences between
and this patch

Collapse All | Expand All

(-)launching/org/eclipse/jdt/internal/launching/DefaultProjectClasspathEntry.java (-1 / +16 lines)
Lines 25-30 Link Here
25
import org.eclipse.jdt.core.IClasspathContainer;
25
import org.eclipse.jdt.core.IClasspathContainer;
26
import org.eclipse.jdt.core.IClasspathEntry;
26
import org.eclipse.jdt.core.IClasspathEntry;
27
import org.eclipse.jdt.core.IJavaProject;
27
import org.eclipse.jdt.core.IJavaProject;
28
import org.eclipse.jdt.core.IPackageFragmentRoot;
28
import org.eclipse.jdt.core.JavaCore;
29
import org.eclipse.jdt.core.JavaCore;
29
import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
30
import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
30
import org.eclipse.jdt.launching.IRuntimeContainerComparator;
31
import org.eclipse.jdt.launching.IRuntimeContainerComparator;
Lines 289-295 Link Here
289
						// fall through if not the special JRELIB variable
290
						// fall through if not the special JRELIB variable
290
					default:
291
					default:
291
						if (!expandedPath.contains(entry)) {
292
						if (!expandedPath.contains(entry)) {
292
							expandedPath.add(entry);
293
							// resolve project relative paths - @see bug 57732 & bug 248466
294
							if (entry.getEntryKind() != IClasspathEntry.CPE_SOURCE) {
295
								IPackageFragmentRoot[] roots = project.findPackageFragmentRoots(entry);
296
								for (int i = 0; i < roots.length; i++) {
297
									IPackageFragmentRoot root = roots[i];
298
									IRuntimeClasspathEntry r = JavaRuntime.newArchiveRuntimeClasspathEntry(root.getPath());
299
									r.setSourceAttachmentPath(entry.getSourceAttachmentPath());
300
									r.setSourceAttachmentRootPath(entry.getSourceAttachmentRootPath());
301
									if (!expandedPath.contains(r)) {
302
										expandedPath.add(r);
303
									}
304
								}
305
							} else {
306
								expandedPath.add(entry);
307
							}
293
						}
308
						}
294
						break;
309
						break;
295
				}
310
				}

Return to bug 248466