The problems are:
1. The executable filename is passed around as a URL. Windows filenames are valid URLs.
2. Typical windows user's home directory is c:\Documents and Settings\username. Maven puts the downloaded jar files under $HOME/.m2. So the classpath has several directories with space in their names. Splitting command line arguments using space generates invalid classpath.
3. Hadoop's TaskLog.captureOutAndError() generates command line for unix systems using bash.