ShadowClassLoader didn't work on windows. The usual 'converting paths to

urls and back is an utter mystery' problems.
This commit is contained in:
Roel Spilker committed 2014-12-08 22:28:05 +01:00
1 parent 2e78a2e03f
commit 3765835181
2 files changed
+9 -7

No files matched your search

+1 -1
View File
@@ -143,7 +143,7 @@ public class Main {
out.println("------------------------------");
}
out.println("projectlombok.org " + Version.getFullVersion());
out.println("Copyright (C) 2009-2012 The Project Lombok Authors.");
out.println("Copyright (C) 2009-2015 The Project Lombok Authors.");
out.println("Run 'lombok license' to see the lombok license agreement.");
out.println();
out.println("Run lombok without any parameters to start the graphical installer.");
@@ -211,24 +211,26 @@ class ShadowClassLoader extends ClassLoader {
if (!location.isFile() || !location.canRead()) return null;
String absolutePath; {
File absoluteFile; {
try {
absolutePath = location.getCanonicalPath();
absoluteFile = location.getCanonicalFile();
} catch (Exception e) {
absolutePath = location.getAbsolutePath();
absoluteFile = location.getAbsoluteFile();
}
}
List<String> jarContents = getOrMakeJarListing(absolutePath);
List<String> jarContents = getOrMakeJarListing(absoluteFile.getAbsolutePath());
String absoluteUri = absoluteFile.toURI().toString();
try {
if (jarContents.contains(altName)) {
return new URI("jar:file:" + absolutePath + "!/" + altName).toURL();
return new URI("jar:" + absoluteUri + "!/" + altName).toURL();
}
} catch (Exception e) {}
try {
if (jarContents.contains(name)) {
return new URI("jar:file:" + absolutePath + "!/" + name).toURL();
return new URI("jar:" + absoluteUri + "!/" + name).toURL();
}
} catch(Exception e) {}