Bug 327579 - Support alternate source attachment layout for JRE detection
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
index c2ffa23..3dbd1a8 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
@@ -250,6 +250,22 @@
IPath result = checkForJ9LibrarySource(libLocation);
if (result != null)
return result;
+ // check for <lib>-src.jar pattern
+ IPath libName = new Path(libLocation.getName());
+ String extension = libName.getFileExtension();
+ String prefix = libName.removeFileExtension().lastSegment();
+ if (extension != null) {
+ IPath srcPath = new Path(libLocation.getPath());
+ srcPath = srcPath.removeLastSegments(1);
+ StringBuffer buf = new StringBuffer();
+ buf.append(prefix);
+ buf.append("-src."); //$NON-NLS-1$
+ buf.append(extension);
+ srcPath = srcPath.append(buf.toString());
+ if (srcPath.toFile().exists()) {
+ return srcPath;
+ }
+ }
setDefaultRootPath(""); //$NON-NLS-1$
return Path.EMPTY;
}