For more info I was using the URL.toURI method but it's only available in java 5 http://java.sun.com/javase/6/docs/api/java/net/URL.html#toURI()
"This method functions in the same way as new URI (this.toString()). Note, any URL instance that complies with RFC 2396 can be converted to a URI. However, some URLs that are not strictly in compliance can not be converted to a URI." On Nov 5, 2007 5:26 PM, Brett Porter <[EMAIL PROTECTED]> wrote: > cool, thanks > > > On 06/11/2007, at 11:52 AM, John Casey wrote: > > > I tried several different ideas (actually, I used the unit test to > > try out various strategies), and this is the best thing I could > > come up with at the time. Since spaces in file paths is about the > > only weird character I've heard about in connection with these > > sorts of problems, I figured it was an acceptable interim solution > > until someone else found a better way. > > > > Personally, I'm not convinced of the value of having a URI that > > references the super-POM anyway...or, for that matter, why we need > > URI's at all in this stuff. This commit was to correct changes > > Carlos put in place, so maybe he can speak to that. I was just > > trying to get the maven build back on its feet for those of us > > using Program Files to house their Maven instances. > > > > -john > > > > On Nov 5, 2007, at 7:31 PM, Brett Porter wrote: > > > >> Will this fall over on any other characters? ISTR there being a > >> standard way to get a proper file URL reference for these > >> occurrences, but it's slipping my mind right now... > >> > >> On 06/11/2007, at 8:40 AM, [EMAIL PROTECTED] wrote: > >> > >>> Author: jdcasey > >>> Date: Mon Nov 5 13:40:11 2007 > >>> New Revision: 592157 > >>> > >>> URL: http://svn.apache.org/viewvc?rev=592157&view=rev > >>> Log: > >>> [MNG-3272] Fixing URI construction for reading the super-POM in > >>> cases where maven is in a directory structure where there are > >>> spaces in the path. > >>> > >>> Added: > >>> maven/components/trunk/maven-project/src/test/java/org/apache/ > >>> maven/project/ProjectBuilderURITest.java (with props) > >>> Modified: > >>> maven/components/trunk/maven-project/src/main/java/org/apache/ > >>> maven/project/DefaultMavenProjectBuilder.java > >>> maven/components/trunk/maven-project/src/test/java/org/apache/ > >>> maven/project/AbstractMavenProjectTestCase.java > >>> > >>> Modified: maven/components/trunk/maven-project/src/main/java/org/ > >>> apache/maven/project/DefaultMavenProjectBuilder.java > >>> URL: http://svn.apache.org/viewvc/maven/components/trunk/maven- > >>> project/src/main/java/org/apache/maven/project/ > >>> DefaultMavenProjectBuilder.java? > >>> rev=592157&r1=592156&r2=592157&view=diff > >>> ==================================================================== > >>> ========== > >>> --- maven/components/trunk/maven-project/src/main/java/org/apache/ > >>> maven/project/DefaultMavenProjectBuilder.java (original) > >>> +++ maven/components/trunk/maven-project/src/main/java/org/apache/ > >>> maven/project/DefaultMavenProjectBuilder.java Mon Nov 5 13:40:11 > >>> 2007 > >>> @@ -1059,7 +1059,7 @@ > >>> URI uri = null; > >>> try > >>> { > >>> - uri = new URI( url.toString() ); > >>> + uri = new URI( url.toString().replaceAll( " ", "% > >>> 20" ) ); > >>> reader = ReaderFactory.newXmlReader( url.openStream > >>> () ); > >>> return readModel( projectId, uri, reader, strict ); > >>> } > >>> > >>> Modified: maven/components/trunk/maven-project/src/test/java/org/ > >>> apache/maven/project/AbstractMavenProjectTestCase.java > >>> URL: http://svn.apache.org/viewvc/maven/components/trunk/maven- > >>> project/src/test/java/org/apache/maven/project/ > >>> AbstractMavenProjectTestCase.java? > >>> rev=592157&r1=592156&r2=592157&view=diff > >>> ==================================================================== > >>> ========== > >>> --- maven/components/trunk/maven-project/src/test/java/org/apache/ > >>> maven/project/AbstractMavenProjectTestCase.java (original) > >>> +++ maven/components/trunk/maven-project/src/test/java/org/apache/ > >>> maven/project/AbstractMavenProjectTestCase.java Mon Nov 5 > >>> 13:40:11 2007 > >>> @@ -80,7 +80,7 @@ > >>> throw new FileNotFoundException( "Unable to find: " > >>> + resource ); > >>> } > >>> > >>> - return new File( new URI( resourceUrl.toString() ) ); > >>> + return new File( new URI( resourceUrl.toString > >>> ().replaceAll( " ", "%20" ) ) ); > >>> } > >>> > >>> protected ArtifactRepository getLocalRepository() > >>> > >>> Added: maven/components/trunk/maven-project/src/test/java/org/ > >>> apache/maven/project/ProjectBuilderURITest.java > >>> URL: http://svn.apache.org/viewvc/maven/components/trunk/maven- > >>> project/src/test/java/org/apache/maven/project/ > >>> ProjectBuilderURITest.java?rev=592157&view=auto > >>> ==================================================================== > >>> ========== > >>> --- maven/components/trunk/maven-project/src/test/java/org/apache/ > >>> maven/project/ProjectBuilderURITest.java (added) > >>> +++ maven/components/trunk/maven-project/src/test/java/org/apache/ > >>> maven/project/ProjectBuilderURITest.java Mon Nov 5 13:40:11 2007 > >>> @@ -0,0 +1,32 @@ > >>> +package org.apache.maven.project; > >>> + > >>> +import java.io.UnsupportedEncodingException; > >>> +import java.net.MalformedURLException; > >>> +import java.net.URI; > >>> +import java.net.URISyntaxException; > >>> +import java.net.URL; > >>> + > >>> +import junit.framework.TestCase; > >>> + > >>> +public class ProjectBuilderURITest > >>> + extends TestCase > >>> +{ > >>> + > >>> + /** > >>> + * MNG-3272: > >>> + * See [EMAIL PROTECTED] DefaultMavenProjectBuilder#readModel(String, > >>> URL, boolean)} > >>> + * for where this fix is implemented. > >>> + */ > >>> + public void > >>> testURL_to_URI_forSuperPom_WhenMavenHasSpaceInPath() > >>> + throws URISyntaxException, MalformedURLException, > >>> UnsupportedEncodingException > >>> + { > >>> + String url = "jar:file:/c:/Program Files/maven2.1/bin/../ > >>> lib/maven-project-2.1-SNAPSHOT.jar!/org/apache/maven/project/ > >>> pom-4.0.0.xml"; > >>> + System.out.println( "Original URL String:\n" + url ); > >>> + > >>> + URL urlInst = new URL( url ); > >>> + > >>> + URI uUri = new URI( urlInst.toExternalForm().replaceAll > >>> ( " ", "%20" ) ); > >>> + System.out.println( "URI result:\n" + uUri ); > >>> + } > >>> + > >>> +} > >>> > >>> Propchange: maven/components/trunk/maven-project/src/test/java/ > >>> org/apache/maven/project/ProjectBuilderURITest.java > >>> -------------------------------------------------------------------- > >>> ---------- > >>> svn:eol-style = native > >>> > >>> Propchange: maven/components/trunk/maven-project/src/test/java/ > >>> org/apache/maven/project/ProjectBuilderURITest.java > >>> -------------------------------------------------------------------- > >>> ---------- > >>> svn:keywords = "Author Date Id Revision" > >>> > >>> > >> > >> -- > >> Brett Porter - [EMAIL PROTECTED] > >> Blog: http://www.devzuz.org/blogs/bporter/ > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > > > > --- > > John Casey > > Committer and PMC Member, Apache Maven > > mail: jdcasey at commonjava dot org > > blog: http://www.ejlife.net/blogs/john > > rss: http://feeds.feedburner.com/ejlife/john > > > > > > -- > Brett Porter - [EMAIL PROTECTED] > Blog: http://www.devzuz.org/blogs/bporter/ > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- I could give you my word as a Spaniard. No good. I've known too many Spaniards. -- The Princess Bride --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
