SurefireBooter can initialize classloader with badly formed URLs
----------------------------------------------------------------

         Key: MSUREFIRE-148
         URL: http://jira.codehaus.org/browse/MSUREFIRE-148
     Project: Maven 2.x Surefire Plugin
        Type: Bug

    Reporter: Jeremy Boynes


In SurefireBooter.createClassLoader() the path is converted to a URL using
                File f = new File( url );
                urls.add( f.toURL() );

File.toURL does not perform URL encoding so the resulting URL may contain 
invalid characters. This is an issue on Windows machines where the default 
maven repository is in "C:\Documents and Settings\user\.m2\..." (the filename 
contains spaces). If a test accesses a resource that is loaded from a 
dependency jar then the URL returned to that test is malformed.

With JDK 1.4 this can be fixed using
                urls.add( f.toURI().toURL() );
as toURI() does encode the path. If surefire still needs to run under pre-1.4 
JVMs this would need to be explicitly encoded. I'm willing to supply a patch 
for that if wanted.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to