I did not add anything. Just have a look at the following lines extracted from org.ofbiz.base.start.Start.java.
// tools jar
String reqTJ = System.getProperty("java.tools.jar.required");
if (reqTJ == null)
reqTJ = props.getProperty("java.tools.jar.required", "false");
requireToolsJar = "true".equalsIgnoreCase(reqTJ);
toolsJar = this.findSystemJar(props, javaVendor, javaVersion, "tools.jar", requireToolsJar);
It seems tha toolsJar is computed even if not required
A quick incomplete fix is to add the following lines:
if (toolsJar != null && toolsJar.length() > 0)
toolsJar = "\"" + toolsJar + '"';
but it should be protected when running on windows only and I do not know enough ofbiz to get the proper code.
Anyway, the final generic fix should use a native call to the W32 API GetShortPathName using this extra library, see http://johannburkard.de/software/nativecall/ . but this implies to use/distribute/install a win32 dll. Is this acceptable for ofbiz??