The three `java.lang.Runtime.exec` methods that tokenize a command line to produce an array of string arguments are easily misused, sometimes with erroneous results. For example, on some operating systems, spaces are supported in filenames and are in common use.
The tokenization uses only whitespace characters, ignoring quote characters. It is error prone because quotes may appear in the string but are ignored. The implementation (on Windows) includes a heuristic for the executable argument that tries to re-parse the command line respecting quotes but it is undocumented. ------------- Commit messages: - 8276408: Deprecate Runtime.exec methods with a single string command line argument Changes: https://git.openjdk.java.net/jdk/pull/6233/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6233&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8276408 Stats: 21 lines in 1 file changed: 21 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/6233.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/6233/head:pull/6233 PR: https://git.openjdk.java.net/jdk/pull/6233