Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 193833

Summary: Ant Build scripts fail if ECLIPSE_HOME contains an ilegal character and specified to run in Workspace JRE fail
Product: [Eclipse Project] Platform Reporter: Alex Eiser <alexe>
Component: AntAssignee: Platform-Ant-Inbox <platform-ant-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3    
Version: 3.3   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Alex Eiser CLA 2007-06-21 16:45:41 EDT
We have a few ant scripts which depend on ECLIPSE_HOME being defined. Some people define the environment path, others (like me) usually just specify that eclipse should run them in the JRE.

With eclipe 3.3 I had the following path as my eclipse_home "/Applications/Eclipse 3.3" using Eclipse 3.3 RC4. When running an ANT Build using the workspace JRE I get a Build Failed dialog, with no extra information to be displayed.

The Error log displays the following

java.lang.IllegalArgumentException
at java.net.URI.create(URI.java:842)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.launch.Locator.fromURI(Locator.java:162)
at org.apache.tools.ant.launch.Locator.getResourceSource(Locator.java:119)
at org.apache.tools.ant.launch.Locator.getClassSource(Locator.java:90)
at org.apache.tools.ant.Project.setAntLib(Project.java:313)
at org.apache.tools.ant.Project.initProperties(Project.java:309)
at org.apache.tools.ant.Project.init(Project.java:295)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:520)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:456)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.ant.core.AntRunner.run(AntRunner.java:377)
at org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchDelegate$1.run(AntLaunchDelegate.java:230)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.net.URISyntaxException: Illegal character in path at index 26: file:/Applications/eclipse 3.3/plugins/org.apache.ant_1.7.0.v200705232135/lib/ant.jar
at java.net.URI$Parser.fail(URI.java:2816)
at java.net.URI$Parser.checkChars(URI.java:2989)
at java.net.URI$Parser.parseHierarchical(URI.java:3073)
at java.net.URI$Parser.parse(URI.java:3021)
at java.net.URI.<init>(URI.java:578)
at java.net.URI.create(URI.java:840)
... 19 more

When using an environment file specifying eclipse_home, no problems.
Comment 1 Darin Swanson CLA 2007-06-21 17:48:17 EDT
Thank you for the bug report.
Unfortunately Eclipse 3.3 is going to ship with a bug in the Ant 1.7.0 release.
The space in the path is the problem on Mac and Linux

*** This bug has been marked as a duplicate of bug 187993 ***
Comment 2 Eclipse Webmaster CLA 2007-07-29 09:23:11 EDT
Changing OS from Mac OS to Mac OS X as per bug 185991