Index: tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
===================================================================
--- tika-core/src/main/java/org/apache/tika/fork/ForkClient.java	(revision 1670092)
+++ tika-core/src/main/java/org/apache/tika/fork/ForkClient.java	(working copy)
@@ -24,7 +24,6 @@
 import java.io.InputStream;
 import java.io.NotSerializableException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.jar.JarEntry;
 import java.util.jar.JarOutputStream;
@@ -51,7 +50,7 @@
 
     private final InputStream error;
 
-    public ForkClient(ClassLoader loader, Object object, String java)
+    public ForkClient(ClassLoader loader, Object object, List<String> java)
             throws IOException, TikaException {
         boolean ok = false;
         try {
@@ -60,7 +59,7 @@
 
             ProcessBuilder builder = new ProcessBuilder();
             List<String> command = new ArrayList<String>();
-            command.addAll(Arrays.asList(java.split("\\s+")));
+            command.addAll(java);
             command.add("-jar");
             command.add(jar.getPath());
             builder.command(command);
Index: tika-core/src/main/java/org/apache/tika/fork/ForkParser.java
===================================================================
--- tika-core/src/main/java/org/apache/tika/fork/ForkParser.java	(revision 1670092)
+++ tika-core/src/main/java/org/apache/tika/fork/ForkParser.java	(working copy)
@@ -18,7 +18,9 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Arrays;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Queue;
 import java.util.Set;
 
@@ -43,7 +45,7 @@
     private final Parser parser;
 
     /** Java command line */
-    private String java = "java -Xmx32m";
+    private List<String> java = Arrays.asList("java", "-Xmx32m");
 
     /** Process pool size */
     private int poolSize = 5;
@@ -96,19 +98,19 @@
      *
      * @return java command line
      */
-    public String getJavaCommand() {
+    public List<String> getJavaCommand() {
         return java;
     }
 
     /**
      * Sets the command used to start the forked server process.
-     * The given command line is split on whitespace and the arguments
-     * "-jar" and "/path/to/bootstrap.jar" are appended to it when starting
-     * the process. The default setting is "java -Xmx32m".
+     * The arguments "-jar" and "/path/to/bootstrap.jar" are
+     * appended to the given command when starting the process.
+     * The default setting is {"java", "-Xmx32m"}.
      *
      * @param java java command line
      */
-    public void setJavaCommand(String java) {
+    public void setJavaCommand(List<String> java) {
         this.java = java;
     }
 
