Support Windows UNC paths with fat jars
Update `Launcher` and `JarFile` to correctly deal with Windows UNC paths. Fixes gh-1641
This commit is contained in:
parent
6009f41782
commit
6028d92a4e
|
|
@ -142,7 +142,7 @@ public abstract class Launcher {
|
|||
ProtectionDomain protectionDomain = getClass().getProtectionDomain();
|
||||
CodeSource codeSource = protectionDomain.getCodeSource();
|
||||
URI location = (codeSource == null ? null : codeSource.getLocation().toURI());
|
||||
String path = (location == null ? null : location.getPath());
|
||||
String path = (location == null ? null : location.getSchemeSpecificPart());
|
||||
if (path == null) {
|
||||
throw new IllegalStateException("Unable to determine code source archive");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -424,6 +424,7 @@ public class JarFile extends java.util.jar.JarFile implements Iterable<JarEntryD
|
|||
if (this.url == null) {
|
||||
Handler handler = new Handler(this);
|
||||
String file = this.rootFile.getFile().toURI() + this.pathFromRoot + "!/";
|
||||
file = file.replace("file:////", "file://"); // Fix UNC paths
|
||||
this.url = new URL("jar", "", -1, file, handler);
|
||||
}
|
||||
return this.url;
|
||||
|
|
|
|||
Loading…
Reference in New Issue