Executing another application from Java

java, processbuilder

Solution

The `Runtime.getRuntime().exec()` approach is quite troublesome, as you'll find out shortly.

Take a look at the Apache Commons Exec project. It abstracts you way of a lot of the common problems associated with using the `Runtime.getRuntime().exec()` and `ProcessBuilder` API.

It's as simple as:

String line = "myCommand.exe";
CommandLine commandLine = CommandLine.parse(line);
DefaultExecutor executor = new DefaultExecutor();
executor.setExitValue(1);
int exitValue = executor.execute(commandLine);

Problem

I need to execute a batch file which executes another Java application. I don't care whether it executes successfully or not and I don't have to capture any errors. Is it possible to do this with ProcessBuilder? What are the consequences if I do not capture errors? However, my requirement is just to execute another Java application.

Original source