I have a list of binaries written in Java, Ada, C, and Python and I want to execute them. How can I do that? Are there any JVM binding to those languages?
Asked
Active
Viewed 1.7k times
3 Answers
14
If all you want to do is execute existing applictions, you can use the exec
methods from the java.io.runtime
namespace.
Runtime rt = Runtime.getRuntime();
Process ps = rt.exec("path to my executable.exe");

Oded
- 489,969
- 99
- 883
- 1,009
-
For later versions it has moved to java.lang.Runtime. – leijon Dec 17 '14 at 10:22
3
Yes. Here is a link to a good blog article on how to do it: Running system commands in Java.
The gist of it is that you need to do the following:
// run the Unix "ps -ef" command
// using the Runtime exec method:
Process p = Runtime.getRuntime().exec("ps -ef");
You can pretty much put any command in there but the only gotcha that I have encountered in be aware of system environment variables like the PATH that you are running your JVM in.

Chris J
- 9,164
- 7
- 40
- 39
-
5Updated (2010) version of that article: http://www.devdaily.com/java/java-exec-processbuilder-process-1 – Pops May 04 '10 at 14:05
2
If you want to interact with the binary API's, use:
- Java Native Access (JNA): for loading and calling DLLs.
- Java Native Interface (JNI): for wrapping a C library in Java.

Frederik
- 14,156
- 10
- 45
- 53