ListBuilder<String> command = new ListBuilder<>(new ArrayList<String>()); String javaExecutable = Paths.get(System.getProperty("java.home"), "bin", "java").toString(); command.add(javaExecutable) .add("-cp").add(Directories.LIB_DIR.toString() + "/*").add(RestartHelper.class.getName()) .add(createLockedTempFile(slaveIndex)); command.add(javaExecutable); List<String> defaultVmArgs = ArgsHolder.getDefaultVmArgs(); command.addAll(vmArgs.getVmArgs(defaultVmArgs)); command.add("-Dlog4j.configuration=file://" + Directories.ROOT_DIR + "/conf/log4j.xml"); command.add("-Dlog4j.configurationFile=file://" + Directories.ROOT_DIR + "/conf/log4j2.xml"); command.add("-cp").add(classpathBuilder.toString()); command.add(Slave.class.getName()); command.add(ArgsHolder.MASTER).add(ArgsHolder.getMasterHost() + ":" + ArgsHolder.getMasterPort()); command.add(ArgsHolder.SLAVE_INDEX).add(String.valueOf(slaveIndex)); command.add(ArgsHolder.UUID).add(nextUuid.toString()); command.add(ArgsHolder.CURRENT_PLUGIN).add(plugin); if (tempConfigDir != null) { command.add(ArgsHolder.TEMP_CONFIG_DIR).add(tempConfigDir.toString()); ArgsHolder.PluginParam pp = entry.getValue(); if (pp.getPath() != null) { command.add(ArgsHolder.ADD_PLUGIN).add(pp.getPath()); command.add(ArgsHolder.ADD_CONFIG).add(entry.getKey() + ":" + configFile);