Fix jar URI parsing in dev server setup

Apparently some jar:file:/... URIs have the file:/... part as the path
and some don't; all should have it as the scheme-specific part.

Change-Id: I1b0b6847f43306bcbaaf970b285ea5f9fbb29261
diff --git a/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java b/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java
index 7885f11..dec9b48 100644
--- a/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java
+++ b/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java
@@ -85,12 +85,13 @@
       throw new FileNotFoundException("Cannot find Gitiles source directory");
     }
     if ("jar".equals(u.getScheme())) {
-      int jarEntry = u.getPath().indexOf("!/");
+      String path = u.getSchemeSpecificPart();
+      int jarEntry = path.indexOf("!/");
       if (jarEntry < 0) {
         throw badSourceRoot(u);
       }
       try {
-        return findSourceRoot(new URI(u.getPath().substring(0, jarEntry)));
+        return findSourceRoot(new URI(path.substring(0, jarEntry)));
       } catch (URISyntaxException e) {
         throw badSourceRoot(u, e);
       }