# HG changeset patch # User Jaroslav Tulach # Date 1401804321 -7200 # Node ID 8eba262bd8cd6f3a575d2793b09caf4a3fcbb9ee # Parent 81926ff1158751045c8bdf83b1367a33c94edcca Directly derive the parent root folder based on resource name rather than going through classpath diff -r 81926ff11587 -r 8eba262bd8cd launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/BaseHTTPLauncher.java --- a/launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/BaseHTTPLauncher.java Thu May 29 09:57:01 2014 +0200 +++ b/launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/BaseHTTPLauncher.java Tue Jun 03 16:05:21 2014 +0200 @@ -754,6 +754,15 @@ } } if (url.getProtocol().equals("file")) { + final String filePart = url.getFile(); + if (filePart.endsWith(res)) { + url = new URL( + url.getProtocol(), + url.getHost(), + url.getPort(), + filePart.substring(0, filePart.length() - res.length()) + ); + } String s = loader.compileFromClassPath(url); if (s != null) { Writer w = response.getWriter(); diff -r 81926ff11587 -r 8eba262bd8cd launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/CompileCP.java --- a/launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/CompileCP.java Thu May 29 09:57:01 2014 +0200 +++ b/launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/CompileCP.java Tue Jun 03 16:05:21 2014 +0200 @@ -65,10 +65,17 @@ } catch (URISyntaxException ex) { throw new IOException(ex); } - for (String s : System.getProperty("java.class.path").split(File.pathSeparator)) { - if (!f.getPath().startsWith(s)) { - continue; + String s = f.isDirectory() ? f.getPath() : null; + + for (String candidate : System.getProperty("java.class.path").split(File.pathSeparator)) { + if (s != null) { + break; } + if (f.getPath().startsWith(candidate)) { + s = candidate; + } + } + if (s != null) { File root = new File(s); List arr = new ArrayList<>(); List classes = new ArrayList<>();