Problem with argument containing spaces --------------------------------------- Key: EXEC-54 URL: https://issues.apache.org/jira/browse/EXEC-54 Project: Commons Exec Issue Type: Bug Affects Versions: 1.1 Environment: Mac OsX 10.6.6, JVM 1.6.0 Reporter: Jeremias Rößler I am new to Commons Exec, so this could also be an error in usage, but... When I use the {{CommandLine}} class to add a argument that contains spaces, some quotes are added and are then part of the argument that is given. For example: When I call {{java "what version"}} I get {{java.lang.NoClassDefFoundError: what version}}, and when I call {{java "\"what version\""}} (which contains escaped quotes, that are part of the command line argument itself), I get {{java.lang.NoClassDefFoundError: "what version"}}. So the following test fails, because as you can see in the last line, Apache Exec is producing the latter version where it should have produced the first version: {code:java} @Test public void testArgumentQuoting() throws Exception { String argument = "what version"; DefaultExecutor executor = new DefaultExecutor(); DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler(); ByteArrayOutputStream out = new ByteArrayOutputStream(); PumpStreamHandler streamHandler = new PumpStreamHandler(out, out); executor.setStreamHandler(streamHandler); CommandLine cmdLine = new CommandLine("java"); cmdLine.addArgument(argument); executor.execute(cmdLine, resultHandler); resultHandler.waitFor(); String resultPattern = "Exception in thread \"main\" java\\.lang\\.NoClassDefFoundError: ([\\w \"]+)"; Pattern pattern = Pattern.compile(resultPattern); Matcher matcher = pattern.matcher(out.toString()); Assert.assertTrue(matcher.find()); // Note: Result should be and NOT <"what version">! Assert.assertEquals(argument, matcher.group(1)); } {code} Note that the same test passes if the space is removed from the argument. Please also note, that I am not trying to start an external Java process, but this is merely an example that I assume will work on every developers machine. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira