fix for ETCH-69: Compiler throws URISyntaxException if there are spaces in the classpath.

git-svn-id: https://svn.apache.org/repos/asf/incubator/etch/branches/sr-1.0.2.1@768704 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/src/main/java/etch/compiler/EtchCompiler.java b/compiler/src/main/java/etch/compiler/EtchCompiler.java
index 176a36e..b661ec9 100644
--- a/compiler/src/main/java/etch/compiler/EtchCompiler.java
+++ b/compiler/src/main/java/etch/compiler/EtchCompiler.java
@@ -22,6 +22,7 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.URI;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.ArrayList;
@@ -219,7 +220,10 @@
                 String s = u.toString();
                 if (s.startsWith( "file:" ) && s.endsWith( ".jar" ))
                 {
-                    File f = new File( u.toURI() );
+                    final String scheme = "file";
+					final String path = s.substring( scheme.length() + 1 );
+					// multi-arg constructor properly escapes paths
+					File f = new File( new URI( scheme, null, path, null ) );
                     if (f.isFile() && f.canRead())
                     {
                         s = f.getCanonicalPath();