FULL PRODUCT VERSION :
java version " 1.7.0_25 "
Java(TM) SE Runtime Environment (build 1.7.0_25-b16)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
I think the word you meant is " ambiguous " ( " ambigous " is not a word); the new property name introduced in 7u25 should be " jdk.lang.Process.allowAmbiguousCommands " . This may seem nit-picky, but it caused me problems while searching the source code to review the exact behavior of this flag. It will cause problems for admins trying to reverse the backwards compatibility problems caused by the behavior changes.
This is related to bug 8014730
My recommendation is to start accepting the correctly spelled property name and continue accepting the misspelled name for backward compatibility. Documentation should be updated to encourage the correct name.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Try setting (correctly spelled) " jdk.lang.Process.allowAmbiguousCommands " property to true as a command line switch or in code.
EXPECTED VERSUS ACTUAL BEHAVIOR :
I expect that setting the " jdk.lang.Process.allowAmbiguousCommands " property to true would restore the previous (pre-7u21) Runtime.exec() behavior, as " jdk.lang.Process.allowAmbigousCommands " does.
The Runtime.exec() behavior does not change, as expected.
Also, the documentation clearly shows a property name that includes " ambigous " . The source code (ProcessImpl starting line 317) matches the documentation, misspelling the property name and local variable name.
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Use the misspelled property name.